设为首页 加入收藏

TOP

在国内用Java代理调用OpenAI的ChatGPT的API接口
2023-07-25 21:25:13 】 浏览:36
Tags:国内用 Java OpenAI ChatGPT API 接口

第一步:一个科学友好的上网工具,开启全局代理;

第二步:一个注册好的ChatGPT账号,且在个人设置里面生成apiKey:https://platform.openai.com/account/api-keys;

第三步:在发起HTTP请求(openConnection() 或者 openStream())之前,加上以下2行代码:

1 System.setProperty("proxyHost", PROXY_HOST); // PROXY_HOST:代理的IP地址
2 System.setProperty("proxyPort",  PROXY_PORT); // PROXY_PORT:代理的端口号
代理的IP地址、代理的端口号:

第四步:贴上全部代码:

 1 package com.xiaobing.springcloud.util;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.IOException;
 5 import java.io.InputStreamReader;
 6 import java.net.HttpURLConnection;
 7 import java.net.URL;
 8 
 9 public class OpenAIGPT3Example {
10 
11 public static void main(String[] args) throws IOException {
12 System.setProperty("proxyHost", "127.0.0.1"); // 代理的IP地址
13 System.setProperty("proxyPort", "7890"); // 代理的端口号
14 
15 String apiEndpoint = "https://api.openai.com/v1/engines/text-davinci-003/completions";
16 String apiKey = "sk-**********"; // 这里是第二步生成的apiKey
17 String prompt = "'你在哪里?'翻译成英文";
18 int maxTokens = 150;
19 
20 URL url = new URL(apiEndpoint);
21 HttpURLConnection con = (HttpURLConnection) url.openConnection();
22 con.setRequestMethod("POST");
23 
24 // 设置HTTP请求头
25 con.setRequestProperty("Content-Type", "application/json");
26 con.setRequestProperty("Authorization", "Bearer " + apiKey);
27 
28 // 设置HTTP请求体
29 String requestBody = "{\"prompt\": \"" + prompt + "\", \"max_tokens\": " + maxTokens + "}";
30 con.setDoOutput(true);
31 con.getOutputStream().write(requestBody.getBytes());
32 
33 // 发送HTTP请求并读取响应
34 int responseCode = con.getResponseCode();
35 BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
36 String response = "";
37 String inputLine;
38 while ((inputLine = in.readLine()) != null) {
39 response += inputLine;
40 }
41 in.close();
42 
43 // 处理响应
44 System.out.println("Response code: " + responseCode);
45 System.out.println("Response body: " + response);
46 }
47 
48 }

第五步:执行代码响应结果:

1 Response code: 200
2 Response body: {"id":"cmpl-8G0ApukM5c0oCMdKs9hVk8b4IYboY","object":"text_completion","created":1684048271,"model":"text-davinci-003","choices":[{"text":":\n\nWhere are you?","index":0,"logprobs":null,"finish_reason":"stop"}],"usage":{"prompt_tokens":26,"completion_tokens":9,"total_tokens":35}}

 

设置代理参考链接:https://www.cnblogs.com/memory4young/p/java-proxy-property.html

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇java~"与运算"实现保留.. 下一篇Stream流根据属性去重

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目