写点什么

简单几步,快速让你的 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:009496

评论

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

软件开发丨关于软件重构的灵魂四问

华为云开发者联盟

软件 开发者 软件开发 代码 软件重构

“全球+”浪潮下,企业出海选择合适的“技术船舶”成关键

华为云开发者联盟

网络 华为云 企业出海 网络加速 宽带

硬核科技:莱克立式吸尘器,引领家居清洁“新态度”

InfoQ_967a83c6d0d7

全民加速节:动态加速在在线教育应用上的最佳实践

阿里云Edge Plus

在线教育 CDN

MySQL redo与undo日志解析

Simon

MySQL Redo MySQL日志

oeasy教您玩转linux010106这儿都有啥 ls

o

微服务架构下,DLI的部署和运维有何奥秘?

华为云开发者联盟

Docker 大数据 Serverless 数据湖 DLI

GitMaster 更新v1.9.0,支持Gitea,Gist拥抱黑暗模式

neo

gitlab tree gitee GitHub、

mPaaS 客户端证书错误避坑指南

阿里云金融线TAM SRE专家服务团队

云原生技术采用增加,全球60%后端开发人员都在使用容器 | 趋势分享

BoCloud博云

云计算 容器 云原生 PaaS 博云

华为云会议的前世今生

华为云开发者联盟

直播 云服务 华为云 视频编码 视频会议

GrowingIO AWS 成本优化之路

GrowingIO技术专栏

AWS 成本优化

学习Python真的能找到工作吗?

代码制造者

Python 程序员 编程语言 低代码 零代码

温故知新——Spring AOP(二)

牛初九

spring aop ioc

不得不了解系列之限流

梦朝思夕

限流

ShardingSphere简介+实战

云淡风轻

ShardingJDBC

开发者的福音,LR.NET模块化代码生成器

Philips

敏捷开发 快速开发 模块化流程 代码质量 .net core

性能相关,内存

Linuxer

性能

从6大应用场景,看边缘计算落地生根

BoCloud博云

容器 边缘计算 PaaS 云平台 博云

数据挖掘学习指南(转载)

Jackchang234987

数据挖掘 产品经理

莱卡、宾利都在用,英特尔oneAPI渲染工具带来高质量视觉体验

E科讯

币期权DAPP 8月28日全球同步耀世上线,掀起币圈追捧热潮

InfoQ_967a83c6d0d7

LeetCode题解:155.最小栈,使用两个栈,详细注释

Lee Chen

大前端 LeetCode

有为而治:平衡吞噬世界的系统之熵

IT民工大叔

我也没想到 Springboot + Flowable 开发工作流会这么简单

程序员小富

java 14

新金融分布式架构之SOFAStack解决方案

阿里云金融线TAM SRE专家服务团队

分享一个阿里云轻量级开源前端图编排,流程图js组件——butterfly-dag

InfoQ_39ba186c207f

Java 流程图 flow canvas html/css

【写作群星榜】8.15~8.28 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

炒股不要看K线图(分享最近学习投资的一点心得)

Nick

投资 理财

CRM企业到底该不该做PaaS?

ToB行业头条

PaaS SaaS CRM

柔性电子拥有改变地球的能力吗?

脑极体

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