feat: add OrcaRouter embedder for hosted semantic search
Add a named OrcaRouterEmbedder mirroring the existing OpenRouterEmbedder: a production AI gateway that proxies 200+ models on one OpenAI-compatible endpoint (https://api.orcarouter.ai/v1). Selecting it is a one-line switch: set ORCAROUTER_API_KEY instead of OPENROUTER_API_KEY. - get_embedder() prefers OrcaRouter when ORCAROUTER_API_KEY is present - is_semantic_search_available() now also enables on OrcaRouter keys - document the new option in README (Alternatif 3) and .env.example Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: jinhao.song <jinhao.song@myflashcloud.com>
This commit is contained in:
+12
-2
@@ -266,14 +266,24 @@ from bedesten_mcp_module.models import (
|
||||
from bedesten_mcp_module.enums import BirimAdiEnum
|
||||
|
||||
# Semantic Search Module Imports (enabled if any embedding provider is configured)
|
||||
from semantic_search.embedder import is_semantic_search_available, is_local_embedding_configured
|
||||
from semantic_search.embedder import (
|
||||
is_semantic_search_available,
|
||||
is_local_embedding_configured,
|
||||
is_openrouter_available,
|
||||
is_orcarouter_available,
|
||||
)
|
||||
SEMANTIC_SEARCH_AVAILABLE = is_semantic_search_available()
|
||||
|
||||
if SEMANTIC_SEARCH_AVAILABLE:
|
||||
from semantic_search.embedder import get_embedder
|
||||
from semantic_search.vector_store import VectorStore
|
||||
from semantic_search.processor import DocumentProcessor
|
||||
provider = "local" if is_local_embedding_configured() else "openrouter"
|
||||
if is_local_embedding_configured():
|
||||
provider = "local"
|
||||
elif is_orcarouter_available():
|
||||
provider = "orcarouter"
|
||||
elif is_openrouter_available():
|
||||
provider = "openrouter"
|
||||
logger.info(f"Semantic search enabled (provider={provider})")
|
||||
else:
|
||||
logger.info("Semantic search disabled (no embedding provider configured)")
|
||||
|
||||
Reference in New Issue
Block a user