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