Java接入ChatGPT接口简单示例

2023-12-13 04:15:46
我们定义了一个名为ChartGPTConfig的类,它有两个私有成员变量apiKey和apiUrl,分别表示ChartGPT的API密钥和API URL。
public class ChartGPTConfig {
    private final String apiKey;
    private final String apiUrl;

    public ChartGPTConfig(String apiKey, String apiUrl) {
        this.apiKey = apiKey;
        this.apiUrl = apiUrl;
    }

    public String getApiKey() {
        return apiKey;
    }

    public String getApiUrl() {
        return apiUrl;
    }
}
简单调用示例:
public class ChartGPTExample {
    public static void main(String[] args) {
        // 创建ChartGPTConfig对象,设置API密钥和API URL
        ChartGPTConfig config = new ChartGPTConfig("YOUR_API_KEY", "https://api.chartgpt.com/v1/generate");
        String query = "What is the population of China?"; // 替换为您的查询
        try {
            // 调用ChartGPT API
            String response = callChartGPTAPI(config, query);
            System.out.println("Response: " + response);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static String callChartGPTAPI(ChartGPTConfig config, String query) throws IOException {
        // 创建OkHttpClient实例
        OkHttpClient client = new OkHttpClient();
        // 构建API请求URL
        String url = config.getApiUrl() + "?query=" + query;

        // 创建HTTP请求
        Request request = new Request.Builder()
                .url(url)
                .addHeader("Authorization", "Bearer " + config.getApiKey())
                .build();

        // 发送HTTP请求并获取响应
        try (Response response = client.newCall(request).execute()) {
            return response.body().string();
        }
    }
}

示例中使用了OkHttp库来发送HTTP请求,可以通过Maven或Gradle将依赖添加。

Maven引入OkHttp依赖:
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
	<version>4.9.1</version>
</dependency>
Gradle引入OkHttp依赖:
// 其他配置
dependencies {
    // OkHttp
    implementation 'com.squareup.okhttp3:okhttp:4.9.1'
}

文章来源:https://blog.csdn.net/qq_44577699/article/details/134847391
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。