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

智慧图问

注意: 为提升开发者使用体验,本文内容已合并至至对应API文档,请查看API鉴权及调用-插件应用-智慧图问;本文档已于2024年6月28日在平台文档中心下线,内容不再更新。

功能介绍

SDK支持使用平台插件能力,以帮助用户快速构建 LLM 应用或将 LLM 应用到自建程序中。在使用这一功能前需要先创建应用、设定服务地址、将服务地址作为参数传入SDK。

该插件可以实现OCR能力。

注意事项

  • 调用本文API,需使用应用AK/SK鉴权,调用流程及鉴权介绍详见SDK安装及使用流程
  • 调用本文API前,需先确保已安装智慧图问插件,安装方式请查看插件列表

非流式调用

调用示例

import os
import qianfan

# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"

# Plugin 通过endpoint参数指定插件服务,将your_endpoint替换为服务地址后缀,例如服务地址为https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/plugin/testxxx/,则your_endpoint替换为testxxx,更多介绍详见本文插件服务地址说明
plugin = qianfan.Plugin(endpoint="your_endpoint")

# 智慧图问展示
resp = plugin.do(plugins=["uuid-chatocr"], query="这上面有什么文字?",fileurl="https://xxx.bcebos.com/xxx/xxx.jpeg")
print(resp)

返回示例

QfResponse(
    code=200,
    headers={...},
    body={
        'result': "根据提供的资料,图像中可以识别出的文字如下:\n\n'25种最有营养价值的水果 百香果 榴莲 葡萄 香蕉 芒果 草莓 沃柑 樱桃 柿子 西瓜 荔枝 蓝莓 杨梅 番石榴 冬枣 橙子 山竹 火龙果 猕猴桃 牛油果 小红 香梨 哈密瓜 桂圆 苹果 小红书 水蜜桃 7 '",
        'log_id': 3927637630508236109
    }, statistic={}, request=QfRequest(...)
)

流式调用

调用示例

import os
import qianfan

# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"

# Plugin 通过endpoint参数指定插件服务,将your_endpoint替换为服务地址后缀,例如服务地址为https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/plugin/testxxx/,则your_endpoint替换为testxxx,更多介绍详见本文插件服务地址说明
plugin = qianfan.Plugin(endpoint="your_endpoint")

# 智慧图问展示
resp = plugin.do(plugins=["uuid-chatocr"], stream=True, query="这上面的牛是什么颜色的", 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': '9d54a81a19504359b81d4e13f75ace0b.jpeg'
        },
        'response': {
            'error_no': 0,
            'error_msg': 'success',
            'format': 'json',
            'result': {
                'llm_result': "根据提供的资料,图像中可以识别出的文字如下:\n\n'25种最有营养价值的水果 百香果 榴莲 葡萄 香蕉 芒果 草莓 沃柑 樱桃 柿子 西瓜 荔枝 蓝莓 杨梅 番石榴 冬枣 橙子 山竹 火龙果 猕猴桃 牛油果 小红 香梨 哈密瓜 桂圆 苹果 小红书 水蜜桃 7 '\n\n这些文字主要描述了25种有营养的水果,以及一些其他信息。",
                'ocr_result': [
                    {'rect': {'left': 73, 'top': 103, 'width': 925, 'height': 130}, 'word': '25种最有营养价值的水果'},
                    {'rect': {'left': 101, 'top': 460, 'width': 138, 'height': 49}, 'word': '百香果'}, ...
                ],
                'classify_ret': None
            },
            'logid': 3397643593
        },
        'log_id': 6954105891819143907
    },
    statistic={...},
    request=QfRequest(...)
)

插件服务地址说明

调用插件SDK时,需通过参数endpoint指定插件服务,endpoint值可以通过插件服务地址获取。

(1)配置插件应用服务成功后,可以查看服务地址等信息。如何配置插件应用服务,详见插件编排使用说明

说明:只有服务状态为上线状态,才可以查看自动生成的服务地址。

(2)在控制台-系统配置-插件编排页面,点击某插件服务详情。

image.png

(3)在插件的详情页中,查看完整的服务地址

image.png

(4)获取endpoint值。

例如,插件服务地址为https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/plugin/testxxx/,则endpoint值为testxxx。

参数说明

请求参数

名称 类型 必填 描述
query string 查询信息。说明:
(1)成员不能为空
(2)长度不能超过1000个字符
plugins list[string] 需要调用的插件ID列表,说明:
(1)如果使用智慧图问插件,该字段必填,且为固定值["uuid-chatocr"]
(2)如果不填写该字段,是在插件编排时配置范围内进行意图识别,使用模型进行回答
fileurl string 文件的URL地址,说明:
(1)图片要求是百度BOS上的图片,即用户必须现将图片上传至百度BOS,图片url地址包含bcebos.com;只有在访问北京区域BOS,才不会产生BOS的外网流出流量费用
(2)图片支持jpg、jpeg、png,必须带后缀名
(3)图像尺寸最小为80*80,如果图像小于该尺寸,则无法识别
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":"assistant","content":"..."},...]
verbose bool 是否返回插件的原始请求信息,默认false,可选值如下:
true:是,返回插件的原始请求信息meta_info
false:否,不返回插件的原始请求信息meta_info

返回参数

名称 类型 描述
log_id int 唯一,用于问题定位
result string 插件返回结果
sentence_id int 表示当前子句的序号,只有在流式接口模式下会返回该字段
is_end bool 表示当前子句是否是最后一句,只有在流式接口模式下会返回该字段
meta_info dict 插件的原始请求信息

meta_info说明

名称 类型 描述
plugin_id string 插件名
request dict 原始请求参数
response dict 原始返回结果

request说明

名称 类型 描述
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 文字框的高度,单位为像素