OpenAI注册以及Java代码调用

这篇具有很好参考价值的文章主要介绍了OpenAI注册以及Java代码调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、OpenAI注册

1、注册微软账号

2、虚拟电话接收验证码

3、登录OpenAI

二、Java代码实现调用


基于Azure可移步:https://blog.csdn.net/qq_41061437/article/details/130927618

一、OpenAI注册

1、注册微软账号

Microsoft account

        OpenAI可以使用google账号登录,也可以使用微软账号登录,这里建议使用微软账号登录,因为一些原因,微软账号国内即可注册,用国内的邮箱和电话号码即可。

2、虚拟电话接收验证码

        OpenAI需要短信验证,需要购买一个虚拟电话:SMS-Activate - service for receiving virtual SMS online to virtual SIM,注册完成后,充值2美元,可以使用支付宝支付,然后搜索OpenAI:

OpenAI注册以及Java代码调用

        注意这个有效时间是20分钟,如果没有接收到短信会将购买费用返回,我使用阿根廷、印度的都能成功,可以根据实际情况选择。

3、登录OpenAI

         OpenAI地址:https://chat.openai.com/

        使用第一步注册的微软账号登录,接着会让提供电话号码,使用第二步购买的号码,等待验证码输入即可。

        登录完成后界面:

OpenAI注册以及Java代码调用

        在红色对话框即可进行对话,需要注意的是,因为受返回会话字数限制,超过一定数量就不会继续,可以在对话框输入continue继续进行。 

二、Java代码实现调用

        我这里Java使用的chatgpt-java这个jar包,截止更新文章,最新版本是1.0.8,该版本能支持代理、超时时长等设置。

        使用代调用需要用到OpenAI的key,获取地址:https://platform.openai.com/docs/introduction

OpenAI注册以及Java代码调用

        进去之后create new secret key,记得及时copy。

        我这里实现Java代码调用Chatgpt大部分是由AI完成,自己需要进行一些微调:

OpenAI注册以及Java代码调用

        

需要引入pom:

 <dependency>
            <groupId>com.unfbx</groupId>
            <artifactId>chatgpt-java</artifactId>
            <version>1.0.8</version>
        </dependency>

 代码:文章来源地址https://www.toymoban.com/news/detail-415835.html

import com.unfbx.chatgpt.OpenAiClient;
import com.unfbx.chatgpt.entity.chat.ChatCompletion;
import com.unfbx.chatgpt.entity.chat.ChatCompletionResponse;
import com.unfbx.chatgpt.entity.chat.Message;
import com.unfbx.chatgpt.interceptor.OpenAILogger;
import com.unfbx.chatgpt.interceptor.OpenAiResponseInterceptor;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;

import java.net.InetSocketAddress;
import java.net.Proxy;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;

public class ApiTestA {
    public static void main(String[] args) {
        //国内访问需要做代理,国外服务器不需要,host填入代理IP,如果本地开vpn,一般就是本机ip地址,port根据vpn的port填写,一般是7890
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("host", port));
        HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(new OpenAILogger());
        httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
        OkHttpClient okHttpClient = new OkHttpClient
                .Builder()
                //自定义代理
                .proxy(proxy)
                //自定义日志输出
                .addInterceptor(httpLoggingInterceptor)
                //自定义返回值拦截
                .addInterceptor(new OpenAiResponseInterceptor())
                //自定义超时时间
                .connectTimeout(10, TimeUnit.SECONDS)
                //自定义超时时间
                .writeTimeout(30, TimeUnit.SECONDS)
                //自定义超时时间
                .readTimeout(30, TimeUnit.SECONDS)
                .build();
        //构建客户端,apiKey中填入获取到的OpenAI的key
        OpenAiClient openAiClient = OpenAiClient.builder()
                .apiKey(Arrays.asList("sk-xxxxxxx"))
                .okHttpClient(okHttpClient)
                .build();

        List<Message> messages = new ArrayList<>();

        Scanner sc = new Scanner(System.in);
        while (true) {
            System.out.println("请输入对话内容:");
            String input = sc.nextLine().trim();

            if (input.isEmpty()) {
                continue;
            }
            //聊天模型:gpt-3.5
            Message message = Message.builder().role(Message.Role.USER).content(input).build();
            messages.add(message);

            ChatCompletion chatCompletion = ChatCompletion.builder().messages(messages).build();
            ChatCompletionResponse chatCompletionResponse = openAiClient.chatCompletion(chatCompletion);
            System.out.println(chatCompletionResponse);
            chatCompletionResponse.getChoices().forEach(e -> {
                System.out.println("AI: " + e.getMessage().getContent());
            });
        }
    }
}

到了这里,关于OpenAI注册以及Java代码调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 如何在PHP中对接openAI接口,PHP创建AI会话思路以及代码讲解

    https://platform.openai.com/account/api-keys 在这个地址进行注册,但是需要翻墙,可自己查找国内的试用地址。就不多赘述… php端代码: 思路:前端通过一个图标入口,点击后 发送请求,创建一个会话(也就是聊天室),并且把创建的这个会话 入库。并且后端返回一个入库生成的

    2024年01月18日
    浏览(51)
  • [最新]简易版本Java HttpClient POST请求调用OpenAI(ChatGPT3/3.5/4)相关接口核心方法(附100个OpenAI/ChatGPT key)

    前言 当下,OpenAI 存在着许多令人惊叹的技术,如 ChatGPT3/3.5/4,它们能够生成高质量的文章、翻译语言、自动生成代码,并且在许多领域都取得了广泛的应用。本文将向您介绍如何使用 Java HttpClient 调用 OpenAI 的 ChatGPT3/3.5/4 接口(如果需要支持Spring,并提供了 100 个 OpenAI/Chat

    2023年04月27日
    浏览(64)
  • 【1.4】Java微服务:服务注册和调用(Eureka和Ribbon实现)

    ✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 🥭本文内容:【1.4】Java微服务:服务注册和调用(Eureka+Ribbon) 📚 ** ps **  : 阅读这篇文章如

    2024年02月14日
    浏览(33)
  • 手把手教你:gitee的注册以及代码的提交(上)

    个人主页(找往期文章包括但不限于本期文章中不懂的知识点):我要学编程(ಥ_ಥ)-CSDN博客 目录 gitee的介绍  gitee的注册 提交代码到gitee 安装git和图形化界面工具  在gitee上创建远程仓库。 clone远程仓库到本地电脑 git的三板斧  add commit  push   首先,我们得了解什么是git

    2024年02月22日
    浏览(59)
  • chatGPT openAI智能写稿Java代码示例

    chatGPT openAI智能写稿Java代码示例 OpenAI API Java SDK 的开源地址在 GitHub 上,可以通过以下链接访问: https://github.com/shaundashjian/openai-java-sdk 该 SDK 支持 OpenAI 的各种 API,包括 GPT-3、DALL

    2023年04月23日
    浏览(32)
  • 微信小程序-----账号注册以及开发软件的下载与代码结构介绍

    目录 前言 微信小程序 1.微信小程序简单介绍 2.小程序与普通网页开发的区别 注册小程序开发帐号  微信小程序开发者工具下载 项目结构 1.小程序项目整体结构  2.小程序页面的组成部分 小程序组成部分 1. JSON 配置文件的作用 2. app.json 文件  3. project.config.json 文件  4. sitem

    2024年01月17日
    浏览(74)
  • Java实现注册登录代码通用

    注册逻辑 用户在前端输入账户和密码、校验码 校验用户的账户、密码、校验密码是否符合要求 非空 账户不小于4位 密码不小于8位 账户不能包含特殊字符 账户不能重复 密码和校验密码相同 对密码进行加密(不能以明文直接存储到数据库中) 向数据库插入数据 登录逻辑 接收参

    2024年02月08日
    浏览(40)
  • 【Java 进阶篇】MySQL启动与关闭、目录结构以及 SQL 相关概念

    MySQL是一个常用的关系型数据库管理系统,通过启动和关闭MySQL服务,可以控制数据库的运行状态。本节将介绍如何在Windows和Linux系统上启动和关闭MySQL服务。 在Windows上启动和关闭MySQL服务 启动MySQL服务 在Windows上,MySQL服务可以通过以下步骤启动: 打开Windows服务管理器。您可

    2024年02月07日
    浏览(49)
  • 【Linux】gitee仓库的注册使用以及在Linux上远程把代码上传到gitee上的方法

    君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C++ 游戏开发 Hello,米娜桑们,这里是君兮_,今天为大家介绍一个在实际工作以及项目开发过程中非常实用的网站gitee,并教如何正确的使用这个网站以及常见问题的解决方案,最后在讲一下如何在你的云服务器或者本地虚

    2024年02月05日
    浏览(51)
  • Java 方法以及在计算机内部的调用问题

    修饰符 返回值类型 方法名( 形参列表 ){ 方法体代码(需要执行的功能代码) return 返回值; } 方法在内种没有先后顺序,但是不能把一个方法定义在另一个方法中。 方法的返回值类型写void(无返回申明)时,方法内不能使用return返回数据, 如果方法的返回值类型写了具体类型,

    2024年01月16日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包