智能图问
功能介绍
SDK支持使用平台插件能力,以帮助用户快速构建 LLM 应用或将 LLM 应用到自建程序中。在使用这一功能前需要先创建应用、设定服务地址、将服务地址作为参数传入千帆 SDK。
该插件可以实现OCR能力。
注意事项
调用本文API,需使用应用AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程。
非流式调用
调用示例
# Plugin 智慧图问展示
plugin = qianfan.Plugin(endpoint="your_endpoint")
resp = plugin.do(plugins=["uuid-chatocr"], prompt="这上面有什么文字?",fileurl="https://xxx.bcebos.com/xxx/xxx.jpeg")
print(resp)
返回示例
QfResponse(
code=200,
headers={
...
},
body={
'result': '根据您提供的信息,这张图像上有一头牛,它的颜色是黑白相间的,并且它的脸上有一个smirk(笑意)。',
'log_id': 2168393003280704595
},image=None)
流式调用
调用示例
# Plugin 智慧图问展示
plugin = qianfan.Plugin(endpoint="your_endpoint")
resp = plugin.do(plugins=["uuid-chatocr"], stream=True, prompt="这上面的牛是什么颜色的", verbose=True, fileurl="https://xxx.bcebos.com/xxx")
for r in resp:
print(r)
返回示例
QfResponse(code=200, headers={...},
body={'plugin_id': 'uuid-chatocr', 'request': {'query': '这上面的牛是什么颜色的', 'filename': 'cow.jpeg'}, 'response': {'error_no': 0, 'error_msg': 'success', 'format': 'json', 'result': {'llm_result': '根据提供的资料,这头牛是黑白相间的。', 'ocr_result': [{'rect': {'left': 355, 'top': 147, 'width': 283, 'height': 278}, 'word': 't'}, {'rect': {'left': 455, 'top': 12, 'width': 151, 'height': 140}, 'word': '0'}]}, 'logid': 3082228108}, 'log_id': 9127588303871274251}, image=None)
QfResponse(code=200, headers={...},
body={'result': '根据提供的资料,这头牛是黑白相间的。', 'sentence_id': 0, 'is_end': False, 'log_id': 9127588303871274251}, image=None)
QfResponse(code=200, headers={...},
body={'result': '', 'sentence_id': 1, 'is_end': True, 'log_id': 9127588303871274251}, image=None)
参数说明
请求参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
prompt | string | 是 | 查询信息。说明: (1)成员不能为空 (2)长度不能超过1000个字符 |
plugins | list[string] | 是 | 需要调用的插件,参数为插件ID,插件ID可在插件列表-插件详情中获取。 (1)最多3个插件,最少1个插件。 (2)当多个插件时,插件触发由大模型意图判断控制。 (3)当只有1个插件时,强制指定使用该插件工具。 参数示例:["...", "..."] |
fileurl | string | 是 | 文件的URL地址,说明: (1)图片要求是百度bos上的图片,即用户必须现将图片上传至百度bos,图片url地址包含bcebos.com (2)图片支持jpg、jpeg、png、bmp、webp,必须带后缀名 |
stream | bool | 否 | 是否以流式接口的形式返回数据,默认false,可选值如下: (1)true: 是,以流式接口的形式返回数据 (2)false:否,非流式接口形式返回数据 |
llm | dict | 否 | llm相关参数,不指定参数时,使用调试过程中的默认值。 参数示例:"llm":{"temperature":0.1,"top_p":1,"penalty_score":1} |
input_variables | dict | 否 | 说明: (1)如果prompt中使用了变量,推理时可以填写具体值; (2)如果prompt中未使用变量,该字段不填。 参数示例:"input_variables":{"key1":"value1","key2":"value2",} key1、key2为配置时prompt中使用了变量key |
history | dict | 否 | 聊天上下文信息。 参数示例: [{"role":"user","content":"..."},{"role":"assisant","content":"..."},...] |
verbose | bool | 否 | 是否返回插件的原始请求信息,默认false,可选值如下: true:是,返回插件的原始请求信息meta_info false:否,不返回插件的原始请求信息meta_info |
返回参数
名称 | 类型 | 描述 |
---|---|---|
id | string | 本轮对话的id |
object | string | 回包类型。 chat.completion:多轮对话返回 |
created | int | 时间戳 |
sentence_id | int | 表示当前子句的序号,只有在流式接口模式下会返回该字段 |
is_end | bool | 表示当前子句是否是最后一句,只有在流式接口模式下会返回该字段 |
result | string | 插件返回结果 |
is_truncated | bool | 当前生成的结果是否被截断 |
need_clear_history | bool | 表示用户输入是否存在安全,是否关闭当前会话,清理历史会话信息 true:是,表示用户输入存在安全风险,建议关闭当前会话,清理历史会话信息 false:否,表示用户输入无安全风险 |
ban_round | int | 当need_clear_history为true时,此字段会告知第几轮对话有敏感信息,如果是当前问题,ban_round = -1 |
usage | usage | token统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑) |
meta_info | dict | 插件的原始请求信息 |
usage说明
名称 | 类型 | 描述 |
---|---|---|
prompt_tokens | int | 问题tokens数 |
completion_tokens | int | 回答tokens数 |
total_tokens | int | tokens总数 |
meta_info说明
名称 | 类型 | 描述 |
---|---|---|
requests | dict | 原始请求参数 |
response | dict | 原始返回结果 |
requests说明
名称 | 类型 | 描述 |
---|---|---|
query | string | 用于查询用户请求 |
filename | string | 从文件地址中解析出的文件名称 |
response说明
名称 | 类型 | 描述 |
---|---|---|
error_no | int | 错误码 |
error_msg | string | 错误信息 |
format | string | 当前返回的数据格式,可忽略 |
result | dict | OCR 返回的识别信息 |
logid | int | 唯一的log id,用于问题定位 |
result说明
名称 | 类型 | 描述 |
---|---|---|
llm_result | string | 用户请求的实际返回结果 |
ocr_result | list[dict] | OCR 接口返回的识别文字信息 |
ocr_result说明
名称 | 类型 | 描述 |
---|---|---|
rect | dict | 文字所在的位置,识别为矩形框 |
word | string | 文字内容 |
rect说明
名称 | 类型 | 描述 |
---|---|---|
left | int | 文字框左上角相对于图片左上角的横向偏移量,单位为像素 |
top | int | 文字框左上角相对于图片左上角的纵向偏移量,单位为像素 |
width | int | 文字框的宽度,单位为像素 |
height | int | 文字框的高度,单位为像素 |
最后修改时间: 1 年前