feat: 后端基础设施 — LLM工厂/Embedding工厂/验证客户端/会话持久化
- backend/llm.py: 支持 OpenAI 兼容 API 与 Ollama 本地模型切换 - backend/embeddings.py: 支持云端与本地嵌入模型(sentence-transformers) - backend/validation.py: FastAPI 验证服务 HTTP 客户端 - backend/session.py: JSON 文件会话管理(创建/加载/保存/列表/删除) - .env.example: 完整环境变量模板 - requirements.txt: 所有 Python 依赖声明
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
"""嵌入模型工厂:支持本地 sentence-transformers 和云端 API。"""
|
||||
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
|
||||
def get_embeddings():
|
||||
backend = os.getenv("EMBED_BACKEND", "local")
|
||||
if backend == "cloud":
|
||||
from langchain_openai import OpenAIEmbeddings
|
||||
|
||||
return OpenAIEmbeddings(
|
||||
model=os.getenv("EMBED_CLOUD_MODEL", "text-embedding-3-small"),
|
||||
api_key=os.getenv("OPENAI_API_KEY"),
|
||||
base_url=os.getenv("OPENAI_BASE_URL", "https://api.openai.com/v1"),
|
||||
)
|
||||
else:
|
||||
try:
|
||||
from langchain_huggingface import HuggingFaceEmbeddings
|
||||
except ImportError:
|
||||
from langchain_community.embeddings import HuggingFaceEmbeddings
|
||||
|
||||
model = os.getenv("LOCAL_EMBED_MODEL", "Qwen/Qwen3-Embedding-0.6B")
|
||||
return HuggingFaceEmbeddings(model_name=model)
|
||||
Reference in New Issue
Block a user