Java实现AI机器人聊天

文章目录

  • 前言
  • 一、账号注册申请密钥
  • 二、参数详情
  • 三、Java集成
    • 1.调用接口
    • 2.响应数据
  • 四、效果
  • 总结


前言

OpenAI API 几乎可以应用于任何涉及理解或生成自然语言或实现代码等场景。提供一系列具有不同学习训练的模型,适用于处理不同的任务,并且自己能够自定义学习模型,通过大样本数据去喂养该模型,使其能实现自己的应用场景。这些模型可用于从内容生成到语义搜索和分类的所有领域。


一、账号注册申请密钥

openai获取密钥

二、参数详情

  • models:模型,其包含Davinci, Curie, Babbage 和 Ada等子模型,每个子模型的功能不尽相同
  • prompt:生成完成的提示,编码为字符串、字符串数组、标记数组或标记数组数组。
  • tokens:文本长度限制,要求输入和输出的文本总长度不能超过各模型限定的Tokens长度
  • temperature:温度,使用什么采样温度,介于 0 和 2 之间。较高的值(如 0.8)将使输出更加随机,而较低的值(如 0.2)将使输出更加集中和确定。控制结果随机性,0.0表示结果固定,随机性大可以设置为0.9
  • topP:一种替代温度采样的方法,称为核采样,其中模型考虑具有 top_p 概率质量的标记的结果。所以 0.1 意味着只考虑构成前 10% 概率质量的标记。
  • frequencyPenalty:-2.0 和 2.0 之间的数字。正值会根据新标记在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。
  • presencePenalty:-2.0 和 2.0 之间的数字。正值会根据到目前为止是否出现在文本中来惩罚新标记,从而增加模型谈论新主题的可能性。
  • stop:API 将停止生成更多令牌的最多 4 个序列。返回的文本将不包含停止序列。
  • n:为每个提示生成多少完成。
  • stream:是否以流方式返回输出

三、Java集成

1.调用接口

这边就以流的方式接收结果

// 调用接口 https://api.openai.com/v1/completions
// 请求头:
Authorization: Bearer + KEY
// 参数:
Map<String, Object> param = new HashMap<>();
param.put("model", "text-davinci-003");
param.put("prompt", text);
param.put("max_tokens", 2048);
param.put("temperature", 0);
param.put("frequency_penalty", 0);
param.put("presence_penalty", 0);
param.put("stream", true);
param.put("stop", CollectionUtil.newArrayList("\n"));

2.响应数据

// text/event-stream
//设置推送内容类型为事件流
response.setContentType("text/event-stream");
//消息流编码格式
response.setCharacterEncoding("utf-8");
// 将收到的流数据返回给前端显示

四、效果

问答示例效果:

在这里插入图片描述
后端运行实时接收与推送数据:

在这里插入图片描述

总结

效果还是不错的,可以接入AI聊天机器人~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/59410.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新浪博客提示“系统繁忙,请稍候再试”的解决方法

前段时间想写博客&#xff0c;提交几次都不成功&#xff0c;提示“系统繁忙&#xff0c;请稍候再试。”如下图&#xff1a; 一开始还以为真是系统繁忙的原因&#xff0c;过了几天换了不同时间段提交&#xff0c;故障依旧。网上试过找一些不同的方法 尝试&#xff0c;也没解决。…

VM虚拟机异常关机后再次登录显示系统繁忙怎么办?

上一次由于电脑卡了&#xff0c;在关闭虚拟机的时候卡住了&#xff0c;等再次登录的时候就显示系统繁忙无法登陆。 这个时候不要慌张&#xff0c;找到你当时安装虚拟机的文件夹Centos&#xff0c;打开文件夹&#xff0c;里面有一个.lck的文件夹&#xff0c;删除这个文件夹就可…

技术动态 | 如何将ChatGPT和企业专有知识结合起来?

转载公众号 | 知识管理就在夏博 不需要再重复 ChatGPT 的流行程度以及有多少精彩的用例&#xff0c;因为到处都有大量关于此的文章&#xff0c;本文主要分享如何解决当前 ChatGPT 版本的一些关键限制并将企业专有知识嵌入 ChatGPT 的想法。 在各种限制中&#xff0c;有三个关键…

微软震撼开源DeepSpeed Chat,一键实现ChatGPT的端到端RLHF训练

编&#xff5c;Aeneas 好困源&#xff5c;新智元 微软开源的DeepSpeed Chat&#xff0c;让开发者实现了人手一个ChatGPT的梦想&#xff01; 人手一个ChatGPT的梦想&#xff0c;就要实现了&#xff1f; 刚刚&#xff0c;微软开源了一个可以在模型训练中加入完整RLHF流程的系统框…

“开源ChatGPT”:PaLM-rlhf-pytorch

就说程序员的手速有多快吧,首个开源ChatGPT项目已经出现了! 基于谷歌语言大模型PaLM架构,以及使用从人类反馈中强化学习的方法(RLHF),华人小哥Phillip Wang复刻了一个ChatGPT出来。 项目GitHub星已经超过1.7k了,而且还在一路飙升ing。 不过一反常态的是,网友们看到“开…

英语听力,这练习很简单

首先&#xff0c;跟大家推荐一个软件&#xff0c;亲测真的巨好用&#xff0c;听力&#xff0c;口语&#xff0c;词汇一把抓。 就是它&#xff0c;每日英语听力&#xff0c;你提高听力最需要的单句精听它有噢&#xff0c;建议每次听一遍&#xff0c;把句子写下来&#xff0c;重…

ChatGPT精通:使用ChatGPT-4的专家提示工程

大师ChatGPT&#xff0c;专家提示工程&#xff0c;提高生产力&#xff0c;探索开放人工智能GPT-4和生成人工智能技术&#xff0c;探索ChatGPT的激动人心的世界&#xff0c;并利用这一关于掌握OpenAI最新创新GPT-4的深入而全面的课程来驾驭人工智能驱动的对话技术的力量。本课程…

计算机中职生自我介绍500字,中专生自我介绍500字

中专生自我介绍500字 当我们在一个陌生场合中&#xff0c;我们难以避免地要作出自我介绍&#xff0c;用自我介绍往往可以来展示自己。那么我们该怎么去写自我介绍呢&#xff1f;以下是小编为大家收集的中专生自我介绍500字&#xff0c;欢迎阅读&#xff0c;希望大家能够喜欢。 …

面试自我介绍范文(30篇)

面试自我介绍范文&#xff08;30篇&#xff09; 当来到一个新环境时&#xff0c;我们总归要向他人介绍自己&#xff0c;自我介绍是让陌生人彼此认识的好方法。如何编写一段个性的自我介绍? 面试自我介绍范文1 各位面试官&#xff1a; 大家好! 我叫__&#xff0c;就读于__大学金…

超级计算机作文500字初中,自我介绍初中作文500字(精选9篇)

自我介绍初中作文500字(精选9篇) 当到达一个陌生的环境后&#xff0c;通常需要用到自我介绍&#xff0c;通过自我介绍可以让别人认识自己。如何写出一个与众不同的自我介绍&#xff1f;以下是小编帮大家整理的自我介绍初中作文500字(精选9篇)&#xff0c;欢迎阅读与收藏。 自我…

ChatGPT-4开通方法和费用

**[文章来源](https://bk.suning.info):https://bk.suning.info** 哪里可以用gpt-4,gpt-4相较于gpt3.5又有了逻辑性和图片识别等方面的加强&#xff0c;今天跟大家分享gpt-4使用的方法。 想要使用GPT-4模型&#xff0c;我们需要订阅付费的ChatGPT&#xff08;ChatGPT的高级版…

【力扣刷题1-10】

力扣刷题1-10 力扣刷题1-10 1、两数之和1.1 题目1.2 分析1.3 代码实现 2、两数相加2.1 题目2.2 分析2.3 代码实现 3、无重复字符的最长子串3.1 题目3.2 分析3.3 代码实现 4、寻找两个有序数组的中位数4.1 题目4.2 分析4.3 代码实现 5、最长回文子串5.1 题目5.2 分析5.3 代码实现…

力扣刷题汇总

力扣刷题汇总 C基础知识学习&#xff1a;一、数组例题 二、链表参考理论C/C的定义链表节点方式知识点例题 三、哈希表参考理论例题 四、字符串例题KMP算法 五、双指针法例题 六、栈与队列&#xff08;栈和队列都是容器适配器&#xff09;参考理论数据结构学习&#xff08;queue…

力扣刷题记录-4

目录 No.226No.112No.700No.701No.98No.653No.235 No.226 复盘&#xff1a; 1、这道题的核心思路是递归 2、首先将叶子节点进行翻转&#xff0c;然后回到它的父节点&#xff0c;如果其左右结点都已翻转&#xff0c;则直接交换两个子树 这样一直递归至根节点&#xff0c;则算法完…

BAT程序员总结的力扣刷题指南,已经在Github了!!刷题顺序,优质题解一网打尽!

相信很多小伙伴刷题的时候面对力扣上近两千道题目&#xff0c;感觉无从下手&#xff01; 我花费半年时间整理了Github学习项目「力扣刷题攻略」&#xff1a; https://github.com/youngyangyang04/leetcode-master 先上上图吧&#xff01; 项目中整体顺序为&#xff1a;前序&a…

【力扣刷题 | 第六天】

目录 前言&#xff1a; 344. 反转字符串 - 力扣&#xff08;LeetCode&#xff09; 541. 反转字符串 II - 力扣&#xff08;LeetCode&#xff09; 今天我们进入字符串章节的刷题旅程&#xff0c;希望各位小伙伴可以和我一起坚持下去&#xff0c;一起征服力扣&#xff01; 前言…

力扣题库刷题笔记682-棒球比赛

1、题目如下&#xff1a; 2、个人Python代码实现如下&#xff1a; 代码如下&#xff1a; class Solution: def calPoints(self, operations: List[str]) -> int: i 0 #用于遍历元素的下标 while i < len(operations): …

力扣刷题【第一期】

文章目录 1.爬楼梯2.求两数的和&#xff08;283&#xff09;3.移动零&#xff08;283&#xff09;3.1 题目描述3.2 算法描述3.3具体实现 4.合并有序连表&#xff08;21&#xff09;4.1 题目描述4.2 算法思想4.3 代码实现 5.删除连表中重复的值&#xff08;83&#xff09;5.1 题…

力扣刷题Day4

24. 两两交换链表中的节点 题目&#xff1a;力扣 难点在与如何模拟节点的交换&#xff0c;在编码实现的时候容易出现杂乱而导致循环节点的出现。 在自己实现的时候&#xff0c;出现的错误&#xff1a; 把head和head.next作为迭代的基准&#xff0c;但是存在的问题是&#x…

力扣刷题流程--记录用

目前已完成第一小节的做题任务&#xff0c;前路漫漫啊。 第一部分 数据结构基础&#xff08;155 题&#xff09; 数组和字符串&#xff08;22 题&#xff09; 数组类算法&#xff08;12 题&#xff09; 链表&#xff08;15 题&#xff09; 队列 & 栈&#xff08;2…