2024年您产品必备的10大AI API推荐
如何获取蓝心大模型API密钥(分步指南)
蓝心大模型是vivo自研的通用大模型矩阵,包含多款覆盖十亿、百亿、千亿参数量级的大模型。这些大模型通过海量数据和先进算法训练而成,具备强大的自然语言处理和理解能力,为用户提供更智能、更便捷的服务和体验。使用蓝心大模型获取其API密钥成为实现这一目标的首要步骤。本文将详细指导你如何逐步获取蓝心大模型API密钥,确保你能够顺利接入并使用这一强大的工具,同时还将简要介绍一些在使用过程中可能需要注意的事项。
1.登录注册
1.在任意界面点击右上角“注册”按钮
2.选择注册方式
3.个人开发者注册
3.1 输入手机号
点击“个人开发者”,进入注册页面,输入未注册过的手机号,点击下一步
3.2 输入验证码、密码
输入收到的验证码,设置好密码点击下一步,即可自动创建vivo帐号
2.能力接入
1.选择接入能力
根据“首页-产品-AI算法平台”路径进入AI算法平台页面,选择你需要的能力,点击进入能力详情页;
2.创建应用
2.1点击立即接入,进入创建应用界面;
2.2进入创建应用界面,按提示填写应用信息,选择能力(默认选中对应能力),然后点击立即创建,即可完成应用创建(未完成注册及资质认证的用户无法创建应用);
3.查看应用详情
3.1在应用管理页面,点击应用名称或“详情”按钮,进入应用详情;
3.2在应用详情获取APP ID、APP Key等信息;
3. 调用接口
生成签名串
有了应用的 app_id 和 app_key 后,就可以生成签名串了。签名串的计算公式如下:
signature = base64_encode(HMAC-SHA256-HEX(app_key, signing_string))
其中,signing_string 为:
signing_string = HTTP Method + “\n” + HTTP URI + “\n” + canonical_query_string + “\n” + app_id + “\n” + timestamp + “\n” + signed_headers_string
signing_string中需要拼接的各个字段解释如下:
- HTTP Method:指 HTTP 协议中定义的 GET、PUT、POST 等请求方法,必须使用全大写的形式。
- HTTP URI:要求必须以“/”开头,不以“/”开头的需要补充上,空路径为“/”。
- timestamp:请求时间(UTC时间),放在 X-AI-GATEWAY-TIMESTAMP 中。
- canonical_query_string:是对于 URL 中的 query( query 即 URL 中 ? 后面的 key1=valve1&key2=valve2 字符串)进行编码后的结果。
- app_id:应用标识, 放在 X-AI-GATEWAY-APP-ID 中。
- signed_headers_string:是从请求头中获取客户端指定的字段,并按顺序拼接字符串的结果。具体见下面描述
canonical_query_string 的生成步骤如下:
- 如果URL没有query项,则canonical_query_string为空字符串,无需计算query项。
- 如果URL有query项,提取 URL 中的 query 项,即 URL 中 ? 后面的 key1=valve1&key2=valve2 字符串。
- 将 query 根据&分隔符拆开成若干项,每一项是 key=value 或者只有 key 的形式。
- 对拆开后的每一项进行编码处理,分以下两种情况:
- 当该项只有 key 时,转换公式为 url_encode(key) + “=” 的形式。
- 当该项是 key=value 的形式时,转换公式为 url_encode(key) + “=” + url_encode(value) 的形式。这里 value 可以是空字符串。
- 将每一项转换后,以 key 按照字典顺序( ASCII 码由小到大)排序,并使用 & 符号连接起来,生成相应的 canonical_query_string 。
signed_headers_string为:
signed_headers_string = “x-ai-gateway-app-id” + “:” + app_id + “\n” + “x-ai-gateway-timestamp” + “:” + timestamp + “\n” + “x-ai-gateway-nonce” + “:” + nonce
请求参数
Header如下:
参数 | 类型 | 是否必须 | 值 |
Content-Type | string | 是 | application/x-www-form-urlencoded |
X-AI-GATEWAY-APP-ID | string | 是 | vivo开发者平台申请的app_id |
X-AI-GATEWAY-TIMESTAMP | string | 是 | 请求时的Unix时间戳,以秒为单位 |
X-AI-GATEWAY-NONCE | string | 是 | 8位的随机字符串 |
X-AI-GATEWAY-SIGNED-HEADERS | string | 是 | 填写 “x-ai-gateway-app-id;x-ai-gateway-timestamp;x-ai-gateway-nonce” |
X-AI-GATEWAY-SIGNATURE | string | 是 | 填写签名字符串 ,计算方式见签名计算部分 |
body
参数名称 | 类型 | 是否必须 | 说明 |
image | string | 是 | 图像数据,base64编码(目前只支持识别jpg、png、bmp格式的图片) |
pos | string/int | 是 | 可取值为0、1、2。0代表只需要文字信息;1代表提供文字信息和坐标信息(坐标绝对值);2代表将0和1的信息同时提供(坐标为相对值),建议取pos=2 |
businessid | string | 是 | 1990173156ceb8a09eee80c293135279 |
sessid | string | 否 | 使用uuid,前端传递 |
businessid补充说明:
- 1990173156ceb8a09eee80c293135279,支持旋转图像、非正向文字识别
- 8bf312e702043779ad0f2760b37a0806,只支持正向文字识别,耗时比1990小
调用示例
#!/usr/bin/env python
# encoding: utf-8
import requests
import base64
from auth_util import gen_sign_headers
# 请注意替换APP_ID、APP_KEY、PIC_FILE
APP_ID = 'your_app_id'
APP_KEY = 'your_app_key'
DOMAIN = 'api-ai.vivo.com.cn'
URI = '/ocr/general_recognition'
METHOD = 'POST'
PIC_FILE = './test.jpg'
def ocr_test():
picture = PIC_FILE
with open(picture, "rb") as f:
b_image = f.read()
image = base64.b64encode(b_image).decode("utf-8")
post_data = {"image": image, "pos": 2, "businessid": "1990173156ceb8a09eee80c293135279"}
params = {}
headers = gen_sign_headers(APP_ID, APP_KEY, METHOD, URI, params)
url = 'http://{}{}'.format(DOMAIN, URI)
response = requests.post(url, data=post_data, headers=headers)
if response.status_code == 200:
print(response.json())
else:
print(response.status_code, response.text)
if __name__ == '__main__':
ocr_test()
响应结果
参数 | 类型 | 说明 |
error_code | int | 0: 成功,1: ocr识别失败,2: 图像错误 |
error_msg | string | succ:成功,ocr fail:识别失败,no parameter image:未上传图片 |
result | json | 请求参数pos为0结果提供文字信息,pos为1结果提供文字信息和坐标信息(绝对值),pos为2结果提供0和1的信息(坐标为相对值) |
version | string | ocr_VUG_v2.1.0_20200715 |
support | string | VIVO识图提供技术支持 |
result示例
请求参数pos为0
# angle可选的值为0/90/180/270
{
"result": {
"words": [
{"words": "取消"},
{"words": "编辑"}
],
"angle": 0
}
}
请求参数pos为1
# angle可选的值为0/90/180/270,top_left:左上,top_right:右上,down_left:左下,down_right:右下,x、y:像素百分比
{
"result": {
"OCR": [
{
"words": "取消",
"location": {
"top_left": {"x": 658.0, "y": 1130.0},
"top_right": {"x": 893.0, "y": 1130.0},
"down_left": {"x": 658.0, "y": 1174.0},
"down_right": {"x": 893.0, "y": 1174.0}
}
},
{
"words": "编辑",
"location": {
"top_left": {"x": 398.0, "y": 825.0},
"top_right": {"x": 1912.0, "y": 825.0},
"down_left": {"x": 398.0, "y": 1004.0},
"down_right": {"x": 1912.0, "y": 1004.0}
}
}
],
"angle": 0
}
}
4. 常见问题
问题1:如何找到蓝心大模型 API
幂简集成是国内领先的API集成管理平台,专注于为开发者提供全面、高效、易用的API集成解决方案。幂简API平台可以通过以下两种方式找到所需API:通过关键词搜索API(例如,输入’蓝心大模型 API‘这类品类词,更容易找到结果)、或者从API hub分类页进入寻找。
问题2:在“开发者助手”上提交问题,一般要填写哪些信息?
目前“开发者助手”上的工单主要分为两大类型:
(1)一类是OriginOS 开放能力、AI大模型、蓝河操作系统及其他开放内容的相关咨询,开发者需填写标题及详细描述,如有需要可上传图片等相关附件对问题进行更具体的描述。
(2)另一类是vivo系统上稳定性、多媒体等的技术问题反馈,开发者需填写标题、详细描述、机型、应用名这些必要信息及其他如系统版本等相关信息。另外,为了vivo工程师可以更快速、准确地对问题进行分析,请提供问题相关的日志。
问题3:如何提交问题相关的日志?
请按照以下步骤提交日志:
(1)打开电话,输入*##112##* , 根据实际问题选择具体的问题类型,一般情况下选择“通用”类型。
(2)复现问题
(3)打开电话,输入*##112##*,反馈,选择所有时间段日志上传。上传完后提供日志提取码给vivo。
问题4:什么情况下需要日志打印授权?
日志打印授权用于解决以下两种情况:
一是日志中部分敏感信息以星号(**)显示。–对应权限:日志脱敏
二是日志打印太频繁中间缺少部分日志。–对应权限:行数限制
对于开发flutter应用时出现无法调试的问题,可通过日志打印授权进行解决
问题5:蓝心大模型 API 的替代品有哪些?
提供AI大模型服务商除蓝心大模型 API,还有其他替代服务商也提供类似api服务,例如:
更多竞品可以在幂简API平台找到。
问题6:蓝心大模型 API这个密钥还适用于哪些api?
5. 总结
本文详细阐述了如何获取蓝心大模型API密钥的全过程,从注册账号、成为开发者,到成功获取密钥并进行初步测试,每一步都提供了清晰的指导。同时,还强调了在使用API时需要注意的关键因素,旨在帮助开发者更高效地集成蓝心大模型的功能,以满足实际应用需求。