@@ -52,6 +52,11 @@ class EmbedderConfig(BaseModel):
5252 embedding_azure_api_version : Optional [str ] = Field (
5353 description = "Azure API version" , default = None
5454 )
55+ embedding_openai_endpoint : Optional [str ] = Field (
56+ default = None ,
57+ description = "Your custom OpenAI base url, "
58+ "e.g. `https://custom-openai-deployment.com/`" ,
59+ )
5560
5661 def get_huggingface_embedder (self , embedding_kwargs : dict ) -> "BaseEmbeddingEncoder" :
5762 from unstructured_ingest .embed .huggingface import (
@@ -66,7 +71,16 @@ def get_huggingface_embedder(self, embedding_kwargs: dict) -> "BaseEmbeddingEnco
6671 def get_openai_embedder (self , embedding_kwargs : dict ) -> "BaseEmbeddingEncoder" :
6772 from unstructured_ingest .embed .openai import OpenAIEmbeddingConfig , OpenAIEmbeddingEncoder
6873
69- return OpenAIEmbeddingEncoder (config = OpenAIEmbeddingConfig .model_validate (embedding_kwargs ))
74+ config_kwargs = {
75+ "api_key" : self .embedding_api_key ,
76+ "base_url" : self .embedding_openai_endpoint ,
77+ }
78+ if model_name := self .embedding_model_name :
79+ config_kwargs ["model_name" ] = model_name
80+
81+ return OpenAIEmbeddingEncoder (
82+ config = OpenAIEmbeddingConfig .model_validate (config_kwargs )
83+ )
7084
7185 def get_azure_openai_embedder (self , embedding_kwargs : dict ) -> "BaseEmbeddingEncoder" :
7286 from unstructured_ingest .embed .azure_openai import (
0 commit comments