探索 Qianfan 平台:使用 Langchain 进行大规模聊天模型的开发

探索 Qianfan 平台:使用 Langchain 进行大规模聊天模型的开发

引言

Baidu AI Cloud 的 Qianfan 平台是一站式的大模型开发与运营平台,特别适合企业级开发者。该平台不仅提供了如文心一言(ERNIE-Bot)等大型模型,还支持多种开源模型,使得大模型应用的开发更加便捷。在本文中,我们将介绍如何使用 Langchain 与 Qianfan 的聊天模型进行交互。

主要内容

API 初始化

在使用基于百度 Qianfan 的 LLM 服务之前,必须初始化必要的参数。AK(Access Key)和 SK(Secret Key)可以通过设置环境变量的方式进行初始化:

export QIANFAN_AK=XXX
export QIANFAN_SK=XXX

支持的模型

Qianfan 平台当前支持的模型包括:

  • ERNIE-Bot-turbo(默认模型)
  • ERNIE-Bot
  • BLOOMZ-7B
  • Llama-2 系列
  • Qianfan 系列
  • ChatGLM2-6B-32K 等

使用 Langchain 进行聊天模型开发

使用 Langchain 开发聊天模型应用程序非常简单。以下是一个基本的初始化和调用示例:

import os
from langchain_community.chat_models import QianfanChatEndpoint
from langchain_core.language_models.chat_models import HumanMessage

os.environ["QIANFAN_AK"] = "Your_api_key"  # 使用API代理服务提高访问稳定性
os.environ["QIANFAN_SK"] = "You_secret_Key"

# 创建聊天端点实例
chat = QianfanChatEndpoint(streaming=True)

# 创建人类消息对象
messages = [HumanMessage(content="Hello")]

# 调用聊天模型
response = chat.invoke(messages)
print(response.content)

流式传输

Qianfan 平台支持流式传输,从而可以实时获取聊天模型的响应。以下是一个简单的流式调用示例:

try:
    for chunk in chat.stream(messages):
        print(chunk.content, end="", flush=True)
except TypeError as e:
    print("")

使用不同模型

虽然 ERNIE-Bot-turbo 是默认模型,但您可以通过自定义端点来使用其他模型。假设您已经在 Qianfan 控制台部署了您的自定义模型:

chatBot = QianfanChatEndpoint(
    streaming=True,
    model="ERNIE-Bot",
)

response = chatBot.invoke(messages)
print(response.content)

模型参数

对于 ERNIE-Bot 和 ERNIE-Bot-turbo,您可以指定模型参数,如 temperaturetop_p、以及 penalty_score

chat.invoke(
    [HumanMessage(content="Hello")],
    **{"top_p": 0.4, "temperature": 0.1, "penalty_score": 1},
)

常见问题和解决方案

  • API 访问不稳定:由于某些地区的网络限制,可以考虑使用 API 代理服务以提高访问稳定性。
  • 模型响应延迟:确保在 Qianfan 平台上正确配置模型参数和端点,以优化响应时间。

总结与进一步学习资源

通过结合使用 Langchain 和 Qianfan 平台,您可以快速构建强大的聊天应用程序。如果您对其他模型类型(例如嵌入式或补全模型)感兴趣,可以参考相关的文档资源。

进一步学习资源

参考资料

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

—END—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值