文心一言-千帆大模型平台
  1. SDK 参考
文心一言-千帆大模型平台
  • 体验中心
  • 常见问题
  • 大模型技术测试服务协议
  • 账号与权限管理
    • 账号创建与权限分配
    • 通过子账户隔离实现账单隔离
  • 产品简介
    • 什么是百度智能云千帆大模型平台
    • 百度智能云千帆大模型平台产品优势
    • 百度智能云千帆大模型平台常用概念
  • 新手指南
    • SFT调优快速手册
    • SFT最佳实践
    • 平台使用快速开始
    • 导入并部署第三方模型
      • 快速导入并部署第三方模型
      • SQLCoder自定义模型导入·详细操作
  • 模型广场
    • 查看与管理预置模型
    • 预置调用免费模型列表
  • 我的模型
    • 创建我的模型
    • 查看与管理我的模型
  • Prompt 工程
    • 什么 Prompt 工程
    • Prompt 模板
    • Prompt 优化
    • Prompt 工程使用技巧
      • Prompt 的使用技巧
      • 基础的 Basic Prompt Framework
      • 丰富的 CRISPE Prompt Framework
      • 轻量化的 Few-shot Prompt
  • 模型服务
    • 应用接入
    • 在线服务
    • 调用统计
  • 模型调优
    • 模型精调
      • Post-pretrain
        • 什么是 Post-pretrain
        • 创建 Post-pretrain 任务
        • 查看与管理 Post-pretrain
      • SFT
        • 创建 SFT 任务
        • 查看与管理 SFT 运行
      • RLHF
        • 什么是 RLHF 训练
        • 创建奖励模型训练任务
        • 查看与管理奖励模型训练运行
        • 创建强化学习训练任务
        • 查看与管理强化学习训练运行
    • 模型评估
      • 创建模型评估任务
      • 查看与管理模型评估任务
    • 模型压缩
      • 创建模型压缩任务
      • 查看模型压缩任务
  • 数据管理
    • 数据回流
    • 数据集对应关系说明
    • 数据集管理
      • 创建数据集
      • 数据分析
      • 导入文本对话数据
      • 导入泛文本无标注数据
      • 导入 query 问题集数据
      • 导入文生图数据
      • 管理数据集版本
      • 导出数据
      • 数据集的其他操作
    • 数据标注
      • 在线标注
      • 众测标注
    • 数据处理
      • 数据清洗
      • 数据增强
    • 知识库
      • 什么是千帆大模型知识库
      • 知识库管理
      • 命中测试
  • 系统配置
    • 计算资源
    • 计费管理
    • 插件编排
      • 什么是插件应用
      • 插件编排使用说明
      • 应用创建
        • 对话场景类应用
        • 生成场景类应用
      • 插件
        • 插件列表
        • 自定义插件
        • 插件开发者文档
  • API 鉴权及调用
    • API 介绍
    • API 列表
    • API 调用指南
      • API 调用流程
      • 错误码
      • API 在线调试
    • 鉴权认证
      • 鉴权介绍
      • 使用网页调试工具获取 access_token
      • 获取 access_token
    • 对话 Chat
      • Llama-2
        • Llama-2-7b-chat
        • Llama-2-13b-chat
        • Llama-2-70b-chat
      • ERNIE-Bot 4.0
      • ERNIE-Bot
      • ERNIE-Bot-turbo
      • BLOOMZ-7B
      • Qianfan-BLOOMZ-7B-compressed
      • Mistral-7B-Instruct
      • Qianfan-Chinese-Llama-2-7B
      • Qianfan-Chinese-Llama-2-13B
      • Linly-Chinese-LLaMA-2-7B
      • Linly-Chinese-LLaMA-2-13B
      • ChatGLM2-6B
      • ChatGLM2-6B-32K
      • ChatGLM2-6B-INT4
      • Baichuan2-13B-Chat
      • XVERSE-13B-Chat
      • Falcon-7B
      • Falcon-40B-Instruct
      • AquilaChat-7B
      • RWKV-4-World
      • RWKV-4-pile-14B
      • RWKV-Raven-14B
      • OpenLLaMA-7B
      • Dolly-12B
      • MPT-7B-Instruct
      • MPT-30B-instruct
      • OA-Pythia-12B-SFT-4
      • Falcon-180B-Chat
      • RWKV-5-World
      • Flan-UL2
    • 续写 Completions
      • SQLCoder-7B
      • CodeLlama-7b-Instruct
      • AquilaCode-multi
      • Cerebras-GPT-13B
      • Pythia-12B
      • GPT-J-6B
      • GPT-NeoX-20B
      • GPT4All-J
      • StarCoder
      • StableLM-Alpha -7B
      • Pythia-6.9B
      • Cerebras-GPT-6.7B
    • 向量 Embeddings
      • Embedding-V1
      • bge-large-zh
      • bge-large-en
    • 图像 Images
      • Stable-Diffusion-XL
    • 自定义模型调用 API
      • 自定义模型调用 API
      • 续写模式
    • 模型服务
      • 创建服务
      • 查询服务详情
    • 模型管理
      • 获取模型版本详情
      • 获取模型详情
      • 训练任务发布为模型
    • 模型调优
      • 创建训练任务
      • 创建任务运行
      • 获取任务运行详情
      • 停止任务运行
    • 数据管理
      • 创建数据集
      • 发起数据集发布任务
      • 发起数据集导入任务
      • 获取数据集详情
      • 获取数据集状态详情
      • 发起数据集导出任务
      • 删除数据集
      • 获取数据集导出记录
      • 获取数据集导入错误详情
    • Prompt 工程
      • Prompt 模板
    • 插件应用
      • 知识库
      • 智慧图问
      • 天气
  • SDK 参考
    • 千帆 SDK 介绍
    • SDK 安装及使用流程
    • 对话 Chat
    • 续写 Completions
    • 向量 Embeddings
    • 模型服务
      • 创建服务
      • 查询服务详情
    • 模型管理
      • 获取模型详情
      • 获取模型版本详情
      • 训练任务发布为模型
    • 模型调优
      • 创建训练任务
      • 创建任务运行
      • 获取任务运行详情
      • 停止任务运行
    • 数据管理
      • 创建数据集
      • 发起数据集发布任务
      • 发起数据集导入任务
      • 获取数据集详情
      • 获取数据集状态详情
      • 发起数据集导出任务
      • 删除数据集
      • 获取数据集导出记录
      • 获取数据集导入错误详情
    • 插件应用
      • 知识库
      • 智能图问
      • 天气
  • 价格说明
    • 千帆大模型平台价格文档
  1. SDK 参考

对话 Chat

百度智能云千帆大模型平台提供了对话Chat相关模型API SDK,支持单轮对话、多轮对话、流式等调用。

注意事项#

模型不同,调用SDK时,使用参数不同。请结合具体模型,查看参数使用说明进行调用。
默认模型,即ERNIE-Bot-turbo,无需填写model和endpoint参数,详见请求参数说明。
指定支持预置服务的模型,使用model参数指定支持预置服务的模型,详见请求参数说明。
用户快速部署自行发布的模型服务,需使用参数endpoint,详见请求参数说明。

支持模型列表#

ERNIE-Bot 4.0
ERNIE-Bot
ERNIE-Bot-turbo
BLOOMZ-7B
Qianfan-BLOOMZ-7B-compressed
Llama-2-7b-chat
Llama-2-13b-chat
Llama-2-70b-chat
Qianfan-Chinese-Llama-2-7B
ChatGLM2-6B-32K
AquilaChat-7B
Qianfan-Chinese-Llama-2-13B
Linly-Chinese-LLaMA-2-7B
Linly-Chinese-LLaMA-2-13B
ChatGLM2-6B
ChatGLM2-6B-INT4
Baichuan2-13B-Chat
XVERSE-13B-Chat
Falcon-7B
Falcon-40B-Instruct
RWKV-4-World
RWKV-4-pile-14B
RWKV-Raven-14B
OpenLLaMA-7B
Dolly-12B
MPT-7B-Instruct
MPT-30B-instruct
OA-Pythia-12B-SFT-4
自定义模型

单轮对话#

调用示例#

默认模型#

默认模型,即 ERNIE-Bot-turbo,无需使用参数model,调用示例如下。
Python

指定支持预置服务的模型#

使用model字段,指定千帆平台支持预置服务的模型,调用示例如下。
Python

用户自行发布的模型服务#

对于用户快速部署自行发布的模型服务,通过使用endpoint进行调用,示例如下。
Python

返回示例#

QfResponse(
    code=200, 
    headers={
        ...
    }, 
    body={
        'id': 'as-4v1h587fyv', 
        'object': 'chat.completion', 
        'created': 1695021339, 
        'result': '你好,我是百度研发的知识增强大语言模型,中文名是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。', 
        'is_truncated': False, 
        'need_clear_history': False, 
        'usage': {
            'prompt_tokens': 7, 
            'completion_tokens': 67, 
            'total_tokens': 74
        }
    }, 
    )

多轮对话#

调用示例#

Python
也可以使用内置 Messages 简化多轮对话,与用户对话的示例如下。
Python

返回示例#

QfResponse(
    code=200, 
    headers={
        ...
    }, 
    body={
        'id': 'as-4v1h587fyv', 
        'object': 'chat.completion', 
        'created': 1695021339, 
        'result': '你好,我是百度研发的知识增强大语言模型,我能够与人进行交流,回答问题,协助创作,并且我还具备了语言理解,语言生成,知识推理的能力。', 
        'is_truncated': False, 
        'need_clear_history': False, 
        'usage': {
            'prompt_tokens': 7, 
            'completion_tokens': 67, 
            'total_tokens': 74
        }
    }, 
)

流式输出#

调用示例#

Python

返回示例#

{
  'code': 200,
  'headers': {
      ...  
  },
  'id': 'as-r0qq952rh5',
  'object': 'chat.completion',
  'created': 1695026934,
  'sentence_id': 0,
  'is_end': False,
  'is_truncated': False,
  'result': '您好!',
  'need_clear_history': False,
  'usage': {
    'prompt_tokens': 2,
    'completion_tokens': 2,
    'total_tokens': 4
  }
}
{
  'code': 200,
  'headers': {
    ...
  },
  'id': 'as-r0qq952rh5',
  'object': 'chat.completion',
  'created': 1695026935,
  'sentence_id': 1,
  'is_end': False,
  'is_truncated': False,
  'result': '我是百度研发的知识增强大语言模型,中文名是文心一言,英文名是ERNIE Bot。',
  'need_clear_history': False,
  'usage': {
    'prompt_tokens': 2,
    'completion_tokens': 30,
    'total_tokens': 34
  }
}

参数说明#

请求参数#

名称类型必填描述
messagesList[dict]是聊天上下文信息。说明: (1)messages成员不能为空,1个成员表示单轮对话,多个成员表示多轮对话 (2)最后一个message为当前请求的信息,前面的message为历史对话信息 (3)必须为奇数个成员,成员中message的role必须依次为user(or function)、assistant (4)最后一个message的content长度(即此轮对话的问题)不能超过3000 token;如果messages中content总长度大于3000 token,系统会依次遗忘最早的历史会话,直到content的总长度不超过3000 token
functionsList[dict]否一个可触发函数的描述列表,说明:只有当参数model值为ERNIE-Bot时,functions字段有效
temperaturefloat否说明: (1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定 (2)范围 (0, 1.0],不能为0 (3)建议该参数和top_p只设置1个 (4)建议top_p和temperature不要同时更改 (5)默认值: · 当model值为ERNIE-Bot或ERNIE-Bot 4.0,默认值为0.8 · 当model值为ERNIE-Bot-turbo,默认值为0.95
top_kfloat否说明: (1)较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定 (2)默认0.95,范围 (0, 1.0],不能为0 (3)建议该参数和top_p只设置1个 (4)以下情况,不支持使用此参数: · 当model或endpoint值为ERNIE-Bot、ERNIE-Bot 4.0或ERNIE-Bot-turbo · 基于ERNIE-Bot-turbo SFT调优后的模型
top_pfloat否说明: (1)影响输出文本的多样性,取值越大,生成文本的多样性越强 (2)取值范围 [0, 1.0] (3)建议该参数和temperature只设置1个 (4)建议top_p和temperature不要同时更改 (5)默认值: · 当model值为ERNIE-Bot或ERNIE-Bot 4.0,默认值为0.8 · 当model值为ERNIE-Bot-turbo,默认值为0.7
penalty_scorefloat否通过对已生成的token增加惩罚,减少重复生成的现象。说明: (1)值越大表示惩罚越大 (2)取值范围:[1.0, 2.0] (3)默认值: · 当model值为ERNIE-Bot、ERNIE-Bot 4.0或ERNIE-Bot-turbo,默认值为1.0
streambool否是否以流式接口的形式返回数据,默认false true:是,以流式接口的形式返回数据 false:否
modelstring否模型名称,用于指定平台支持预置服务的模型,说明: (1)不填写此字段时,默认模型为ERNIE-Bot-turbo (2)如果模型为平台支持预置服务的模型,此字段必填,且支持模型名称如下: · ERNIE-Bot 4.0 · ERNIE-Bot · ERNIE-Bot-turbo · BLOOMZ-7B · Qianfan-BLOOMZ-7B-compressed · Llama-2-7b-chat · Llama-2-13b-chat · Llama-2-70b-chat · Qianfan-Chinese-Llama-2-7B · ChatGLM2-6B-32K · AquilaChat-7B
endpointstring否用于指定用户自行发布的模型服务,包括自行发布平台预置的模型、用户自定义模型。说明: (1)如果指定用户自行发布的模型服务,endpoint字段为必填,目前平台支持以下自行发布的模型服务: · ERNIE-Bot 4.0 · ERNIE-Bot · ERNIE-Bot-turbo · BLOOMZ-7B · Qianfan-BLOOMZ-7B-compressed · Llama-2-7b-chat · Llama-2-13b-chat · Llama-2-70b-chat · Qianfan-Chinese-Llama-2-7B · Qianfan-Chinese-Llama-2-13B · ChatGLM2-6B-32K · AquilaChat-7B · Linly-Chinese-LLaMA-2-7B · Linly-Chinese-LLaMA-2-13B · ChatGLM2-6B · ChatGLM2-6B-INT4 · Baichuan2-13B-Chat · XVERSE-13B-Chat · Falcon-7B · Falcon-40B-Instruct · RWKV-4-World · RWKV-4-pile-14B · RWKV-Raven-14B · OpenLLaMA-7B · Dolly-12B · MPT-7B-Instruct · MPT-30B-instruct · OA-Pythia-12B-SFT-4 · 自定义模型 (2)用户自行发布服务,该字段值可以通过查看服务地址获取:打开服务管理-选择创建的服务-点击详情页查看服务地址,endpoint值为https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/后面的地址,如下图所示 image.png 注意: 在创建服务页面,选择模型后,API地址会自动新增个后缀。例如选择模型RWKV-4-World,输入API地址为“test1”,endpoint的取值即为“ngxxxol8_test1”,如下图所示,如何发布服务请参考发布平台预置的模型服务、快速部署自定义模型 image.png
retry_countint否重试次数,默认1次
request_timeoutfloat否请求超时时间,默认60秒
backoff_factorfloat否请求重试参数,用于指定重试的策略,默认为0
systemstring否模型人设,主要用于人设设定,例如,你是xxx公司制作的AI助手,说明: (1)长度限制1024个字符 (2)如果使用functions参数,不支持设定人设system (3)只有当参数model值为ERNIE-Bot 4.0、ERNIE-Bot、ERNIE-Bot-turbo时,system字段有效
stopList[string]否生成停止标识。当模型生成结果以stop中某个元素结尾时,停止文本生成。说明: (1)每个元素长度不超过20字符。 (2)最多4个元素 (3)以下情况,不支持使用此参数: · 当model或endpoint值为ERNIE-Bot、ERNIE-Bot 4.0或ERNIE-Bot-turbo · 基于ERNIE-Bot-turbo SFT调优后的模型
user_idstring否表示最终用户的唯一标识符,可以监视和检测滥用行为,防止接口恶意调用
messages说明
名称类型必填描述
rolestring是当前支持以下: user: 表示用户 assistant: 表示对话助手 function: 表示函数
contentstring是对话内容,当前message存在function_call时可以为空,其他场景不能为空
namestring否message作者;当role=function时,必填,且是响应内容中function_call中的name
function_calldict否函数调用,function call场景下第一轮对话的返回,第二轮对话作为历史信息在message中传入
functions说明
名称类型必填描述
namestring是函数名
descriptionstring是函数描述
parametersobject是函数请求参数,说明: (1)JSON Schema 格式,参考JSON Schema描述 (2)如果函数没有请求参数,parameters值格式如下: {"type": "object","properties": {}}
responsesobject否函数响应参数,JSON Schema 格式,参考JSON Schema描述
examplesList[dict]否function调用的一些历史示例
examples说明
名称类型必填描述
rolestring是当前支持以下: user: 表示用户 assistant: 表示对话助手 function: 表示函数
contentstring是对话内容,当前message存在function_call时可以为空,其他场景不能为空
namestring否message作者;当role=function时,必填,且是响应内容中function_call中的name
function_calldict否函数调用,function call场景下第一轮对话的返回,第二轮对话作为历史信息在message中传入
funcation_call说明
名称类型必填描述
namestring是触发的function名
argumentsstring是请求参数
thoughtsstring否模型思考过程

返回参数#

名称类型描述
idstring本轮对话的id
objectstring回包类型 chat.completion:多轮对话返回
createdint时间戳
sentence_idint表示当前子句的序号。只有在流式接口模式下会返回该字段。
is_endbool表示当前子句是否是最后一句。只有在流式接口模式下会返回该字段
is_truncatedbool当前生成的结果是否被截断
resultstring对话返回结果
need_clear_historybool表示用户输入是否存在安全,是否关闭当前会话,清理历史会话信息。 true:是,表示用户输入存在安全风险,建议关闭当前会话,清理历史会话信息 false:否,表示用户输入无安全风险
ban_roundint当need_clear_history为true时,此字段会告知第几轮对话有敏感信息,如果是当前问题,ban_round=-1
usageusagetoken统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑)
usage说明
名称类型描述
prompt_tokensint问题tokens数
completion_tokensint回答tokens数
total_tokensinttokens总数
上一页
SDK 安装及使用流程
下一页
续写 Completions
Built with