QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

评论

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

产品训练营第四周作业

朱航

用例文档练习

王一凡

产品经理

产品经理训练营--第四周学习总结

月亮 😝

产品经理训练营第0期-第四次作业

孙行者

第0期 第四周作业 极客大学产品经理训练营

产品经理训练营第四次作业

Jobs

面试官系列:讲讲快速失败和安全失败的区别?

后台技术汇

面试 2月春节不断更

第4周作业_贷款申请用例

园子

互联网金融 小额贷款 去中心化金融借贷系统开发

第四周总结

Jove

数据结构与算法 - 排序1.冒泡排序

小马哥

Java 排序算法 数据结构与算法

作业4

YING꯭YING

计算机中的流水线技术到底是个啥?

冰河

程序员 进阶 计算机 流水线技术

云计算自动化对于虚拟化环境意味着什么?

云计算

产品训练营 - 作业 4

简小一

第四章作业-用例

Wangyunnfei

如何检验人生的假设

熊斌

个人提升 2月春节不断更

「产品经理训练营」作业 04

🌟

产品经理 产品经理训练营 产品经理训练

/(ㄒoㄒ)/~~晚了

Nydia

第四周

Jove

微信朋友圈发动态用例及流程图(学习模拟):

🙈🙈🙈

极客大学产品经理训练营

干个副业开个小店的简单分析

boshi

创业 副业赚钱 七日更

业务流程与产品文档

王一凡

产品经理训练营

极客时间购买课程用例

Geek_a32093

云原生中间件的下一站

apache/dubbo-go

微服务 云原生 dubbo 中间件

前端工程师必须知道的用javaScript刷新当前页面的3种方法

孙叫兽

JavaScript 大前端 刷新

产品经理第四周作业

朱琴

用例--学生智慧课堂扫码加入课堂

赝品

【LeetCode】K 个不同整数的子数组题解

Albert

算法 LeetCode 2月春节不断更

20210209—生活记录

VC

二月春节不断更

第四周作业

墨狂之逸才

架构11周

FreeOcean

不可用原因

产品经理训练营-作业四

胡小湖

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