
5種最佳API認證方法,顯著提升…
使用 OkHttp 發送 POST 請求:
import okhttp3.*;
import com.google.gson.Gson;
import java.io.IOException;
public class OpenAIClient {
private static final String API_URL = "https://api.openai.com/oss/v1/completions";
private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
public static String generateText(String prompt, String model, String apiKey) throws IOException {
OkHttpClient client = new OkHttpClient();
// 構造請求體
String json = String.format(
"{\"model\": \"%s\", \"prompt\": \"%s\", \"max_tokens\": 150}",
model, prompt
);
RequestBody body = RequestBody.create(json, JSON);
Request request = new Request.Builder()
.url(API_URL)
.post(body)
.addHeader("Authorization", "Bearer " + apiKey)
.build();
try (Response response = client.newCall(request).execute()) {
if (!response.isSuccessful()) throw new IOException("Unexpected code: " + response);
return response.body().string();
}
}
public static void main(String[] args) throws IOException {
String apiKey = "your-api-key";
String prompt = "Java 如何調用 OpenAI API?";
String model = "gpt-oss-20b"; // 或 "gpt-oss-120b"
String response = generateText(prompt, model, apiKey);
System.out.println(response);
}
}
使用 Gson 解析 JSON 響應:
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
public class ResponseParser {
public static String parseResponse(String jsonResponse) {
JsonObject jsonObject = JsonParser.parseString(jsonResponse).getAsJsonObject();
return jsonObject.get("choices").getAsJsonArray()
.get(0).getAsJsonObject()
.get("text").getAsString();
}
public static void main(String[] args) throws IOException {
String response = OpenAIClient.generateText("Java 調用 OpenAI API", "gpt-oss-20b", "your-api-key");
String generatedText = parseResponse(response);
System.out.println("生成的文本: " + generatedText);
}
}
4.1 代碼補全
String prompt = "// Java 實現快速排序\npublic class QuickSort {";
String response = OpenAIClient.generateText(prompt, "gpt-oss-20b", apiKey);
System.out.println(ResponseParser.parseResponse(response));
4.2 智能對話機器人
String prompt = "用戶:你好,你是誰?\nAI:";
String response = OpenAIClient.generateText(prompt, "gpt-oss-20b", apiKey);
System.out.println("AI 回復: " + ResponseParser.parseResponse(response));
5.1 優化 API 調用
批處理請求:減少 API 調用次數。
緩存機制:存儲常用查詢結果。
異步調用:使用 CompletableFuture 提升并發性能。
5.2 錯誤處理
try {
String response = OpenAIClient.generateText(prompt, model, apiKey);
System.out.println(ResponseParser.parseResponse(response));
} catch (IOException e) {
System.err.println("API 請求失敗: " + e.getMessage());
} catch (Exception e) {
System.err.println("解析錯誤: " + e.getMessage());
}
本文詳細介紹了如何在 Java 中快速接入 OpenAI OSS 的 GPT-OSS-120B 和 GPT-OSS-20B API,涵蓋環境配置、API 調用、實戰應用及優化策略。通過本教程,開發者可以輕松集成 AI 能力,提升開發效率。
?? 立即嘗試 OpenAI OSS API,開啟你的 AI 開發之旅!