下面是使用Java编写一个基本的OpenAI API调用程序的例子:
import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class OpenAIAPIExample{ private static final String API_KEY= "YOUR_API_KEY"; private static final String MODEL_ID= "davinci"; //变分自动编码器-2号(GPT-2)的预训练模型ID private static final MediaType JSON = MediaType.get("application/json; charset=utf-8"); private static final String OPENAI_API_BASE_URL= "https://api.openai.com/v1/"; public static void main(String[] args) throws Exception { OkHttpClient client = new OkHttpClient(); String textInput = "你好"; RequestBody body = RequestBody.create(JSON, "{\"model\":\""+ MODEL_ID +"\",\"prompt\":\"" + textInput + "\",\"temperature\":0.7,\"max_tokens\":60}"); Request request = new Request.Builder() .header("Content-Type", "application/json") .header("Authorization", "Bearer " + API_KEY) .url(OPENAI_API_BASE_URL + "engines/davinci-codex/completions") //在此处输入API路由,请根据文档自行填充 .post(body) .build(); Response response = client.newCall(request).execute(); if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); System.out.println(response.body().string()); } }
下面是使用Java编写一个基本的OpenAI API调用程序的例子(不使用OkHTTP库):
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class OpenAIAPIExample{ private static final String API_KEY = "YOUR_API_KEY"; private static final String MODEL_ID = "davinci"; //变分自动编码器-2号(GPT-2)的预训练模型ID private static final String OPENAI_API_BASE_URL= "https://api.openai.com/v1/"; public static void main(String[] args) throws Exception { String textInput = "你好"; String url = OPENAI_API_BASE_URL + "engines/davinci-codex/completions"; //在此处输入API路由,请根据文档自行填充 URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // add request header con.setRequestMethod("POST"); con.setRequestProperty("Content-Type", "application/json"); con.setRequestProperty("Authorization", "Bearer " + API_KEY); String postJsonData = "{\"model\":\""+ MODEL_ID +"\",\"prompt\":\"" + textInput + "\",\"temperature\":0.7,\"max_tokens\":60}"; // Send POST request con.setDoOutput(true); DataOutputStream wr = new DataOutputStream(con.getOutputStream()); wr.writeBytes(postJsonData); wr.flush(); wr.close(); int responseCode = con.getResponseCode(); System.out.println("\nSending 'POST' request to URL : " + url); System.out.println("Post Data : " + postJsonData); System.out.println("Response Code : " + responseCode); BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); //print result System.out.println(response.toString()); } }