使用 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);
    }
}

3.2 解析 API 響應

使用 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. 實戰應用

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. 性能優化與錯誤處理

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 開發之旅!

上一篇:

Genie 3 Go 語言 API 快速接入指南:構建實時交互與長效記憶的游戲環境

下一篇:

使用 Web Share API 實現圖片分享
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費