首页 > 编程语言 >ChatGPT Java客户端,OpenAi的Java版本SDK已完成,请火速接入。

ChatGPT Java客户端,OpenAi的Java版本SDK已完成,请火速接入。

时间:2023-02-16 17:35:52浏览次数:48  
标签:Java completions void v2 api OpenAi ChatGPT public

已经支持OpenAI官方的全部api,有bug欢迎朋友们指出,互相学习。

源码地址:https://github.com/Grt1228/chatgpt-java 不对之处欢迎指正。

注意:由于这个接口:

https://platform.openai.com/docs/api-reference/files/retrieve-content

免费用户无法使用,所以并未经过测试!!!(哪位朋友有收费版keys也可以提供下)

工程简介

ChatGPT的Java客户端

OpenAI官方Api的Java SDK

目前支持api-keys的方式调用,获取api-keys可以百度或者csdn查一下。

api-keys的方式调用目前不用梯子即可访问。

OpenAi官方文档地址:https://platform.openai.com/docs/api-reference
已完成接口列表:

快速开始

有两种调用方式

方式一(推荐方式)

这种调用方式除了 ++Fine-tune++相关的几个接口,其他接口全部支持调用
调用方式和上面类似,创建客户端配置api-key
完整测试案例参考:com.unfbx.chatgpt.OpenAiClientTest

public class OpenAiClientTest {

    private OpenAiClient v2;

    @Before
    public void before() {
        v2 = new OpenAiClient("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");
    }

    @Test
    public void models() {
        List<Model> models = v2.models();
        System.out.println(models.toString());
    }

    @Test
    public void model() {
        Model model = v2.model("code-davinci-002");
        System.out.println(model.toString());
    }

    @Test
    public void completions() {
        CompletionResponse completions = v2.completions("Java Stream list to map");
        Arrays.stream(completions.getChoices()).forEach(System.out::println);
    }
    
    @Test
    public void completionsv2() {
        Completion q = Completion.builder()
                .prompt("三体人是什么?")
                .build();
        CompletionResponse completions = v2.completions(q);
        System.out.println(completions);
    }
}

方式二

目前ChatGPTClient只支持Completions相关api
创建客户端配置api-key

public class ChatGPTTest {
    public static void main(String[] args) {
        //输入官方申请的api-keys
        ChatGPTClient client = new ChatGPTClient("sk-****************");
        //输入问题描述
        String body = client.askQuestion("简单描述下三体这本书");
        System.out.println(body);
    }
}

输出:

《三体》是中国作家刘慈欣创作的科幻小说,书中描写了一个存在于三体星系的中心神秘文明——「三体文明」的兴衰历程,叙述了它与地球文明之间的碰撞历史。

Completions接口的model目前官方支持的三种模型,参考代码

enum Model {
    DAVINCI_003("text-davinci-003"),
    DAVINCI_002("text-davinci-002"),
    DAVINCI("davinci"),
    ;
    private String name;
}

标签:Java,completions,void,v2,api,OpenAi,ChatGPT,public
From: https://www.cnblogs.com/coder-heidong/p/17127528.html

相关文章

  • Java----判断两组数字区间是否有交集
    publicstaticvoidmain(String[]args){System.out.println(judge(newint[]{1,3},newint[]{2,5}));System.out.println(judge(newint[]{1,3},ne......
  • chatGPT为什么国内用不了,来看看我是如何使用chatGPT
      chatGPT火了这么久在各个平台上看到有很多博主发了使用chatGPT的感受,由于官方限制了中国大陆和中国香港中国台湾地区的访问,导致很多网友无法感受到chatGPT强大,至于为......
  • C# Java RSA互通
     Java代码1publicstaticvoidmain(String[]args)throwsException{2Stringsign=sign("test",PRIVATEKEY,"UTF-8");3System.out.println......
  • Java获取服务器相关信息
    Java获取服务器相关信息importcom.sun.management.OperatingSystemMXBean;importorg.springframework.util.ClassUtils;importjava.io.BufferedReader;importjava......
  • 你好 ChatGPT, 帮我看下这段代码有什么问题?
    今天一个很简单的功能,触发了一个BUG,处理后我想起了最近爆火的ChatGPT,于是我尝试测试ChatGPT能否发现这个BUG。这篇文章会先介绍功能代码,然后手动分析BUG原因;接着测......
  • java 单引号 与 双引号
    publicclassMain{publicstaticvoidmain(String[]args){int[]arr={1,2,3,4,5,6};printArr(arr);}publicstati......
  • 使用docker部署Python-Flask实现ChatGPT的使用
    首先说下背景:自从申请ChatGPT到现在也有个把月了,余额一直还很多,想想三月下旬就过期了,还是计划把里面的18美刀用掉,于是结合着之前做的Django简单cv一个"简易网站"。简......
  • JavaWeb邮件发送(感谢狂神)
    电子邮件要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱......
  • 从实现到原理,聊聊Java中的SPI动态扩展
    原创:微信公众号码农参上,欢迎分享,转载请保留出处。八股文背多了,相信大家都听说过一个词,SPI扩展。有的面试官就很喜欢问这个问题,SpringBoot的自动装配是如何实现的?基本......
  • JavaScript体验
    JavaScript体验(来自本站javascript教程)JavaScript实例代码:JavaScript可以直接在HTML输出:document.write("<p>这是一个段落。</p>");JavaScript事件响应:<bu......