原標(biāo)題:簡單幾步,快速讓你的 Java 項目擁有 AI 能力
Java 是一種面向?qū)ο蟮木幊陶Z言,廣泛應(yīng)用于企業(yè)級應(yīng)用開發(fā)、Web 開發(fā)、移動應(yīng)用開發(fā)(Android 應(yīng)用主要使用 Java 或 Kotlin 編寫)、大數(shù)據(jù)處理等眾多領(lǐng)域。它是一門成熟、穩(wěn)定且不斷發(fā)展的編程語言,擁有龐大的開發(fā)者社區(qū)和豐富的學(xué)習(xí)資源。
在當(dāng)前的 AI 時代下,如何能讓自己的項目快速擁有 AI 能力呢?今天要跟大家分享的是:使用豆包MarsCode AI 快速生成調(diào)用 Coze API 的能力,分分鐘讓自己的服務(wù)擁有更加強大的 AI 能力!
為什么是 Coze
Coze 提供多種大模型的接入和一定的免費額度,其成熟的 API,非常便于用戶的調(diào)用。
我們需要在 Coze 中發(fā)布一個 Bot 作為 API 的載體,同時申請一個訪問令牌,用于調(diào)用 API。
生產(chǎn) Coze 的調(diào)用憑證
發(fā)布一個 Bot
Bot 發(fā)布為 API 服務(wù)之后,才能通過調(diào)用 API 的方式使用這個 Bot,例如查看 Bot 的基本設(shè)置、發(fā)起一個 Bot 對話等。
操作步驟如下:
- 進(jìn)入目標(biāo)空間,創(chuàng)建一個 Bot 或選擇一個已創(chuàng)建的 Bot;
- 在編排頁面,單擊發(fā)布;
- 在發(fā)布頁面,選擇 Agent as API 選項,然后單擊發(fā)布。
獲得 Bot Id
從瀏覽區(qū)復(fù)制出 bot_id
,這是調(diào)用 API 的參數(shù)之一。
獲取訪問令牌
調(diào)用 Coze API 時,你需要在 Header 中通過 Authorization 參數(shù)指定訪問令牌(Access token),Coze 服務(wù)端會根據(jù)訪問令牌驗證調(diào)用方的操作權(quán)限。調(diào)用 API 之前,你需要先獲得訪問令牌。
個人訪問令牌:通過控制臺生成的訪問令牌,有效期為一天以上,使用簡單便捷,適用于測試場景。你可以隨時調(diào)整令牌權(quán)限和有效期,到期后需要重新生成。
- 登錄 Coze 平臺。
- 在左側(cè)菜單欄下方,點擊個人頭像,并在彈出菜單中單擊 Coze API。
- 在 Coze API 頁面,進(jìn)入授權(quán) > 個人訪問令牌頁簽。
- 單擊添加新令牌。
- 在彈出的頁面完成以下配置,然后單擊確定。
- 復(fù)制并妥善保存?zhèn)€人訪問令牌。
- 生成的令牌僅在此時展示一次,請即刻復(fù)制并保存;
- 不要與他人共享你的個人訪問令牌,也不要在瀏覽器或其他客戶端代碼中暴露個人訪問令牌信息。
安裝豆包MarsCode AI 編程助手??
在啟動編碼工作前,我們需要先下載安裝 VSCode 并安裝豆包MarsCode 編程助手,VSCode 是一款輕量級但功能強大的代碼編輯器,插件豐富,界面友好,搭配免費的豆包MarsCode 編程助手,讓智能 AI 輔助你學(xué)習(xí)編碼,效率加倍!
配置 Java 環(huán)境
配置 Java 環(huán)境是學(xué)習(xí) Java 的第一步,它確保你擁有正確的工具和依賴,以便順利編寫、運行和調(diào)試代碼。讓 AI 來告訴你該如何做吧!
打開豆包MarsCode 插件面板,根據(jù)你的設(shè)備機型提問 AI :“Mac 或 Windows 如何安裝 Java 環(huán)境?
”,后文將以 Mac 舉例。
根據(jù) AI 給出的回答,我們可以清晰地了解配置 Java 環(huán)境的每個步驟,在 AI 提供的命令行代碼塊上方點擊插入到終端,回車即可執(zhí)行。
生成調(diào)用 Coze API 的代碼
我們可以看到 Coze 官方的 API 樣例(https://sourl.cn/Xnaank)并不是 Java 格式,無法直接用在我們的 Java 項目中。
我們可以讓豆包MarsCode AI 來幫我們用 Java 寫出調(diào)用 Coze 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;
}
}
}
在運行代碼前,請將示例中的以下參數(shù)值替換成真實數(shù)據(jù):
- Authorization:生成的個人訪問令牌,上述步驟中已經(jīng)獲取。
- bot_id:Bot ID。
進(jìn)入 Bot 開發(fā)頁面,開發(fā)頁面 URL 中 Bot 參數(shù)后的數(shù)字 Bot ID。例如https://www.coze.cn/space/341****/bot/73428668*****
,bot ID 為73428668*****
。
替換后運行代碼,可以看到,已經(jīng)成功獲取了數(shù)據(jù)返回。
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": ""
}
至此,我們已經(jīng)成功聯(lián)通了 Coze 的 AI Bot,可以直接在 Java 項目里使用 AI 能力!
感興趣的朋友們趕快使用豆包MarsCode 體驗下吧!點擊「豆包MarsCode」即可體驗~