Java和python调用chatgpt示例代码

以下是使用Python的示例代码,用于调用OpenAI的API:

import openai
from dotenv import load_dotenv
import os

load_dotenv()

openai.api_key = os.getenv('OPENAI_API_KEY')
model_engine = "text-davinci-002"
prompt = "What is the meaning of life?"

# Call the OpenAI API
response = openai.Completion.create(
  engine=model_engine,
  prompt=prompt,
  max_tokens=60,
  n=1,
  stop=None,
  temperature=0.5,
)

# Print the API response
print(response.choices[0].text)

在此代码中,我们使用Python的OpenAI SDK调用API。我们首先使用dotenv模块从环境变量中提供API金钥。接下来,我们设置引擎模型和提示字符串,然后使用openai.Completion.create函数调用API,并传递所需的参数。最后,我们将API响应中的文本字段打印到控制台。请注意,此代码使用了异步调用,但是我们只检索了异步响应的第一个文本输出。你可以根据自己的需求来调整这个代码的细节。

下面是使用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());
   }
}

猜你喜欢

转载自blog.csdn.net/a913222/article/details/130115674