百度智能云千帆AppBuilder-应用API调用说明

本文详细介绍了如何在百度智能云千帆AI原生应用工作台中通过API调用功能,包括获取APIKey的过程,鉴权方法,以及调用接口的步骤、参数和示例。提醒开发者注意APIKey管理与安全问题。
摘要由CSDN通过智能技术生成

百度智能云千帆AppBuilder

概述

本文介绍了百度智能云千帆AI原生应用工作台提供的API调用应用能力以及如何调用API的流程等。

API 调用流程

image.png

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

鉴权介绍

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

如何获取 API Key(密钥)

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

image.png

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

image.png

web体验页应用demo示意:

image.png

应用调用接口

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

请求说明

基本信息

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

Header参数
参数说明
Content-Typeapplication/json-
X-Appbuilder-AuthorizationBearer {API Key}鉴权字段,请将“ {API Key}”(含大括号)替换为应用API Key(密钥)
Body参数

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

参数是否必选类型可选值范围描述
querystring-用户的请求query
response_modestringstreaming/blocking响应模式,支持以下两种:
1. streaming:流式响应,使用SSE协议
2. blocking:阻塞响应
conversation_iduuid-对话ID,仅对话型应用生效。在对话型应用中:
1. 空:表示表新建会话
2. 非空:表示在对应的会话中继续进行对话,服务内部维护对话历史
响应说明
参数是否必选类型描述
codeint错误码。非0为错误,请参考错误码说明
messagestring报错信息
resultobject返回结果
+ answerstring应用响应结果
+ conversation_iduuid对话ID,仅对话式应用生效。如果是对话请求中没有conversation_id,则会自动生成一个

错误码

错误码错误信息描述
400InvalidRequestArgumentError请求参数错误
401PermissionDeniedError权限错误
404NotFoundResource账户、应用、模型、模版等无法找到
500InternalServerError服务器内部错误
1001QuotaLimitExceeded调用超限,免费额度不足
1004LLMStreamingResponseError模型服务报错
1005TemplateValuesError模版参数校验错误
1006QuotaLimitExpired免费额度已过期
1007QianfanServiceError千帆服务无法访问
1008QianfanPermissionDeniedError千帆服务访问失败,一般是权限错误

示例代码

基础生成应用与对话式类似,但不需要传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"
    }
}
在C#中,使用千帆AppBuilder上传文件通常涉及以下步骤: 1. 首先,确保你已经获得了API客户端和访问令牌。AppBuilder通常会提供相关的文档指导如何获取这些认证信息。 2. 引入必要的NuGet包:如果你使用的是.NET框架,可能会需要`HttpClient`来进行HTTP请求。例如: ```csharp using System.Net.Http; ``` 3. 创建HttpClient实例,并设置基本授权头: ```csharp HttpClient httpClient = new HttpClient(); httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "your_access_token"); ``` 4. 构造文件数据: - 如果文件是一个流(Stream),可以这样做: ```csharp MultipartFormDataContent formData = new MultipartFormDataContent(); Stream fileStream = ...; // 获取文件流 HttpContent content = new StreamContent(fileStream); content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/octet-stream"); formData.Add(content, "file", Path.GetFileName(fileStream.Name)); ``` - 如果文件是内存中的二进制内容,可以使用ByteArrayContent: ```csharp byte[] fileBytes = ...; // 文件字节数组 HttpContent content = new ByteArrayContent(fileBytes); content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/octet-stream"); formData.Add(content, "file", "filename.ext"); ``` 5. 发送POST请求到AppBuilder的文件上传端点: ```csharp string apiUrl = "https://api.your-appbuilder.com/files/upload"; HttpResponseMessage response = await httpClient.PostAsync(apiUrl, formData); response.EnsureSuccessStatusCode(); ``` 6. 检查响应并处理上传结果: ```csharp string uploadIdOrUrl = await response.Content.ReadAsStringAsync(); // 获取上传后的URL或ID ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值