组件
更新时间:2025-04-09
组件
具有特定能力的工具,用来扩展agent的能力和使用场景。例如百度AI搜索组件,可以使 Agent 实时获取最新信息并回答用户问题。
通过API/SDK调用各类组件
当前组件主要分为两类:工作流组件 和 官方组件。工作流组件主要是用户根据自己的业务需求搭建的组件。官方组件为平台提供的具有特定能力的组件,如百度AI搜索。
接口能力概览
组件分类 | 接口描述 |
---|---|
工作流组件调用 | 调用通过工作流创建的组件。注意,组件中包含记忆节点和百度搜索组件时,不支持API/SDK调用。 |
官方组件调用 | 百度AI搜索、多轮改写、相似问生成、标签抽取、会话小结、风格转写、风格写作、问答对挖掘、阅读理解问答、文档解析、文档切分、幻觉检测、长文档内容理解、重排序、TreeMind树图等组件。 |
工作流组件调用
在AppBuilder平台上,通过工作流自定义的组件,现在可以通过API/SDK的方式进行调用。以方便用户快速构建组件,然后将组件放至到自己的业务中使用。组件的创建流程请查看工作流组件创建
注意:组件中包含记忆节点和百度搜索组件时,不支持API/SDK调用。
前置条件
通过API/SDK方式调用的工作流组件需要调试好后并发布。
在【个人空间】下的【组件】下找到一个已经发布的组件,拿到它的组件id。
请求示例
通过工作流组件调用接口,调用要使用的组件。
JSON
1curl --location 'https://qianfan.baidubce.com/v2/components/ba098d65-b40b-4162-b89e-d9498a1c1453/version/latest' \
2--header 'Authorization: Bearer <AppBuilder API Key>' \
3--header 'Content-Type: application/json' \
4--data '{
5 "stream": false,
6 "parameters": {
7 "_sys_origin_query": "今天的天气如何,10个字回答",
8 "_sys_file_urls": {
9 "abc.png": "https://vcg02.cfp.cn/creative/vcg/800/new/VCG21gic6370954.jpg"
10 },
11 "_sys_conversation_id": "32fad7d0-1f8c-4d59-9e63-61f5d602c156",
12 "_sys_end_user_id": "david1980",
13 "_sys_chat_history": [
14 {
15 "role": "user",
16 "content": "你好啊"
17 }
18 ],
19 "custom_variable1": "abc",
20 "custom_variable2": 1.23
21 }
22}'
响应示例
JSON
1{
2 "conversation_id": "32fad7d0-1f8c-4d59-9e63-61f5d602c156",
3 "message_id": "7b6fab29-d11e-4544-9f84-a0afb9f8e4c9",
4 "trace_id": "c5de1b79-bd5b-49c1-9ffc-0dfebda92eda",
5 "user_id": "a00dd7b8-70ec-4312-9e23-29c8e1a11f4f",
6 "end_user_id": "david1980",
7 "status": "done",
8 "role": "tool",
9 "content": [
10 {
11 "type": "text",
12 "name": "结束",
13 "text": {
14 "info": "今天天气晴朗明媚。"
15 },
16 "visible_scope": "all",
17 "usage": {
18 "prompt_tokens": 8,
19 "completion_tokens": 4,
20 "total_tokens": 12,
21 "nodes": [
22 {
23 "node_id": "9e9a5d07684c43fd84011c0d376a2d63",
24 "models_usage": [
25 {
26 "model_name": "ERNIE-3.5-8K",
27 "prompt_tokens": 8,
28 "completion_tokens": 4,
29 "total_tokens": 12
30 }
31 ]
32 }
33 ]
34 },
35 "metrics": {
36 "begin_time": "2024-12-26T16:14:12.851127",
37 "duration": 0.806
38 },
39 "event": {
40 "id": "95e5dfb87e86405eaed52207f62d404e",
41 "status": "done",
42 "name": "/component/3435ce76fc744c019b4923b15e9cf985/node/95e5dfb87e86405eaed52207f62d404e",
43 "created_time": "2024-12-26T16:14:13.657471",
44 "error_code": "",
45 "error_message": ""
46 }
47 }
48 ]
49}
通过SDK调用官方组件
以长文档内容理解组件为例
调用步骤
- 执行如下命令,快速安装Python语言的最新版本AppBuilder-SDK,支持 Python >= 3.9版本。
Python
1pip install --upgrade appbuilder-sdk
- 设置密钥并初始化模块:将
APPBUILDER_TOKEN
设置为你的千帆 AppBuilder 密钥并存储到环境变量中,然后使用appbuilder.DocumentUnderstanding()
初始化文档理解模块du
。 - 准备参数:定义用户问题、基础指令、增强指令(可选)、应用 ID、文件路径和流式输出设置。
- 运行分析并输出结果:调用
du.run()
方法传入参数启动文档理解任务,并遍历打印返回的结果。
调用示例
Python
1import os
2import appbuilder
3
4# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5
5APPBUILDER_TOKEN = "YOUR-TOKEN"
6os.environ["APPBUILDER_TOKEN"] = APPBUILDER_TOKEN
7du = appbuilder.DocumentUnderstanding()
8query = appbuilder.Message("这篇文档讲了什么")
9instruction = "请根据文档内容回答问题,用一句话简短概括"
10addition_instruction = "用一句话简短概括" ##用户增强指令,可选填,该内容会进一步增强大模型的指令跟随能力,将你最需要增强效果的指令填于此,内容可以与上述的"instruction"基础指令有重复,注意:该字段内容过多会一定程度影响大模型内容严谨度,请注意控制该字段的指令字数
11app_id = "YOUR-APP-ID" ##你需要在系统上自己的账号下(https://qianfan.cloud.baidu.com/appbuilder)创建任意空Agent,并获取该Agent的app_id(即界面上的应用ID,在首页->个人空间->应用 里面即会显示应用ID),这里任意空Agent就可以,无需任何配置信息,这个agent的作用只是为了获取app_id信息
12file_path = "YOUR-FILE-PATH" ##填写你的本地待分析文件路径
13stream = False ##是否开启流式输出功能
14response_ = du.run(query,
15 file_path,
16 instruction=instruction,
17 addition_instruction=addition_instruction,
18 app_id=app_id,
19 stream=stream)
20
21for result in response_:
22 print(result) ##打印输出的大模型答案