set the embedding model in an environment variable
This commit is contained in:
parent
a1ac6f0429
commit
990662b94f
@ -30,4 +30,8 @@ REASONER_MODEL=
|
||||
|
||||
# The LLM you want to use for the primary agent/coder.
|
||||
# Example: gpt-4o-mini
|
||||
PRIMARY_MODEL=
|
||||
PRIMARY_MODEL=
|
||||
|
||||
# Embedding model you want to use (nomic-embed-text:latest, text-embedding-3-small)
|
||||
# Example: nomic-embed-text:latest
|
||||
EMBEDDING_MODEL=
|
||||
@ -22,6 +22,8 @@ base_url = os.getenv('BASE_URL', 'https://api.openai.com/v1')
|
||||
api_key = os.getenv('LLM_API_KEY', 'no-llm-api-key-provided')
|
||||
is_ollama = "localhost" in base_url.lower()
|
||||
|
||||
embedding_model = os.getenv('EMBEDDING_MODEL', 'text-embedding-3-small')
|
||||
|
||||
openai_client=None
|
||||
|
||||
if is_ollama:
|
||||
@ -115,7 +117,7 @@ async def get_embedding(text: str) -> List[float]:
|
||||
"""Get embedding vector from OpenAI."""
|
||||
try:
|
||||
response = await openai_client.embeddings.create(
|
||||
model= "nomic-embed-text:latest" if is_ollama else "text-embedding-3-small",
|
||||
model= embedding_model,
|
||||
input=text
|
||||
)
|
||||
return response.data[0].embedding
|
||||
|
||||
@ -10,7 +10,7 @@ create table site_pages (
|
||||
summary varchar not null,
|
||||
content text not null, -- Added content column
|
||||
metadata jsonb not null default '{}'::jsonb, -- Added metadata column
|
||||
embedding vector(768), -- OpenAI embeddings are 1536 dimensions
|
||||
embedding vector(768), -- Ollama nomic-embed-text embeddings are 768 dimensions
|
||||
created_at timestamp with time zone default timezone('utc'::text, now()) not null,
|
||||
|
||||
-- Add a unique constraint to prevent duplicate chunks for the same URL
|
||||
|
||||
@ -19,6 +19,7 @@ llm = os.getenv('PRIMARY_MODEL', 'gpt-4o-mini')
|
||||
base_url = os.getenv('BASE_URL', 'https://api.openai.com/v1')
|
||||
api_key = os.getenv('LLM_API_KEY', 'no-llm-api-key-provided')
|
||||
model = OpenAIModel(llm, base_url=base_url, api_key=api_key)
|
||||
embedding_model = os.getenv('EMBEDDING_MODEL', 'text-embedding-3-small')
|
||||
|
||||
logfire.configure(send_to_logfire='if-token-present')
|
||||
|
||||
@ -90,7 +91,7 @@ async def get_embedding(text: str, openai_client: AsyncOpenAI) -> List[float]:
|
||||
"""Get embedding vector from OpenAI."""
|
||||
try:
|
||||
response = await openai_client.embeddings.create(
|
||||
model= "nomic-embed-text:latest" if is_ollama else "text-embedding-3-small",
|
||||
model= embedding_model,
|
||||
input=text
|
||||
)
|
||||
return response.data[0].embedding
|
||||
|
||||
Loading…
Reference in New Issue
Block a user