MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / build_embedding_provider

Function build_embedding_provider

paperflow/providers/embedding.py:163–198  ·  view source on GitHub ↗

Construct the configured embedding provider, falling back to hash on missing deps.

(config: Optional[ProviderConfig] = None)

Source from the content-addressed store, hash-verified

161
162
163def build_embedding_provider(config: Optional[ProviderConfig] = None) -> EmbeddingProvider:
164 """Construct the configured embedding provider, falling back to hash on missing deps."""
165
166 cfg = config or load_provider_config()
167
168 if cfg.embed_provider == "openai":
169 api_key = os.environ.get("OPENAI_API_KEY", "")
170 if _is_placeholder(api_key):
171 return HashEmbedding(dimensions=cfg.embed_dimensions)
172 base_url = os.environ.get("OPENAI_BASE_URL") or None
173 timeout = float(os.environ.get("OPENAI_API_TIMEOUT", "60") or 60)
174 return OpenAIEmbedding(
175 model=cfg.embed_model,
176 dimensions=cfg.embed_dimensions,
177 api_key=api_key,
178 base_url=base_url,
179 timeout=timeout,
180 )
181
182 if cfg.embed_provider == "sentence_transformers":
183 try:
184 return SentenceTransformersEmbedding(model=cfg.embed_model, dimensions=cfg.embed_dimensions)
185 except ImportError:
186 return HashEmbedding(dimensions=cfg.embed_dimensions)
187
188 if cfg.embed_provider == "ollama":
189 base_url = os.environ.get("OLLAMA_BASE_URL", "http://localhost:11434")
190 timeout = float(os.environ.get("OLLAMA_API_TIMEOUT", "60") or 60)
191 return OllamaEmbedding(
192 model=cfg.embed_model,
193 dimensions=cfg.embed_dimensions,
194 base_url=base_url,
195 timeout=timeout,
196 )
197
198 return HashEmbedding(dimensions=cfg.embed_dimensions)
199
200
201__all__ = [

Callers 6

test_providerFunction · 0.90
embed_nodes_for_userFunction · 0.90
vector_search_nodesFunction · 0.90
demoFunction · 0.85

Calls 7

load_provider_configFunction · 0.85
HashEmbeddingClass · 0.85
OpenAIEmbeddingClass · 0.85
OllamaEmbeddingClass · 0.85
getMethod · 0.80
_is_placeholderFunction · 0.70