《零代码到智能体:蚂蚁百宝箱TBox Agent SDK实战指南》

简介: 蚂蚁百宝箱开放OpenAPI/SDK调用智能体,开发者每月享10亿免费token。本文教你如何创建智能体,并用Python、Java等代码快速集成调用,涵盖对话与内容生成应用的构建全流程。

概要

蚂蚁百宝箱平台近期开放了OpenAPI / SDK的形式调用智能体相关服务的能力。并且承诺给每个开发者每月免费10亿token使用(包含大模型对话、知识库RAG、官方插件调用等多想能力)。

这篇文章中,主要给大家分享下如何在百宝箱中构建一个属于你自己的智能体,并使用 Python 和 Java 代码调通它!

让我们开始吧

1. 打开百宝箱,新建一个智能体应用

点击跳转:百宝箱,在左侧应用Tab中点击“新建应用”按钮。

在百宝箱,我们将应用分为对话型以及内容生成型两种。同时每种应用又配备了不同的构建方式,以满足不同用户的个性化需求。

  • 对话型应用:允许用户以对话的形式与智能体进行交互。
  • 内容生成型应用:支持文本生成、图片生成的能力。

应用类型

构建方式

说明

对话型

简单构建

通过简单配置即可实现应用搭建。

工作流

支持开发者通过拖拉拽的形式可视化进行流程节点编排,以满足复杂的业务场景。

内容生成型

文生图

支持用户输入文本进行图片生成。

图生图

能够根据用户上传的图片生成新的图片。

文本生成

适用于文本内容创作需求,例如作诗、写文案等场景。

工作流

支持开发者通过拖拉拽的形式可视化进行流程节点编排,以满足复杂的业务场景。

2. 发布你的第一个智能体应用

这里以简单构建方式的对话型应用为例,构建一个新闻查询助手,使用夸克搜索工具来实现从互联网中搜索新闻信息:

附提示词:

# 角色
你是一个新闻搜索助手,你可以帮助用户查询指定日期的新闻或帮助用户根据关键词搜索新闻内容。
# 流程
- 在使用工具进行搜索之前,你需要先理解用户的意图
- 根据你理解的用户意图,从用户提问中提取新闻相关的关键信息
- 将你提取的信息输入给工具,进行搜索
- 将搜索结果按照时间顺序总结之后返回给用户

之后,你需要点击发布按钮,并将你的智能体发布到“智能体SDK”渠道:

3. 在“百宝箱开放平台”中,创建调用令牌

在步骤2完成“授权并启用”后,点击“授权配置”按钮,跳转到百宝箱开放平台页面:

在百宝箱开放平台的“授权管理”Tab中,创建一个令牌。注意,场景选择“智能体调用”:

4. 接下来,用TBox SDK将智能体集成到你的项目系统中

百宝箱开放平台提供了OpenAPI、Python SDK、Java SDK、Node.js SDK四种方式,能够让你在你的项目中完成智能体的流式/非流式 对话 & 生成任务。具体方式参考下方调用示例。

调用示例

使用上述步骤创建的智能体和令牌信息,即可完成调用

注意:appId信息可以在智能体发布页获取,如下所示:

OpenAPI

直接使用以下curl命令即可:

curl --location 'https://api.tbox.cn/api/chat' 
 --header 'Authorization: your-authorization-token-here' 
 --header 'Content-Type: text/json' 
 --header 'Accept: text/event-stream' 
 --data '{"appId":"your-app-id-here","query":"今天有什么新闻","userId":"test","stream":true}'

Python SDK

流式响应

from tboxsdk.tbox import TboxClient
tbox_client = TboxClient(authorization="your-authorization-token-here")
response = tbox_client.chat(app_id="your-app-id-here", query="今天有什么新闻", user_id="test")
for chunk in response:
    print(f"--------------------------------------------------------")
    print(f"data: {chunk}")
    print(f"--------------------------------------------------------")

非流式响应

from tboxsdk.tbox import TboxClient
tbox_client = TboxClient(authorization="your-authorization-token-here")
response = tbox_client.chat(app_id="your-app-id-here", query="今天有什么新闻", user_id="test", stream=False)
resp_str = json.dumps(response, ensure_ascii=False)
print(f"--------------------------------------------------------")
print(f"data: {resp_str}")
print(f"--------------------------------------------------------")

Java SDK

流式响应

import cn.tbox.sdk.TboxClient;
import cn.tbox.sdk.core.exception.TboxClientConfigException;
import cn.tbox.sdk.core.exception.TboxHttpResponseException;
import cn.tbox.sdk.model.request.ChatRequest;
import java.util.Map;
public class ChatExample {
    public static void main(String[] args) throws TboxHttpResponseException {
        try {
            // Create a client with just authorization token
            TboxClient client = new TboxClient("your-authorization-token-here");
            ChatRequest chatRequest = new ChatRequest("your-app-id-here", "今天有什么新闻", "test");
            Iterable<Map<String, Object>> chatStream = (Iterable<Map<String, Object>>) client.chat(chatRequest);
            for (Map<String, Object> response : chatStream) {
                System.out.println("Received chunk: " + response);
            }
        } catch (TboxClientConfigException e) {
            System.err.println("Configuration error: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

非流式响应

import cn.tbox.sdk.TboxClient;
import cn.tbox.sdk.core.exception.TboxClientConfigException;
import cn.tbox.sdk.core.exception.TboxHttpResponseException;
import cn.tbox.sdk.model.request.ChatRequest;
import cn.tbox.sdk.model.response.SyncChatResponse;
import cn.tbox.sdk.model.response.TboxResponse;
public class ChatExample {
    public static void main(String[] args) throws TboxHttpResponseException {
        try {
            // Create a client with just authorization token
            TboxClient client = new TboxClient("your-authorization-token-here");
            ChatRequest chatRequest = new ChatRequest("your-app-id-here", "今天有什么新闻", "test");
            chatRequest.setStream(false);
            TboxResponse<SyncChatResponse> syncResult = (TboxResponse<SyncChatResponse>) client.chat(chatRequest);
            System.out.println(syncResult);
        } catch (TboxClientConfigException e) {
            System.err.println("Configuration error: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Node.js SDK

流式响应

import { TboxClient } from 'tbox-nodejs-sdk';
const client = new TboxClient({
    httpClientConfig: {
        authorization: 'your-authorization-token-here'
    }
});
const stream = client.chat({
    appId: 'your-app-id-here',
    query: '今天有什么新闻',
    userId: 'test'
});
stream.on('data', (data) => {
    console.log('Received data:', data);
});
stream.on('end', () => {
    console.log('Stream ended');
});
stream.on('error', (error) => {
    console.error('Stream error:', error);
});

非流式响应

import { TboxClient } from 'tbox-nodejs-sdk';
const client = new TboxClient({
    httpClientConfig: {
        authorization: 'your-authorization-token-here'
    }
});
client.chatSync({
    appId: 'your-app-id-here',
    query: '今天有什么新闻',
    userId: 'test'
}, {
    sseFormat: true
}).then(response => {
    console.log(response);
});
相关文章
|
6月前
|
人工智能 编解码 芯片
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
不会向ai提问,不知道怎么提问的 可以看看
20147 1
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
|
20天前
|
SQL 人工智能 关系型数据库
AI Agent的未来之争:任务规划,该由人主导还是AI自主?——阿里云RDS AI助手的最佳实践
AI Agent的规划能力需权衡自主与人工。阿里云RDS AI助手实践表明:开放场景可由大模型自主规划,高频垂直场景则宜采用人工SOP驱动,结合案例库与混合架构,实现稳定、可解释的企业级应用,推动AI从“能聊”走向“能用”。
695 38
AI Agent的未来之争:任务规划,该由人主导还是AI自主?——阿里云RDS AI助手的最佳实践
|
23天前
|
Java API 开发工具
百宝箱开放平台 ✖️ Java SDK
百宝箱提供Java SDK,支持开发者集成其开放能力。需先发布应用,准备Java 8+及Maven环境,通过添加依赖安装SDK,并初始化客户端调用对话型或生成型智能体,实现会话管理、消息查询与文件上传等功能。
1180 0
百宝箱开放平台 ✖️ Java SDK
|
17天前
|
人工智能 监控 Java
构建定时 Agent,基于 Spring AI Alibaba 实现自主运行的人机协同智能 Agent
借助 Spring AI Alibaba 框架,开发者可快速实现定制化自动定时运行的 Agent,构建数据采集、智能分析到人工参与决策的全流程AI业务应用。
413 32
|
13天前
|
人工智能 视频直播 数据库
2025最新AI智能体学习路线图
零基础入门AI智能体?「智能体来了」为你梳理从技能学习到商业变现的完整路径:涵盖Coze平台开发、Python基础、全平台实战、短视频引流、直播变现实操,助你打造产品+流量+成交闭环,边学边做,快速上手AI智能体商业化应用。
|
22天前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
1129 53
|
17天前
|
人工智能 开发框架 安全
浅谈 Agent 开发工具链演进历程
模型带来了意识和自主性,但在输出结果的确定性和一致性上降低了。无论是基础大模型厂商,还是提供开发工具链和运行保障的厂家,本质都是希望提升输出的可靠性,只是不同的团队基因和行业判断,提供了不同的实现路径。本文按四个阶段,通过串联一些知名的开发工具,来回顾 Agent 开发工具链的演进历程。
253 39
|
20天前
|
人工智能 API 开发工具
构建AI智能体:一、初识AI大模型与API调用
本文介绍大模型基础知识及API调用方法,涵盖阿里云百炼平台密钥申请、DashScope SDK使用、Python调用示例(如文本情感分析、图像文字识别),助力开发者快速上手大模型应用开发。
666 16
构建AI智能体:一、初识AI大模型与API调用