Embedder 向量嵌入模型¶
Embeddings(向量嵌入模型)负责将文本、图像等非结构化数据映射为高维向量表示,使其语义可被计算和比较,是知识检索系统中实现语义搜索的核心组件。
以下是一些常用组件的用法介绍:
更多组件使用说明详见 Langchain Embedding models。
HuggingFaceEmbeddings¶
安装依赖¶
pip install --upgrade --quiet langchain langchain-huggingface sentence_transformers
使用¶
- 创建
HuggingFaceEmbeddings对象
from langchain_huggingface import HuggingFaceEmbeddings
# 指定要使用的 HuggingFace 模型名称
model_name = "BAAI/bge-small-en-v1.5"
# 指定模型的加载参数,这里设置为在CPU上运行
model_kwargs = {"device": "cpu"}
# 指定编码参数,这里设置为对输出的向量进行归一化
encode_kwargs = {"normalize_embeddings": True}
# 创建 HuggingFaceEmbeddings 向量化器对象
embedder = HuggingFaceEmbeddings(
model_name=model_name,
model_kwargs=model_kwargs,
encode_kwargs=encode_kwargs
)
- 基于此 embedder 对象构造
LangchainKnowledge对象
from trpc_agent_sdk.server.knowledge.langchain_knowledge import LangchainKnowledge
rag = LangchainKnowledge(
prompt_template=rag_prompt,
document_loader=text_loader,
document_transformer=text_splitter,
embedder=embedder, # 传入构建好的 Embedder
vectorstore=vectorstore,
)
参考文档¶
HunyuanEmbeddings¶
安装依赖¶
pip install hunyuan langchain-community
pip install "tencentcloud-sdk-python>=3.0.1139"
使用¶
- 创建
HunyuanEmbeddings对象
from langchain_community.embeddings import HunyuanEmbeddings
embedder = HunyuanEmbeddings(
hunyuan_secret_id="xxx", # Hunyuan Secret ID, 或通过 HUNYUAN_SECRET_ID 环境变量设置
hunyuan_secret_key="xxx", # Hunyuan Secret Key,或通过 HUNYUAN_SECRET_KEY 环境变量设置
region="ap-guangzhou" # 混元服务所在地域
)
- 基于此 embedder 对象构造
LangchainKnowledge对象
rag = LangchainKnowledge(
...,
embedder=embedder,
...,
)