feat: add support for customizable embedding model in OpenAI integration

This commit introduces the ability to specify an embedding model when using OpenAI's embedding API. It updates the configuration files and the embedding component to accept a user-defined embedding model. This enhancement provides flexibility in selecting different models for various use cases.
This commit is contained in:
rajandangi 2024-05-02 22:53:27 +09:30
parent 9d0d614706
commit dacca69003
4 changed files with 10 additions and 1 deletions

View File

@ -56,7 +56,10 @@ class EmbeddingComponent:
) from e
openai_settings = settings.openai.api_key
self.embedding_model = OpenAIEmbedding(api_key=openai_settings)
self.embedding_model = OpenAIEmbedding(
api_key=openai_settings,
model=openai_settings.embedding_model,
)
case "ollama":
try:
from llama_index.embeddings.ollama import ( # type: ignore

View File

@ -201,6 +201,10 @@ class OpenAISettings(BaseModel):
description="Base URL of OpenAI API. Example: 'https://api.openai.com/v1'.",
)
api_key: str
embedding_model: str = Field(
"text-embedding-ada-002",
description="OpenAI Model to use. Example: 'text-embedding-ada-002'.",
)
model: str = Field(
"gpt-3.5-turbo",
description="OpenAI Model to use. Example: 'gpt-4'.",

View File

@ -3,6 +3,7 @@ server:
llm:
mode: openai
embedding_model: text-embedding-ada-002
embedding:
mode: openai

View File

@ -95,6 +95,7 @@ sagemaker:
openai:
api_key: ${OPENAI_API_KEY:}
model: gpt-3.5-turbo
embedding_model: text-embedding-ada-002
ollama:
llm_model: llama2