在数据保密要求较高的场景下,当数据不允许传输到外网时,可以选择使用 Hugging Face 本地嵌入模型。
pip install -U langchain-huggingface sentence-transformers
from langchain_huggingface import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings()
query_vector = embeddings.embed_query("你好,我是xxx,我喜欢打篮球")
print(query_vector)
print(len(query_vector))
from langchain_huggingface import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(
model_name="neuml/pubmedbert-base-embeddings",
cache_folder="./embeddings/"
)
query_vector = embeddings.embed_query("你好,我是慕小课,我喜欢打篮球")
print(query_vector)
print(len(query_vector))
配置完成后,可以像普通文本嵌入模型一样使用,无需额外设置。
https://yibuapi.com
创建API令牌,一键直达API令牌创建页面部分模型的文件比较大,如果只是短期内调试,可以考虑使用 HuggingFace 提供的远程嵌入模型,首先安装对应的依赖:
pip install huggingface_hub
然后在 Hugging Face 官网(https://huggingface.co/)的 setting 中添加对应的访问秘钥,并配置到 .env 文件中:
HUGGINGFACEHUB_API_TOKEN=xxx
接下来就可以使用 Hugging Face 提供的推理服务,这样在本地服务器上就无需配置对应的文本嵌入模型了。
import dotenv
from langchain_huggingface import HuggingFaceEndpointEmbeddings
dotenv.load_dotenv()
embeddings = HuggingFaceEndpointEmbeddings(model="sentence-transformers/all-MiniLM-L12-v2")
query_vector = embeddings.embed_query("你好,我是xxx,我喜欢打篮球")
print(query_vector)
print(len(query_vector))
相关资料信息:
如果想对接国内的文本嵌入模型提供商,可以考虑百度千帆,是目前国内生态最好,支持的模型最多(Embedding-V1、bge-large-zh、bge-large-en、tao-8k),速度最快的 AI 应用开发平台。
由于目前百度千帆并没有单独封装到独立的包,可以直接从 langchain_community 中导入,使用示例如下:
import dotenv
from langchain_community.embeddings.baidu_qianfan_endpoint import QianfanEmbeddingsEndpoint
dotenv.load_dotenv()
embeddings = QianfanEmbeddingsEndpoint()
query_vector = embeddings.embed_query("我叫xxx,我喜欢打篮球游泳")
print(query_vector)
print(len(query_vector))
相关资料信息: