快速集成AI到Java项目:豆包MarsCode与Coze API教程

来源: 豆包MarsCode 2024-12-26 15:39:41 浏览数 (158)
反馈

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

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

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

为什么是 Coze

Coze 提供多种大模型的接入和一定的免费额度,其成熟的 API,非常便于用户的调用。

我们需要在 Coze 中发布一个 Bot 作为 API 的载体,同时申请一个访问令牌,用于调用 API。

生产 Coze 的调用凭证

发布一个 Bot

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

操作步骤如下:

  • 进入目标空间,创建一个 Bot 或选择一个已创建的 Bot;
  • 在编排页面,单击发布;
  • 在发布页面,选择 Agent as API 选项,然后单击发布。

Agent as API

获得 Bot Id

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

获取访问令牌

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

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

  1. 登录 Coze 平台。
  2. 在左侧菜单栏下方,点击个人头像,并在弹出菜单中单击 Coze API。
  3. 在 Coze API 页面,进入授权 > 个人访问令牌页签。
  4. 单击添加新令牌。
  5. 在弹出的页面完成以下配置,然后单击确定。 Authorization 参数 获取访问令牌
  6. 复制并妥善保存个人访问令牌。
    • 生成的令牌仅在此时展示一次,请即刻复制并保存;
    • 不要与他人共享你的个人访问令牌,也不要在浏览器或其他客户端代码中暴露个人访问令牌信息。

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

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

安装豆包MarsCode AI 编程助手 豆包MarsCode AI 编程助手界面

配置 Java 环境

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

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

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

配置 Java 环境1

配置 Java 环境2

生成调用 Coze API 的代码

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

生成调用 Coze API 的代码

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

用 Java 写出调用 Coze API 的代码1

用 Java 写出调用 Coze API 的代码2

用 Java 写出调用 Coze API 的代码3

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: 200 Response Content: {
    "data": {
        "id": "7403713*****",
        "conversation_id": "7403713254******",
        "bot_id": "740333648******",
        "created_at": 1723811327,
        "last_error": {
            "code": 0,
            "msg": ""
        },
        "status": "in_progress"
    },
    "code": 0,
    "msg": ""
}

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

感兴趣的朋友们赶快使用豆包MarsCode 体验下吧!点击豆包MarsCode即可体验~

1 人点赞