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:
jinhao.song
2026-08-06 19:28:02 +08:00
co-authored by Claude
parent e50f109021
commit 5a5c21e01b
5 changed files with 121 additions and 11 deletions
+4
View File
@@ -2,9 +2,11 @@
from .embedder import (
OpenRouterEmbedder,
OrcaRouterEmbedder,
LocalEmbedder,
get_embedder,
is_openrouter_available,
is_orcarouter_available,
is_local_embedding_configured,
is_semantic_search_available,
)
@@ -13,9 +15,11 @@ from .processor import DocumentProcessor
__all__ = [
'OpenRouterEmbedder',
'OrcaRouterEmbedder',
'LocalEmbedder',
'get_embedder',
'is_openrouter_available',
'is_orcarouter_available',
'is_local_embedding_configured',
'is_semantic_search_available',
'VectorStore',