修复嵌入服务,使用自定义 ZhipuAI 嵌入实现
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 13m44s

This commit is contained in:
2026-04-29 22:08:47 +08:00
parent 8bc5f3cbb5
commit aad7cb9829
2 changed files with 23 additions and 3 deletions

View File

@@ -120,14 +120,31 @@ class ZhipuEmbeddingProvider(BaseServiceProvider[Embeddings]):
Embeddings: LangChain 兼容的嵌入实例
"""
if self._service_instance is None:
from langchain_zhipu import ZhipuAIEmbeddings
self._service_instance = ZhipuAIEmbeddings(
self._service_instance = _SimpleZhipuAIEmbeddings(
model=self._model,
api_key=ZHIPUAI_API_KEY
)
return self._service_instance
class _SimpleZhipuAIEmbeddings(Embeddings):
"""
简单的智谱 AI 嵌入实现,直接用 zhipuai 库
"""
def __init__(self, model: str, api_key: str):
from zhipuai import ZhipuAI
self.model = model
self.client = ZhipuAI(api_key=api_key)
def embed_documents(self, texts: list[str]) -> list[list[float]]:
response = self.client.embeddings.create(model=self.model, input=texts)
return [item.embedding for item in response.data]
def embed_query(self, text: str) -> list[float]:
response = self.client.embeddings.create(model=self.model, input=[text])
return response.data[0].embedding
class LocalLlamaCppEmbedder:
"""
通过 OpenAI 兼容 API 封装 llama.cpp 嵌入服务