Agent应用
更新时间:2025-04-16
整体使用流程包括以下两个环节:
- 进入百度智能云千帆AppBuilder官网创建并发布应用、获取应用ID、获取密钥
- 引用AppBuilderSDK代码,初始化AppBuilderClient实例、创建会话、上传文档(可选)、执行对话
以下分别提供三个样例,快递查询小助手、植物识别小助手、篮球教练来说明使用流程,并提供了一个异步调用示例加速调用流程。注意以下流程用到的密钥可在图示位置中获取:
1. 快递查询小助手
快递查询小助手一键体验
1.1 Console端应用配置与发布
- 进入百度智能云千帆AppBuilder官网,配置智能体指令、选择相应的工具组件、发布应用
- 获取应用ID
1.2 SDK代码调用示例
Python
1import appbuilder
2import os
3# 注意以下示例正确运行依赖的条件包括:
4# 1. 在百度智能云千帆AppBuilder官网使用AppBuilderClient创建应用且应用已发布
5# 2. 密钥正确有效
6# 3. 密钥需要与发布应用正确对应,即需要使用发布应用的账户下的密钥
7
8# 配置密钥与应用ID
9os.environ["APPBUILDER_TOKEN"] ="secret_key"
10app_id = "35f4fed3-d530-4dad-bc8e-f2150a4450be"
11
12# 初始化Agent
13builder = appbuilder.AppBuilderClient(app_id)
14
15# 创建会话ID
16conversation_id = builder.create_conversation()
17
18# 执行对话
19msg = builder.run(conversation_id, "我的快递单号是:9858485940100; 请查询下此快递的状态")
20print("快递查询助理回答内容:", msg.content.answer)
21
22# 执行流式对话
23msg = builder.run(conversation_id, "使用语音播报快递当前状态", stream=True)
24for content in msg.content:
25 for ev in content.events:
26 if ev.content_type == "audio":
27 print("快递查询助理生成的音频播放地址:", ev.detail["audio"])
2. 植物识别小助手
植物识别小助手一键体验
2.1 Console端应用配置与发布
- 进入百度智能云千帆AppBuilder官网,配置智能体指令、选择相应的工具组件、发布应用
- 获取应用ID, 同1.1
2.2 SDK代码调用示例
Python
1import os
2import appbuilder
3
4# 注意以下示例正确运行依赖的条件包括:
5# 1. 在百度智能云千帆AppBuilder官网使用AppBuilderClient创建应用且应用已发布
6# 2. 密钥正确有效
7# 3. 密钥需要与发布的应用正确对应,即需要使用发布应用的账户下的密钥
8
9# 配置密钥与应用ID
10os.environ["APPBUILDER_TOKEN"] ="..."
11app_id = "7016e0d3-451b-4a47-a818-dc0a16d4b496"
12
13# 初始化Agent实例
14builder = appbuilder.AppBuilderClient(app_id)
15
16# 创建会话ID
17conversation_id = builder.create_conversation()
18
19# 上传植物图片
20file_id = builder.upload_local_file(conversation_id, "./app_builder_resources/tree.png" )
21
22# 植物识别
23msg = builder.run(conversation_id, "请识别图中的植物类别", file_ids=[file_id])
24print("植物识别助理回答内容:", msg.content.answer)
3. 篮球教练
篮球教练知识增强检索一键体验
3.1 Console端应用配置与发布
- 进入百度智能云千帆AppBuilder官网,配置智能体指令、上传文档并关联知识库、发布应用
- 获取应用ID, 同1.1
3.2 SDK代码调用示例
Python
1import os
2import appbuilder
3
4# 注意以下示例正确运行依赖的条件包括:
5# 1. 在百度智能云千帆AppBuilder官网使用AppBuilderClient创建应用且应用已发布
6# 2. 密钥正确有效
7# 3. 密钥需要与发布的应用正确对应,即需要使用发布应用的账户下的密钥
8
9# 配置密钥与应用ID
10os.environ["APPBUILDER_TOKEN"] ="..."
11app_id = "4316a7cb-b6b2-4448-b6fa-ff131c484ec9"
12
13# 初始化Agent实例
14builder = appbuilder.AppBuilderClient(app_id)
15
16# 创建会话ID
17conversation_id = builder.create_conversation()
18
19# 执行对话
20msg = builder.run(conversation_id, "突破技巧中如何运用胯下变向?", )
21print("篮球教练回答内容:", msg.content.answer)
4. 使用异步调用加速AppBuilderClient并发执行
SDK提供异步调用工作流Agent的接口。下面以3章节的“篮球教练”为例,演示如何使用异步调用加速AppBuilderClient并发执行。
Python
1import os
2import appbuilder
3import asyncio
4
5# 注意以下示例正确运行依赖的条件包括:
6# 1. 在百度智能云千帆AppBuilder官网使用AppBuilderClient创建应用且应用已发布
7# 2. 密钥正确有效
8# 3. 密钥需要与发布的应用正确对应,即需要使用发布应用的账户下的密钥
9
10# 配置密钥与应用ID
11os.environ["APPBUILDER_TOKEN"] = "..."
12app_id = "4316a7cb-b6b2-4448-b6fa-ff131c484ec9"
13
14async def agent_run(client, conversation_id, text):
15 ans = await client.run(conversation_id, text, stream=True)
16 async for data in ans.content:
17 print(data)
18
19
20async def agent_sample():
21 client = appbuilder.AsyncAppBuilderClient(app_id)
22 conversation_id = await client.create_conversation()
23 file_id = await client.upload_local_file(
24 conversation_id, "./python/tests/data/qa_appbuilder_client_demo.pdf"
25 )
26 print("file_id is {}".format(file_id))
27 task1 = asyncio.create_task(
28 agent_run(client, conversation_id, "篮球技巧中如何三步上篮?")
29 )
30 task2 = asyncio.create_task(
31 agent_run(client, conversation_id, "突破技巧中如何运用胯下变向?")
32 )
33 await asyncio.gather(task1, task2)
34 await client.http_client.session.close()
35
36if __name__ == "__main__":
37 loop = asyncio.get_event_loop()
38 loop.run_until_complete(agent_sample())