修复嵌入服务,使用自定义 ZhipuAI 嵌入实现
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 13m44s
All checks were successful
构建并部署 AI Agent 服务 / deploy (push) Successful in 13m44s
This commit is contained in:
@@ -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 嵌入服务
|
||||
|
||||
Reference in New Issue
Block a user