java调用chatgpt 的api
时间: 2023-06-01 18:04:26 浏览: 218
Java调用ChatGPT的API需要使用HTTP客户端库,例如OkHttp或Apache HttpClient。
以下是OkHttp库的示例代码:
```java
import okhttp3.*;
public class ChatGPTClient {
private static final String API_URL = "https://api.openai.com/v1/engines/davinci-codex/completions";
private final OkHttpClient client;
private final String apiKey;
public ChatGPTClient(String apiKey) {
this.client = new OkHttpClient();
this.apiKey = apiKey;
}
public String generateResponse(String prompt) throws Exception {
MediaType mediaType = MediaType.parse("application/json");
String json = "{\"prompt\": \"" + prompt + "\",\"temperature\": 0.7,\"max_tokens\": 60,\"top_p\": 1,\"frequency_penalty\": 0,\"presence_penalty\": 0}";
RequestBody body = RequestBody.create(json, mediaType);
Request request = new Request.Builder()
.url(API_URL)
.header("Authorization", "Bearer " + apiKey)
.post(body)
.build();
Response response = client.newCall(request).execute();
if (!response.isSuccessful()) {
throw new Exception("Unexpected HTTP status code: " + response.code());
}
String responseBody = response.body().string();
return parseResponse(responseBody);
}
private String parseResponse(String responseBody) {
// Parse the JSON response and return the generated text
// You can use a JSON parsing library like Gson or Jackson for this
return null;
}
}
```
在上面的代码中,我们使用OkHttp库创建了一个HTTP客户端,然后使用API密钥在请求头中进行身份验证。我们使用JSON格式的请求体向ChatGPT发送提示,然后解析响应并返回生成的文本。
请注意,这只是一个简单的示例代码,您需要根据您的需求进行修改和调整。还需要注意的是,ChatGPT是一个商业API,您需要购买访问权限才能使用它。
阅读全文