跳到主要内容
百度 AI 云千帆平台是一个为企业开发者提供一站式大模型开发和运营服务的平台。千帆不仅提供文心一言 (ERNIE-Bot) 模型和第三方开源模型,还提供各种 AI 开发工具和全套开发环境,方便客户轻松使用和开发大模型应用。 基本上,这些模型分为以下类型:
  • 嵌入
  • 聊天
  • 完成
在本笔记本中,我们将介绍如何将 langchain 与千帆结合使用,主要是在 langchain 中与 langchain/chat_models 包对应的 Chat 中。

API 初始化

要使用基于百度千帆的 LLM 服务,您必须初始化以下参数: 您可以选择在环境变量中初始化 AK、SK,也可以初始化参数:
export QIANFAN_AK=XXX
export QIANFAN_SK=XXX

当前支持的模型

  • 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

设置

"""For basic init and call"""
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"
os.environ["QIANFAN_SK"] = "You_secret_Key"

用法

chat = QianfanChatEndpoint(streaming=True)
messages = [HumanMessage(content="Hello")]
chat.invoke(messages)
AIMessage(content='您好!请问您需要什么帮助?我将尽力回答您的问题。')
await chat.ainvoke(messages)
AIMessage(content='您好!有什么我可以帮助您的吗?')
chat.batch([messages])
[AIMessage(content='您好!有什么我可以帮助您的吗?')]

流式处理

try:
    for chunk in chat.stream(messages):
        print(chunk.content, end="", flush=True)
except TypeError as e:
    print("")
您好!有什么我可以帮助您的吗?

在千帆中使用不同的模型

默认模型是 ERNIE-Bot-turbo,如果您想部署基于 Ernie Bot 或第三方开源模型的自己的模型,可以按照以下步骤操作
  1. (可选,如果模型包含在默认模型中,请跳过)在千帆控制台中部署您的模型,获取您自己的自定义部署端点。
  2. 在初始化中设置名为 endpoint 的字段
chatBot = QianfanChatEndpoint(
    streaming=True,
    model="ERNIE-Bot",
)

messages = [HumanMessage(content="Hello")]
chatBot.invoke(messages)
AIMessage(content='Hello,可以回答问题了,我会竭尽全力为您解答,请问有什么问题吗?')

模型参数

目前,只有 ERNIE-BotERNIE-Bot-turbo 支持以下模型参数,我们未来可能会支持更多模型。
  • temperature
  • top_p
  • penalty_score
chat.invoke(
    [HumanMessage(content="Hello")],
    **{"top_p": 0.4, "temperature": 0.1, "penalty_score": 1},
)
AIMessage(content='您好!有什么我可以帮助您的吗?')

以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。
© . This site is unofficial and not affiliated with LangChain, Inc.