调用OpenAi出现连接超时的解决方案

这篇具有很好参考价值的文章主要介绍了调用OpenAi出现连接超时的解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在向https://api.openai.com/v1/completions发起http请求之前,使用java.net包下面的Proxy进行代理。

代码如下:

public class OpenAiApi {


    public String OpenAiAnswerer(CompletionRequest request, String openAiApiKey) {

        //代理
        String proxyHost = "代理地址";
        int proxyPort = 代理端口;
        String url = "https://api.openai.com/v1/completions";
        // json为请求体
        String json = JSONUtil.toJsonStr(request);
        String result = "";
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort));
        try {
            HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(proxy);
            connection.setRequestProperty("Authorization", "Bearer " + openAiApiKey);
            connection.setRequestProperty("Content-Type", "application/json");

            connection.setRequestMethod("POST");

            connection.setDoOutput(true);
            byte[] requestBodyBytes = json.getBytes(StandardCharsets.UTF_8);
            try (OutputStream outputStream = connection.getOutputStream()) {
                outputStream.write(requestBodyBytes, 0, requestBodyBytes.length);
            }
            try (InputStream inputStream = connection.getInputStream()) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                StringBuilder response = new StringBuilder();
                String line;
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                result = response.toString();

            }
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        return JSONUtil.toBean(result, CompletionResponse.class);
    }

}

connection.setRequestProperty("Authorization", "Bearer " + openAiApiKey);
connection.setRequestProperty("Content-Type", "application/json");

我在使用的时候忘记设置了Content-Type,结果一直报错,后面反复观看文档才发现这个必须得设置。

下面是OpenAiAnswerer方法里面形参类CompletionRequest,这里使用了Lombok插件里的@Data注解,自动填入get、set方法和无参构造。(如果添加了有参构造,那么务必加上无参构造)文章来源地址https://www.toymoban.com/news/detail-505049.html

@Data 
public class CompletionRequest {
    private String model;

    private String prompt;

    private Integer max_tokens;

    private Integer temperature;

    private Integer top_p;

    private Integer n;

    private Boolean stream;

    private Integer logprobs;

    private String stop;

}

到了这里,关于调用OpenAi出现连接超时的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium使用Edge打开网页出现“你的连接不是专用连接xxx”解决方案

     当尝试访问的网站使用的是自签名的SSL证书或者没有使用SSL证书时出现“你的连接不是专用连接xxx”。这种情况经常发生在访问内网地址或开发环境时通过以下代码打开网站有时会出现。 可参考如下方法解决:

    2024年04月11日
    浏览(44)
  • 针对mockito框架在单元测试中出现Mybatis-Plus链式调用的解决方案

    1、 调用其他service层方法 2、 调用本service层方法 3、其他问题

    2024年01月24日
    浏览(36)
  • JDBC连接MySQL后出现中文字符乱码的问题及其解决方案

    最近在做JavaWeb课程的实验课,今天在尝试jsp通过jdbc连接数据库向MySQL中的user表插入数据后, 表内数据出现了中文乱码的问题 。下面将详细给出本次问题出现场景以及详细的解决方案。 在我的MySQL中的数据库db1里,有一个名为“user”的表,其属性值如下: 通过navicat向表格中

    2024年02月01日
    浏览(32)
  • Celery连接rabbitmq出现billiard.exceptions.RestartFreqExceeded: 5 in 1s,解决方案

    一开始用的rabbitmq是3.10版本,尝试了网上各种方法,一直没有解决这个问题,后面 根据rabbitmq官网重新安装最新版本3.12就可以解决这个问题了

    2024年02月14日
    浏览(31)
  • python pip超时解决方案

    当执行 pip3 install 命令时出现超时错误,通常是由于网络连接不稳定或网络速度较慢引起的。为了解决这个问题,你可以尝试以下方法: 使用 -i 选项指定 pip 源 可以使用 -i 选项指定 pip 源,以加速包的下载和安装。你可以选择一个速度较快的 pip 源,例如阿里云 pip 镜像或清

    2024年02月07日
    浏览(32)
  • python-requests请求超时解决方案

            python程序根据url从互联网上批量获取数据时,设置HTTP或Socket超时,来防止爬虫爬取某个页面时间过长,导致程序卡置不前。 全局设置。 t:代表经过t秒后,如果还未下载成功,自动跳入下一次操作,此次下载失败 。 使用timeout 参数可以设定等待连接的秒数,如果

    2024年02月16日
    浏览(41)
  • 在windows 使用 git克隆出现连接超时如何解决

    1.检测是否能ping github  不能的话,应该是本地DNS 解析  然后修改 hosts 文件  此时需要打开C:WindowsSystem32driversetc下的hosts文件,  我们可以发现该文件并没有配置github的相关解析  192.30.255.112  github.com git  185.31.16.184 github.global.ssl.fastly.net 参考地址 address: git clone失败或连接超

    2024年02月06日
    浏览(29)
  • python爬取 HTTP_2 网站超时问题的解决方案

    问题背景 在进行网络数据爬取时,使用 Python 程序访问支持 HTTP/2 协议的网站时,有时会遇到超时问题。这可能会导致数据获取不完整,影响爬虫程序的正常运行。 问题描述 在实际操作中,当使用 Python 编写的爬虫程序访问支持 HTTP/2 协议的网站时,可能会遇到超时异常。即

    2024年02月04日
    浏览(32)
  • 【python修复bug】—— HTTP_2 网站超时问题的解决方案

    在进行网络数据爬取时,使用 Python 程序访问支持 HTTP/2 协议的网站时,有时会遇到超时问题。这可能会导致数据获取不完整,影响爬虫程序的正常运行。 问题描述 在实际操作中,当使用 Python 编写的爬虫程序访问支持 HTTP/2 协议的网站时,可能会遇到超时异常。即使尝试强制

    2024年01月18日
    浏览(34)
  • 运行openai遇到:module ‘openai‘ has no attribute ‘ChatCompletion‘ 解决方案

    运行openai编写的代码,发现报如下错误: openai安装版本不是最新导致,更新到最新版本就可以解决。(最新版需要到0.27.0) 把openai更新到最新版就可以解决: 自动安装: pip3 install --upgrade openai 或者手动安装: 从:https://pypi.org/project/openai/#files下载 openai-0.27.0-py3-none-any.whl 然后安装

    2024年02月11日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包