资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

旧版RAG API

概述

注意!本说明仅适用于2024年4月2日前发布的rag类应用。4月2日之后发布的应用目前支持通过对话调用,详情可查看对话

API 调用流程

image.png

首先请登录工作台,创建个人应用并完成配置,其次点击发布应用并新增该应用应用token,然后即可参考下文应用调用接口说明,进行个人应用的API调用。

鉴权介绍

鉴权的主要目的是通过应用token,校验调用者的身份信息。在调用百度智能云千帆AI原生应用工作台提供的API前,必须先获取应用token。

如何获取应用token

在完成应用配置和效果调试后,可点击【发布】按钮完成应用发布。成功发布将获得体验分享链接并支持创建API调用应用token,你可通过分享该链接给朋友或其他开发者,使他们能够在web体验页立即体验你的AI原生应用demo;同时你也可以通过应用API调用接口,以API形式进行调用。

image.png

  • 体验demo或API调用,都将消耗开发者的调用额度。
  • 应用token为该应用的重要凭证,您最多可创建10个,且因应用token长期有效,请勿放在浏览器或外部客户端代码中;如意外泄露,删除应用token即可关闭对应访问入口。
  • 重新生成体验地址或删除应用token后,旧地址和已删除应用token将无法继续请求服务,并无法恢复,请谨慎操作。

image.png

应用调用接口

您可通过应用token,和下文的应用调用接口进行个人应用的API调用。出于安全考虑,目前该接口不支持跨域请求。

请求说明


基本信息

请求地址:https://appbuilder.baidu.com/rpc/2.0/cloud_hub/v1/ai_engine/agi_platform/v1/instance/integrated
请求方式:POST

Header参数

参数 说明
Content-Type application/json -
X-Appbuilder-Authorization Bearer {应用token} 鉴权字段,请将“ {应用token}”(含大括号)整体替换为自己的应用token。示例:Bearer bce-v3***d666fbd02

Body参数

注意:要求使用 JSON 格式的结构体来描述一个请求的具体内容。

参数 是否必选 类型 可选值范围 描述
query string - 用户的请求query
response_mode string streaming/blocking 响应模式,支持以下两种:
1. streaming:流式响应,使用SSE协议
2. blocking:阻塞响应
conversation_id uuid - 对话ID,仅对话型应用生效。在对话型应用中:
1. 空:表示表新建会话
2. 非空:表示在对应的会话中继续进行对话,服务内部维护对话历史

响应说明

参数 是否必选 类型 描述
code int 错误码。非0为错误,请参考错误码说明
message string 报错信息
result object 返回结果
+ answer string 应用响应结果
+ conversation_id uuid 对话ID,仅对话式应用生效。如果是对话请求中没有conversation_id,则会自动生成一个

错误码

错误码 错误信息 描述
400 InvalidRequestArgumentError 请求参数错误
401 PermissionDeniedError 权限错误
404 NotFoundResource 账户、应用、模型、模版等无法找到
500 InternalServerError 服务器内部错误
1001 QuotaLimitExceeded 调用超限,免费额度不足
1004 LLMStreamingResponseError 模型服务报错
1005 TemplateValuesError 模版参数校验错误
1006 QuotaLimitExpired 免费额度已过期
1007 QianfanServiceError 千帆服务无法访问
1008 QianfanPermissionDeniedError 千帆服务访问失败,一般是权限错误,请检查应用配置中千帆大模型平台应用是否被删除
1009 QianfanApiExpired 千帆付费模型服务已过期,请检查模型资源或账户余额是否充足

示例代码

基础生成应用与对话式类似,但不需要传conversation_id参数。
请求示例:以RAG问答应用对话为例,因为是首次对话,未传conversation_id参数。注意:示例代码中Bearer {API Key}的大括号为占位符,实际使用时请删除大括号并替换应用API Key。

curl --location 'https://appbuilder.baidu.com/rpc/2.0/cloud_hub/v1/ai_engine/agi_platform/v1/instance/integrated' \
--header 'Content-Type: application/json' \
--header 'X-Appbuilder-Authorization: Bearer {API Key}' \
--data '{
  "query": "大模型SFT训练要收费吗",
  "response_mode": "blocking"
}'| native2ascii -encoding UTF-8 -reverse

返回示例:对应的返回示例如下,后端生成了一个conversation_id,后续继续对话需要在请求时带上该conversation_id参数。

{
    "code": 0,
    "message": "",
    "trace_id": "fc1a2d87-ac5d-4a44-acdd-1cfd3d0b9ce8",
    "time": 1699005894181,
    "result": {
        "answer": "**大模型SFT训练要收费**。\n\n大模型SFT训练不同服务类型的单价不同,如ERNIE-Bot-turbo大模型公有云训练服务-SFT-全量更新的单价为0.1元/千tokens,BLOOMZ-7B大模型公有云训练服务-SFT-全量更新的单价为0.08元/千tokens等。",
        "conversation_id": "384abd07-f73a-4336-8ca7-74256fb40b1c"
    }
}

在线调试

AppBuilder提供了API调试平台,支持Python、Java、PHP、C#、Go、Node.js、C++ 7种主流语言示例代码自动生成。同时可以帮助开发者在线调试接口,支持查看在线调用的请求内容和返回结果、复制和下载示例代码等功能,简单易用。

上一篇
模型
下一篇
SDK