first commit

This commit is contained in:
2026-03-19 22:54:29 +03:30
parent 1a178f39b7
commit 035bc6f74d
91 changed files with 3821 additions and 130 deletions
+4 -20
View File
@@ -1,24 +1,8 @@
"""
سرویس تعبیه‌سازی متن با Avalai API (OpenAI-compatible)
سرویس تعبیه‌سازی متن — از Adapter Pattern برای سوئیچ بین providers استفاده می‌کند
"""
import os
from typing import overload
from openai import OpenAI
from .config import load_rag_config, RAGConfig
def _get_avalai_client(config: RAGConfig | None) -> OpenAI:
"""ساخت کلاینت OpenAI برای Avalai API."""
cfg = config or load_rag_config()
emb = cfg.embedding
env_var = emb.api_key_env or "AVALAI_API_KEY"
api_key = os.environ.get(env_var)
base_url = emb.base_url or os.environ.get(
"AVALAI_BASE_URL", "https://api.avalai.ir/v1"
)
return OpenAI(api_key=api_key, base_url=base_url)
from .api_provider import get_embedding_client
from .config import RAGConfig, load_rag_config
def embed_texts(
@@ -43,7 +27,7 @@ def embed_texts(
return []
cfg = config or load_rag_config()
client = _get_avalai_client(cfg)
client = get_embedding_client(cfg)
model_name = model or cfg.embedding.model
batch_size = cfg.embedding.batch_size