实战指南:使用OpenAI-Java和Spring Boot实现多轮会话(一)
目录
什么是多轮会话?
实战效果演示
准备测试语料
使用智子AI助手
1)、提问: 床前明月光,疑似地上霜,举头望明月,低头思故乡。 这首诗是谁写的?
2)、提问:介绍下作者
如何开启多轮会话?
1)、提问: 床前明月光,疑似地上霜,举头望明月,低头思故乡。 这首诗是谁写的?
2)、提问:介绍下作者
3)、提问:他还写过哪些诗?请写出其中一首
4)、提问:请详细解释下这首诗的含义
5)、提问:请模仿它写一首诗
在上一篇文章中,我们详细介绍了如何将GPT模型升级到gpt-3.5-turbo,以提高模型的性能。如果您还没有看过该文章,可以点击这里(Spring Boot中集成OpenAI-Java,并使用新版模型(gpt-3.5-turbo)_JoseKe的博客-CSDN博客),本文将在此基础上,继续介绍多轮会话的相关内容,并做出详细的讲解。
什么是多轮会话?
多轮会话,也被称为上下文对话,是指在一个对话系统中,多次交互式的交流过程,其中后续的回答需要与之前的问答保持一定的关联性,称为上下文。在一个多轮会话中,对话系统会根据用户之前的提问和对话的内容,推断和理解用户的意图,然后再进行回答或者提出相关问题。与单轮对话相比,多轮对话可以更好地满足用户的需求和意图,给用户提供更加智能化和个性化的服务和体验。
多轮会话具有一定的挑战性,需要在处理每一条回答时都考虑到前面的对话内容,保持上下文的连续性,不仅需要一定的自然语言处理技术,还需要具备良好的推理和判断能力,能够自动的推理和识别用户的意图,并进行相应的回复。因此,在实际应用中,多轮对话系统的性能和准确度依然是需要不断提高的。
实战效果演示
准备测试语料
1、床前明月光,疑似地上霜,举头望明月,低头思故乡。 这首诗是谁写的?
2、介绍下作者
3、他还写过哪些诗?请写出其中一首
4、请详细解释下这首诗的含义
5、请模仿它写一首诗
使用智子AI助手
智子AI助手是一款多功能的问答机器人,它采用了基于gpt-3.5-turbo模型的人工智能技术进行开发。
首先我们先来演示下在没有开启多轮会话的时候,智子AI助手的回复是怎么样子的
1)、提问: 床前明月光,疑似地上霜,举头望明月,低头思故乡。 这首诗是谁写的?
智子AI助手回复:“这首诗是唐代诗人李白所作。” 这个回答符合要求,那么接下来再问它第二个问题,看它如何作答
2)、提问:介绍下作者
智子AI助手回复:“很抱歉,您没有说明是哪个作者,请问是指哪位作者呢?”。显然它无法根据上文的回答来正确做出回复,说明它不具备多轮会话的能力。
再来看下我们通过OpenAI-Java SDK提交的内容
第一个问题
[{"role": "user","content": "床前明月光,疑似地上霜,举头望明月,低头思故乡。 这首诗是谁写的?"}
]
第二个问题
[ {"role": "user", "content": "这首诗是唐代诗人李白所作。"}
]
从以上两个提交的内容来看,我们除了配置了role角色为user,content 内容为提出的问题外,没有设置其它参数了,那么它给出的回答每次都是独立的,就是我们看到的上面的机器人回复的效果。
如何开启多轮会话?
在上一篇文章中我介绍了如何升级到最新版本的模型,同时给出了该模型开放的3个角色配置项,那么这次我将使用其中的一个角色来实现机器人的多轮会话功能,先来看下效果
1)、提问: 床前明月光,疑似地上霜,举头望明月,低头思故乡。 这首诗是谁写的?
2)、提问:介绍下作者
看上去这次第二个问题答对了,似乎具备了多轮会话的功能,我们再继续向它提问。
3)、提问:他还写过哪些诗?请写出其中一首
本来以为它会回复李白的一首简单的诗句,没想到给我整了这么长的回复,费了我不少token,机器人太有心机了/(ㄒoㄒ)/~~,人类危险了。*^____^*。
再次向机器人提问
4)、提问:请详细解释下这首诗的含义
这次还算有点人性,概括回答了下,没有逐句解释
实战指南:使用OpenAI-Java和Spring Boot实现多轮会话(一)相关推荐
- 精选10个用于Java开发Spring Boot的Eclipse插件
前言 作为从事Java多年的程序员,在此分享用于 Java 和 Spring Boot 开发的 10 大 Eclipse插件: 1. EGit - Eclipse 的 Git 集成 这可能是当今 Ja ...
- java中用spring boot连接oracle数据库
java中用spring boot连接oracle数据库 代码下载链接 百度云:https://pan.baidu.com/s/1dU_z2pUS2NSfowI4_mJ4Ow 提取码:mmlm CSD ...
- 一些java,spring boot图解
PageHelper Mybatis的整体执行流程 MyBatis的整体架构图 JavaEE分层架构 常用的条件注解 Spring boot核心模块 Spring Boot和Wildfly-swarn ...
- SpringBoot实战(十二):集成 Spring Boot Admin 监控
强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 程序开发完实现相应的功能只是一个部分,如何让系统在线上运行更好创造更高的价值是另外一个 ...
- ElasticSearch教程与实战:从搭建服务到Spring Boot整合
目录 写在前面 Elasticsearch是什么?可以解决什么问题? 关于Elasticsearch版本的选择 Elasticsearch的几个基本概念 索引(index) 类型(type) 文档(d ...
- [JAVA EE]Spring Boot 控制层:参数传递方法
项目需要参照本人java ee系列前文建立,请读者自行前往本人主页查看. 当然,您自己创建一个项目也是可以的. bean包下的Student.java package com.example.demo ...
- 使用Gradle禁止Java和Spring Boot Web应用程序中的FindBugs警告
如何在+ Spring Boot和+ Java应用程序中使用注释抑制FindBugs警告 如果您的构建由于FindBugs问题而中断,并且是假阳性,或者由于其他考虑而无法解决问题,则可以添加注释来忽略 ...
- flowable实战(一)flowable与spring boot集成
文章目录 一.添加依赖pom.xml 二.关掉认证和Mapper接口的扫描 三.添加数据库连接池 一.添加依赖pom.xml <dependency><groupId>org. ...
- Java笔记-Spring Boot使用外部Tomcat及解决Tomcat乱码
首先是解决Tomcat打印乱码问题: 修改conf/logging.properties java.util.logging.ConsoleHandler.encoding = GBK 如下: 即可 ...
- Java笔记-Spring Boot JDBC连接Oracle数据库
首先介绍几个Oracle相关的知识! 使用sqlplus进行登录 %sqlplus Enter user-name: Enter password: 查询数据库版本: select * from v$ ...
最新文章
- Coolite Toolkit学习笔记六:常用控件Accordion、ToolBar、ToolTip
- haproxy + keepalived 安装配置
- 程序设计竞赛算法基础考试真题2020年(回忆版)
- JVM从入门到精通(七):GC常用参数,Method Area,JVM调优案例分析
- [转]IntelliJ IDEA 2020.1 正式发布,15 项重大特性、官方支持中文了!
- 前端学习(780):日期对象
- js判断是否是当前点击对象
- tomcat如何增大并发_高并发环境下如何优化Tomcat性能
- Swift开发之简单计算器项目
- Excel如何输入负数
- 银行贷款违约风险预测
- 计算机主板提示ahci,电脑BIOS没有AHCI功能没有办法BIOS刷新怎么办
- 大数据基础教程丨TiDB数据库从入门到实践
- Superpixel_Segmentation_With_Fully_Convolutional_Networks ---CVPR_2020_paper(翻译)
- 使用傲梅分区助手无损合并分区,无损调整分区大小
- Redis配置文件详解
- (转)C++进程间和线程间通信
- 一小时刷完英语口语常用3000词汇(绿色护眼版)day8-词汇701-800
- 商用DCLS双核锁步lockstep技术总结
- linux c语言conio.h,linux下conio.h兼容库
热门文章
- 爬虫 全国建筑市场监管服务平台(四库一平台) 小程序数据抓取
- 为AppInventor添加在线更新功能
- RLC电路,帮助你轻松理解“阻抗”的概念
- 未来计算机——人机一体
- 【设计模式】工厂方法模式Factory(Java)
- 红帽力挺OpenStack
- 解决IDEA启动java.util.concurrent.CompletionException
- 在股市中暴富的四种方法(2010-06-05华荣知钱俱乐部)
- 知识点16--k8s资源配置清单入门
- 【Git】报错解决cannot open .git/FETCH_HEAD: Permission denied