一文读懂Springboot如何使用ChatGPT

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

ChatGPT使用步骤

SpringBoot使用

依赖

	<dependency>
            <groupId>com.theokanning.openai-gpt3-java</groupId>
            <artifactId>service</artifactId>
            <version>${gpt.server.version}</version>
        </dependency>

封装了丰富的OpenAI 接口可直接使用

实例

    private final ChatGptProperties config;
    private OpenAiService service;
    @PostConstruct
    public void init() {
        ObjectMapper mapper = defaultObjectMapper();
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(config.getProxyDomain(), config.getProxyPort()));
        OkHttpClient client = defaultClient(config.getApiKey(), Duration.ofMinutes(1))
                .newBuilder()
                .proxy(proxy)
                .build();
        Retrofit retrofit = defaultRetrofit(client, mapper);
        OpenAiApi api = retrofit.create(OpenAiApi.class);
        service = new OpenAiService(api);
    }
    @PostMapping("/completions/chat")
    public R chatCompletions(@RequestBody(required = false) FnRequest param) {
        final List<ChatMessage> messages = new ArrayList<>();
        final ChatMessage systemMessage = new ChatMessage(ChatMessageRole.USER.value(), param.getData().toString());
        messages.add(systemMessage);
        ChatCompletionRequest chatCompletionRequest = ChatCompletionRequest
                .builder()
                .model("gpt-3.5-turbo")
                .messages(messages)
                .temperature(0.6d)
                .n(1)
                .frequencyPenalty(1.2d)
                .presencePenalty(1.6d)
//                .stream(true)
//                .user("testing")
                .maxTokens(1024)
                .logitBias(new HashMap<>())
                .build();
        StringBuffer stringBuffer = new StringBuffer();
        String br = System.getProperty("line.separator");
        service.createChatCompletion(chatCompletionRequest).getChoices()
                .forEach(c -> stringBuffer.append(c.getMessage().getContent()).append(br));
        return R.ok(stringBuffer.toString());
    }

接口参数含义

temperature: 0.0 to 2.0 (默认 1.0) 温度,越高越随机,越低越有规律(或确定性)。

top_p: 0.0 to 1.0 (默认 1.0) 使用温度的另一种选择,也叫核采样(nucleus sampling),建议不要同时使用 temperature 和 top_p。top_p 表示模型只考虑概率最高的 top_p 的 token,比如 top_p=0.1,表示模型只考虑概率最高的 10% 的 token。

n: number (默认 1) 生成的回复数量。

stream: boolean (默认 False) 是否使用流式模式,如果设置为 True,将发送部分消息增量,就像在 ChatGPT 中一样。什么意思捏,就是每次单独给你蹦几个词,好让你动态的去更新文本,像你在 ChatGPT 中等待完整的回复一样。

stop: string or array (默认 None) 用来停止生成的 token,可以是一个字符串,也可以是一个字符串列表,如果是字符串列表,那么只要其中一个 token 出现,就会停止生成,最多 4 个。

max_tokens: inf (默认 4096-prompt_token) 生成的最大 token 数量。

frequency_penalty 和 presence_penalty: -2.0 to 2.0 (默认 0) 用来惩罚重复的 token。关于此参数的更多细节在 4 中有介绍,看起来一个是处理的频率,一个是处理的存在次数(整数)。这两个参数的值越大,生成的文本越不会重复。

公式是这样的:

mu[j] -> mu[j] - c[j] * alpha_frequency - float(c[j] > 0) * alpha_presence
logit_bias: dict (默认 None) 用来调整 token 的概率,可以接受 json。数值是 -100 to 100,-100 相当于直接禁用这个词,100 相当于如果相关就必须使用。

user: dict (默认 None) 用来设置用户的信息,具体内容可以参考 5,主要是为了防止滥用。

升级ChatGPT PLUS

步骤

  • 申请外国虚拟信用卡【Depay】
  • 充值USTD虚拟货币【欧易】
  • USTD充值到Depay
  • Depay 的USTD 转 USD虚拟货币
  • 将USD货币存入虚拟信用卡
  • 通过虚拟信用卡充值到ChatGPT

优点

  • 优先ChatGPT试用用户
  • 畅享丝滑的响应速度
  • 优先体验新功能

原文文章来源地址https://www.toymoban.com/news/detail-431256.html

鸣谢

  • 非常感谢你从头到尾阅读了这篇文章,希望其中的内容对你有所启发和帮助。如果你还有其他问题或需要进一步的了解,欢迎随时关注我的动态并留言
  • 最后可以给作者点个关注和小赞赞嘛,谢谢!
  • 觉得有收藏价值可以进行收藏

到了这里,关于一文读懂Springboot如何使用ChatGPT的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 一文读懂ChatGPT的前世今生(附相关论文下载)

    2022年11月,人工智能公司OpenAI推出了一款啥都会的聊天机器人:ChatGPT。它能聊天、能翻译、能做题,还会写情书、写论文、写小说……功能强大到马斯克都表示“我们离强大到危险的 AI 不远了”。 ChatGPT是平地起高楼吗?是横空出世吗?当然不是。伴随着人工智能领域不断更

    2024年02月03日
    浏览(55)
  • 一文读懂SpringBoot整合Elasticsearch(一)

    (本篇文章主要介绍Spring Boot如何整合Elasticsearch,包括基本配置、数据操作、搜索功能等方面。) Elasticsearch是一款全文搜索引擎,可用于快速、准确地存储、搜索和分析大量数据。而Spring Boot是一款快速开发框架,它提供了简单易用的方式来构建Web应用程序。本文将介绍如何

    2023年04月16日
    浏览(48)
  • 一文读懂ChatGPT(ChatGPT超详细介绍与功能与免费网页版,超全面!)

    ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完

    2024年02月11日
    浏览(36)
  • 一文读懂——如何把网站改成HTTPS访问

    HTTPS(全称为Hyper Text Transfer Protocol Secure)是一种在计算机网络上进行安全通信的协议,它通过SSL/TLS证书对传输数据进行加密,确保了用户与服务器之间信息交换的私密性和完整性。 获取SSL/TLS证书 选择证书类型:有免费和付费两种类型的SSL/TLS证书可供选择,如JoySSL提供的免

    2024年01月18日
    浏览(50)
  • 一文读懂Persistence One- 如何将Restaking带入Cosmos

      Persistence One正在将Restaking引入Cosmos。用户将能够通过pSTAKE、Stride、Quicksilver和Milkyway将Liquid Staked Tokens(如ATOM、TIA、DYDX等)存入Persistence One,对其进行Restaking,从而安全地连接更多区块链,首先从Persistence Core-1链开始,并赚取额外的质押奖励。 引入Restaking基础设施为Liquid

    2024年04月22日
    浏览(26)
  • 一文读懂Unreal Engine游戏引擎如何提高数字孪生场景渲染能力

    以下案例来自于《数字孪生世界白皮书(2023版)》 领取方式:公众号「EasyV数字孪生」后台回复「白皮书」即可领取! Unreal Engine(下文简称为UE),是一款由Epic Games开发的游戏引擎,用于创建电子游戏、虚拟现实和增强现实应用、数字孪生等内容。UE支持实时渲染、高品质

    2024年02月12日
    浏览(48)
  • 查看CPU核数、内存使用情况【一文读懂】

    🥇 版权: 本文由【墨理学AI】原创首发、各位读者大大、敬请查阅、感谢三连 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️ 最近在折腾openvino部署方法,需要分析基础CPU资源占用情况 发现之前对基础 top 命令的使用处在初级阶段,趁着这次机会

    2024年02月10日
    浏览(48)
  • 一文读懂CPU工作原理、程序是如何在单片机内执行的、指令格式之操作码地址码

    CPU的控制单元在时序脉冲的作用下,将指令计数器里所指向的指令地址(这个地址是在内存里的)送到地址总线上去,然后CPU将这个地址里的指令读到指令寄存器进行译码。由运算器执行对应的机器指令,并将结果通过地址总线写回数据段 中间处理器(CPU,Central Processing Uni

    2024年01月16日
    浏览(42)
  • 如何快速水出人生中的第一篇SCI系列:深度学习目标检测算法常用评估指标——一文读懂!

    详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先! 截止到发稿,B站YOLOv8最新改进系列的源码包已更新了22种! 排列组合2-4种后,约有6000-7000种! 部分改进教程视频在这:详细的改进

    2024年02月07日
    浏览(49)
  • 一文搞懂MQTT,如何在SpringBoot中使用MQTT实现消息的订阅和发布

    1.1 什么是MQTT? MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。 MQTT最大优点在于用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息

    2024年02月10日
    浏览(44)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包