Allow parameterizing OpenAI embeddings component (api_base, key, model) (#1920)

* Allow parameterizing OpenAI embeddings component (api_base, key, model)

* Update settings

* Update description
This commit is contained in:
Yevhenii Semendiak 2024-05-17 10:52:50 +03:00 committed by GitHub
parent 45df99feb7
commit 3b3e96ad6c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 2 deletions

View File

@ -55,8 +55,17 @@ class EmbeddingComponent:
"OpenAI dependencies not found, install with `poetry install --extras embeddings-openai`" "OpenAI dependencies not found, install with `poetry install --extras embeddings-openai`"
) from e ) from e
openai_settings = settings.openai.api_key api_base = (
self.embedding_model = OpenAIEmbedding(api_key=openai_settings) settings.openai.embedding_api_base or settings.openai.api_base
)
api_key = settings.openai.embedding_api_key or settings.openai.api_key
model = settings.openai.embedding_model
self.embedding_model = OpenAIEmbedding(
api_base=api_base,
api_key=api_key,
model=model,
)
case "ollama": case "ollama":
try: try:
from llama_index.embeddings.ollama import ( # type: ignore from llama_index.embeddings.ollama import ( # type: ignore

View File

@ -209,6 +209,15 @@ class OpenAISettings(BaseModel):
120.0, 120.0,
description="Time elapsed until openailike server times out the request. Default is 120s. Format is float. ", description="Time elapsed until openailike server times out the request. Default is 120s. Format is float. ",
) )
embedding_api_base: str = Field(
None,
description="Base URL of OpenAI API. Example: 'https://api.openai.com/v1'.",
)
embedding_api_key: str
embedding_model: str = Field(
"text-embedding-ada-002",
description="OpenAI embedding Model to use. Example: 'text-embedding-3-large'.",
)
class OllamaSettings(BaseModel): class OllamaSettings(BaseModel):

View File

@ -95,6 +95,7 @@ sagemaker:
openai: openai:
api_key: ${OPENAI_API_KEY:} api_key: ${OPENAI_API_KEY:}
model: gpt-3.5-turbo model: gpt-3.5-turbo
embedding_api_key: ${OPENAI_API_KEY:}
ollama: ollama:
llm_model: llama2 llm_model: llama2