在国内用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
posted on 2023-05-14 15:23 SuperGuoYa 阅读(1384) 评论(0) 编辑 收藏 举报
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步