用Java写一段链接chatGPT的API
时间: 2023-03-04 14:38:44 浏览: 221
以下是一个示例Java代码,用于连接OpenAI的ChatGPT API,并发送请求来获取机器人的回复:
首先,你需要在你的项目中添加依赖:
```xml
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.2</version>
</dependency>
```
然后,可以使用以下代码与ChatGPT API建立连接:
```java
import okhttp3.*;
import java.io.IOException;
public class ChatGPTAPI {
private final String endpoint = "https://api.openai.com/v1/engines/davinci-codex/completions";
private final String apiKey = "<YOUR_API_KEY_HERE>";
public String getResponseFromAPI(String prompt) {
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
String requestBody = "{\"prompt\":\"" + prompt + "\",\"max_tokens\":100,\"n\":1,\"stop\":null}";
RequestBody body = RequestBody.create(mediaType, requestBody);
Request request = new Request.Builder()
.url(endpoint)
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer " + apiKey)
.build();
try {
Response response = client.newCall(request).execute();
String responseBody = response.body().string();
return responseBody;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
```
在上面的代码中,`getResponseFromAPI`方法接受一个prompt字符串,该字符串是ChatGPT应该用来生成回复的提示。该方法使用OkHttpClient来建立与ChatGPT API的连接,并向API发送请求。API的响应被返回为字符串。在代码中,请将`<YOUR_API_KEY_HERE>`替换为你自己的OpenAI API密钥。
接下来,可以使用以下代码调用该方法:
```java
public class Main {
public static void main(String[] args) {
ChatGPTAPI api = new ChatGPTAPI();
String response = api.getResponseFromAPI("Hello, how are you today?");
System.out.println(response);
}
}
```
在上面的代码中,`getResponseFromAPI`方法被用来获取ChatGPT API返回的回复。在这个例子中,我们发送了一个包含“Hello, how are you today?”的提示,然后打印API返回的响应。
阅读全文