写点什么

简单几步,快速让你的 Java 项目拥有 AI 能力

  • 2024-12-11
    北京
  • 本文字数:2692 字

    阅读完需:约 9 分钟

大小:698.99K时长:03:58
简单几步,快速让你的 Java 项目拥有 AI 能力

Java 是一种面向对象的编程语言,广泛应用于企业级应用开发、Web 开发、移动应用开发(Android 应用主要使用 Java 或 Kotlin 编写)、大数据处理等众多领域。它是一门成熟、稳定且不断发展的编程语言,拥有庞大的开发者社区和丰富的学习资源。


在当前的 AI 时代下,如何能让自己的项目快速拥有 AI 能力呢?今天要跟大家分享的是:使用豆包MarsCode AI 快速生成调用扣子 API 的能力,分分钟让自己的服务拥有更加强大的 AI 能力!

为什么是扣子


扣子提供多种大模型的接入和一定的免费额度,其成熟的 API,非常便于用户的调用。我们需要在扣子中发布一个 Bot 作为 API 的载体,同时申请一个访问令牌,用于调用 API。

生产扣子的调用凭证

发布一个 Bot


Bot 发布为 API 服务之后,才能通过调用 API 的方式使用这个 Bot,例如查看 Bot 的基本设置、发起一个 Bot 对话等。 


操作步骤如下: 

  • 进入目标空间,创建一个 Bot 或选择一个已创建的 Bot;

  • 在编排页面,单击发布;

  • 在发布页面,选择 Agent as API 选项,然后单击发布。


获得 Bot Id


从浏览区复制出 bot_id,这是调用 API 的参数之一。

获取访问令牌


调用扣子 API 时,你需要在 Header 中通过 Authorization 参数指定访问令牌(Access token),扣子服务端会根据访问令牌验证调用方的操作权限。调用 API 之前,你需要先获得访问令牌。 


个人访问令牌:通过控制台生成的访问令牌,有效期为一天以上,使用简单便捷,适用于测试场景。你可以随时调整令牌权限和有效期,到期后需要重新生成。 


  1. 登录扣子平台。

  2. 在左侧菜单栏下方,点击个人头像,并在弹出菜单中单击扣子 API。

  3. 在扣子 API 页面,进入授权 > 个人访问令牌页签。

  4. 单击添加新令牌。

  5. 在弹出的页面完成以下配置,然后单击确定。


 

6.  复制并妥善保存个人访问令牌。 


  • 生成的令牌仅在此时展示一次,请即刻复制并保存;

  • 不要与他人共享你的个人访问令牌,也不要在浏览器或其他客户端代码中暴露个人访问令牌信息。 

安装豆包 MarsCode AI 编程助手‍‍


在启动编码工作前,我们需要先下载安装 VSCode 并安装豆包MarsCode 编程助手,VSCode 是一款轻量级但功能强大的代码编辑器,插件丰富,界面友好,搭配免费的豆包MarsCode 编程助手,让智能 AI 辅助你学习编码,效率加倍!



配置 Java 环境


配置 Java 环境是学习 Java 的第一步,它确保你拥有正确的工具和依赖,以便顺利编写、运行和调试代码。让 AI 来告诉你该如何做吧!


打开豆包MarsCode插件面板,根据你的设备机型提问 AI :“Mac 或 Windows 如何安装 Java 环境?”,后文将以 Mac 举例。


根据 AI 给出的回答,我们可以清晰地了解配置 Java 环境的每个步骤,在 AI 提供的命令行代码块上方点击插入到终端,回车即可执行。




生成调用扣子 API 的代码


我们可以看到扣子官方的 API 样例(https://sourl.cn/Xnaank)并不是 Java 格式,无法直接用在我们的 Java 项目中。



我们可以让豆包 MarsCode AI 来帮我们用 Java 写出调用扣子 API 的代码。





import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;
public class CurlToJava { public static void main(String[] args) { String url = "https://api.coze.cn/v3/chat"; String token = "pat_OYDacMzM3WyOWV3Dtj2bHRMymzxP****"; String data = "{" + "\"bot_id\": \"73428668*****\"," + "\"user_id\": \"123123***\"," + "\"stream\": false," + "\"auto_save_history\":true," + "\"additional_messages\":[{" + "\"role\":\"user\"," + "\"content\":\"早上好\"," + "\"content_type\":\"text\"" + "}]" + "}"; sendPostRequest(url, token, data);
} public static String sendPostRequest(String url, String token, String data) { try { URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST"); con.setRequestProperty("Authorization", "Bearer " + token); con.setRequestProperty("Content-Type", "application/json"); con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream()); wr.writeBytes(data); wr.flush(); wr.close();
int responseCode = con.getResponseCode(); System.out.println("Response Code: " + responseCode);
BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine())!= null) { response.append(inputLine); } in.close();
String responseContent = response.toString(); System.out.println("Response Content: " + responseContent); return responseContent; } catch (IOException e) { e.printStackTrace(); return null; } }}
复制代码


在运行代码前,请将示例中的以下参数值替换成真实数据: 


  • Authorization:生成的个人访问令牌,上述步骤中已经获取。

  • bot_id:Bot ID。

    进入 Bot 开发页面,开发页面 URL 中 Bot 参数后的数字 Bot ID。例如 https://www.coze.cn/space/341****/bot/73428668*****,bot ID 为 73428668*****。


替换后运行代码,可以看到,已经成功获取了数据返回。



Response Code: 200Response Content: {    "data":    {        "id": "7403713*****",        "conversation_id": "7403713254******",        "bot_id": "740333648******",        "created_at": 1723811327,        "last_error":        {            "code": 0,            "msg": ""        },        "status": "in_progress"    },    "code": 0,    "msg": ""}
复制代码


至此,我们已经成功联通了扣子的 AI Bot,可以直接在 Java 项目里使用 AI 能力!


感兴趣的朋友们赶快使用豆包MarsCode 体验下吧!

2024-12-11 16:009826

评论

发布
暂无评论
发现更多内容

NLP 论文领读|无参数机器翻译遇上对比学习:效率和性能我全都要!

澜舟孟子开源社区

人工智能 自然语言处理 机器学习 深度学习 机器翻译

我和 TiDB 的故事 | 学tidb半年,社区治好了我的精神内耗

TiDB 社区干货传送门

人物访谈 社区活动

踩坑了!mysql明明加了唯一索引,还是产生了重复数据

程序员小毕

Java MySQL 数据库 程序员 后端

兵荒马乱,毕业季的故事

坚果

毕业 8月月更

一次多表关联顺序的慢查询——TiDB 关联特性

TiDB 社区干货传送门

性能调优

数据结构与算法完整版 | 超详细图解,看这一篇就够了

冉然学Java

字节跳动 java; 技术分享 编程、 算法与数据结构

酷炫一款动态背景+鼠标点击效果(HTML +js canvas)

Five

Hexo js 动效 canvas 8月月更

NFT卡牌游戏系统Dapp开发(NFT链游)

薇電13242772558

dapp NFT

leetcode 240. Search a 2D Matrix II 搜索二维矩阵 II(中等)

okokabcd

数组 LeetCode 数据结构与算法

【Spring Boot 三】SpringBoot中事件与通知

石臻臻的杂货铺

Spring Boot 8月月更

国密是什么意思?属于商密还是普密?

行云管家

信息安全 国密

vue-router 如何实现支持外部链接

Five

vue-router 路由 8月月更

字节跳动 Flink 状态查询实践与优化

Apache Flink

大数据 flink

兆骑科创高层次人才引进平台,赛事活动举办,线上路演

兆骑科创凤阁

对话庄表伟:开源第一课

开源社

#开源

shell脚本,帮你提升摸鱼时间!

工程师日月

签约计划第三季 8月月更

我和 TiDB 的故事 | 横看成岭侧成峰

TiDB 社区干货传送门

人物访谈

COSCon'22城市/学校/机构出品人征集令

开源社

#开源 COSCon'22

行云管家荣获第十一届中国财经峰会“2022杰出品牌形象奖”

行云管家

云计算 多云管理 财经峰会

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

美创科技

漏洞

CRM巨头败走中国,Salesforce中国区或将解散?

ToB行业头条

阿里P8整理的《百亿级并发系统设计》实战教程,实在是太香了

冉然学Java

数据库 编程 架构 分布式 并发系统设计

文盘Rust -- 配置文件解析

TiDB 社区干货传送门

开发语言

我和TiDB的故事 | 遇上你是我的缘

TiDB 社区干货传送门

人物访谈 社区活动

【Spring Boot 四】启动之准备系统环境environmentPrepared

石臻臻的杂货铺

Spring Boot 8月月更

观测云产品更新|DCA Web 端上线;新增全局的查看器自动刷新配置;新增全局黑名单功能;新增自定义功能菜单等

观测云

华为分析&联运活动,助您提升游戏总体付费

HarmonyOS SDK

华为 游戏开发 分析 HMS Core

自己动手制作elasticsearch-head的Docker镜像

程序员欣宸

Java Docker elasticsearch 8月月更

中移链EOSJS实战使用

BSN研习社

RT-Thread记录(二、RT-Thread内核启动流程 — 启动文件和源码分析)

矜辰所致

RTT RT-Thread 8月月更

荆棘与玫瑰:基础服务架构师的成⻓之路

九叔(高翔龙)

架构师 全球架构师峰会

简单几步,快速让你的 Java 项目拥有 AI 能力_生成式 AI_TRAE_InfoQ精选文章