@@ -52,6 +52,11 @@ class EmbedderConfig(BaseModel):
52
52
embedding_azure_api_version : Optional [str ] = Field (
53
53
description = "Azure API version" , default = None
54
54
)
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
+ )
55
60
56
61
def get_huggingface_embedder (self , embedding_kwargs : dict ) -> "BaseEmbeddingEncoder" :
57
62
from unstructured_ingest .embed .huggingface import (
@@ -66,7 +71,16 @@ def get_huggingface_embedder(self, embedding_kwargs: dict) -> "BaseEmbeddingEnco
66
71
def get_openai_embedder (self , embedding_kwargs : dict ) -> "BaseEmbeddingEncoder" :
67
72
from unstructured_ingest .embed .openai import OpenAIEmbeddingConfig , OpenAIEmbeddingEncoder
68
73
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
+ )
70
84
71
85
def get_azure_openai_embedder (self , embedding_kwargs : dict ) -> "BaseEmbeddingEncoder" :
72
86
from unstructured_ingest .embed .azure_openai import (
0 commit comments