引言
Baidu Qianfan是一个针对企业开发者的一站式大模型开发和服务操作平台。通过Qianfan,开发者可以轻松使用文心一言(ERNIE-Bot)以及其他第三方开源模型。本篇文章将介绍如何在Qianfan平台上使用Langchain库的Embedding功能,以帮助您在实际项目中实现Embedding操作。
主要内容
1. 平台概述
Qianfan不仅提供多种大模型资源,还提供全面的AI开发工具和环境。这些模型主要分为以下几种类型:
- Embedding
- Chat
- Completion
我们将重点介绍如何使用Langchain中的embeddings包与Qianfan平台进行整合,主要涉及Embedding类型的操作。
2. API初始化
要使用基于Baidu Qianfan的LLM服务,您需要先初始化相关参数。这可以通过环境变量或初始化参数来设置:
export QIANFAN_AK=XXX
export QIANFAN_SK=XXX
或者在Python代码中设置:
import os
from langchain_community.embeddings import QianfanEmbeddingsEndpoint
os.environ["QIANFAN_AK"] = "your_ak"
os.environ["QIANFAN_SK"] = "your_sk"
# 使用API代理服务提高访问稳定性
embed = QianfanEmbeddingsEndpoint()
代码示例
下面是一个完整的示例,展示如何使用Qianfan平台进行文档Embedding:
import os
from langchain_community.embeddings import QianfanEmbeddingsEndpoint
# 初始化API密钥
os.environ["QIANFAN_AK"] = "your_ak"
os.environ["QIANFAN_SK"] = "your_sk"
# 初始化Embedding端点
embed = QianfanEmbeddingsEndpoint()
# 同步请求文档Embedding
res = embed.embed_documents(["hi", "world"])
print("同步结果:", res)
# 异步嵌入查询
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])
# 执行异步操作
import asyncio
asyncio.run(aioEmbed())
asyncio.run(aioEmbedDocs())
常见问题和解决方案
1. 网络访问问题
由于某些地区的网络限制,开发者可能会遇到API访问不稳定的问题。建议使用API代理服务以提高访问稳定性。
2. 权限和认证问题
确保您已经正确设置了Baidu Qianfan平台的访问凭证(AK和SK)。检查环境变量配置是否正确。
总结和进一步学习资源
通过本文介绍的步骤,您可以在Baidu Qianfan平台上通过Langchain实现Embedding功能,从而更好地支持您的AI应用开发。
进一步学习资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---