java로 너와 채팅하는 프로그램을 만들고 싶어.내가 하고 싶은 말을 입력하면 프로그램이 이 사이트를 통해 너에게 메세지를 전달하고너가 그 메세지에 대해 남긴 답변을 복사해서 다시 프로그램에서 출력하게 하고 싶어.코드 만들어줘
이렇게 했더니 얘가 별로 추천하진 않지만 정말로 자바를 쓰고 싶다면 이 코드 써라 하던데
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import org.json.JSONObject;
public class Main {
public static void main(String[] args) throws IOException {
String apiKey = "YOUR_API_KEY_HERE";
String prompt = "What's the weather like today?";
JSONObject requestJson = new JSONObject();
requestJson.put("prompt", prompt);
requestJson.put("model", "text-davinci-002");
requestJson.put("max_tokens", 100);
requestJson.put("temperature", 0.5);
String requestBody = requestJson.toString();
URL url = new URL("https://api.openai.com/v1/engines/davinci/jobs");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Authorization", "Bearer " + apiKey);
OutputStream os = connection.getOutputStream();
os.write(requestBody.getBytes(StandardCharsets.UTF_8));
os.close();
int status = connection.getResponseCode();
if (status != 200) {
throw new RuntimeException("Failed to get response from API, status code: " + status);
}
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder response = new StringBuilder();
String inputLine;
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
JSONObject responseJson = new JSONObject(response.toString());
String reply = responseJson.getString("choices").replace("\\n", "\n");
System.out.println("Chatbot: " + reply);
}
}
근데 왜 connection.getResponseCode()가 200이 아니라면 연결이 안된다 뜨는거지 왜 200인거지ㅣ
(IP보기클릭)1.240.***.***
(IP보기클릭)1.240.***.***
그리고 자바보다 파이썬 쓰는게 더 간단하고 쉬울거임 | 23.02.10 19:46 | | |