我试图使一个程序,用户可以问GPT-3的问题,通过其API。
我试着让GPT-3的助手为我设计代码,但是有一些错误,因为它使用了2021年的过时信息。下面是我在阅读文档后修改的代码,但我仍然无法让它工作,它生成了一个'java.io.FileNotFoundException'错误。
我相信问题是与我的网址完成部分的格式,但我不确定。如果有人能告诉我什么是错的,这将是非常感谢。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class ChatGPT{
public static void main(String[] args) throws IOException {
String prompt = "What country has the most moderate weather?";
String model = "text-curie-001";
String apiKey = /*My API key*/;
// Encode the prompt and construct the API request URL
String url = String.format(
"https://api.openai.com/v1/completions?model=%s&prompt=%s",
model,
URLEncoder.encode(prompt, "UTF-8")
);
// Create the request
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Authorization", "Bearer " + apiKey);
// Make the request and retrieve the response
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder responseBody = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
responseBody.append(line);
}
reader.close();
// Print the response
System.out.println(responseBody);
}
}
我知道我的API密钥是有效的,因为将url更改为下面所示的内容会输出相应的信息:
String url = String.format(
"https://api.openai.com/v1/models/%s",
model
);
格式“/v1/模型/文本-居里-001”输出模型“文本-居里-001”的详细信息
格式“/v1/completions...”根据给定提示输出响应。
1条答案
按热度按时间wgmfuz8q1#
您应该使用“POST”而不是“GET”。