ChatGPT教程 基于Springboot+Spring+MybatisPlus实现gpt3.5接口开发

news2024/12/22 19:36:33

ChatGPT教程: 基于Springboot+Spring+MybatisPlus实现gpt3.5接口开发
🚀 文章介绍: 本文基于SpringBoot+Spring+MybatisPlus实现一个响应快速的gpt接口,可通过与前端整合开发对应的前端页面
🚀 源码获取: 项目中的资料可以通过文章底部小卡片获取

最终效果演示

在这里插入图片描述
在这里插入图片描述

GPT接口介绍

GPT-3 的 API 接口可以用于许多应用,例如基于自然语言处理的智能问答、机器翻译、文本摘要、文本自动生成、语言模型微调等等。根据 OpenAI 官网的介绍,GPT-3 API 提供了多种可定制的 API 接口,其中包括:

文本生成(Text Completion)API:输入前缀文本,自动生成补全文本。

文本生成(Text Generation)API:输入主题或关键词,自动生成相关的文章或段落。

问答(Question Answering)API:输入问题,自动生成回答。

自然语言交互(Conversational AI)API:模拟人类对话,回答用户的自然语言问题。

文本摘要(Text Summarization)API:输入长篇文章,自动生成简洁精炼的摘要。

机器翻译(Translation)API:将一种语言的文本翻译成另外一种语言。

语言模型微调(Language Model Fine-tuning)API:将预先训练好的语言模型进一步优化以适应特定领域应用,如情感分析、信息提取等。

代码演示

相关依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents.client5/httpclient5 -->
        <dependency>
            <groupId>org.apache.httpcomponents.client5</groupId>
            <artifactId>httpclient5</artifactId>
            <version>5.2.1</version>
        </dependency>
实体类与实现类封装
@RestController
@RequestMapping("/api")
public class ChatController {

    @Autowired
    private HttpGptService httpGpt;
    @PostMapping("robot")
    public JsonData getMessage(@RequestBody GptInfo gptInfo) throws IOException {
        String msg = httpGpt.getMsg(gptInfo.getInfo());
        System.out.println(msg);
        System.out.println(gptInfo.getInfo());
        return JsonData.buildSuccess(msg);
    }
}

@Service
public class GetMasImpl implements HttpGptService {
    @Override
    public String getMsg(String info) throws IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //
        String apiKey = "your_key";
        CustomChatGpt customChatGpt = new CustomChatGpt(apiKey);
        customChatGpt.setResponseTimeout(80000);
        long start = System.currentTimeMillis();
        String answer = customChatGpt.getAnswer(httpClient, info);
        long end = System.currentTimeMillis();
        System.out.println("该回答花费时间为:" + (end - start) / 1000.0 + "秒");
        System.out.println("该回答花费时间为:" + (end - start) / 1000.0 + "秒");
        httpClient.close();
        return answer;
    }
}

接口相关说明

  • 接口输入: 输入JSON字段,INFO
  • 接口返回: 返回如下三个字段
  • 注意:如果需要部署上线则需要使用代理,或者魔法方法
    在这里插入图片描述

内容获取

  • 代码较多不便一一贴出来,感兴趣的小伙伴可以直接 + yopa66

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AutoSizer.exe:自动调整窗口大小的便捷工具

AutoSizer.exe是一款实用的桌面应用程序,它旨在帮助用户自动调整窗口大小,提供更好的用户体验。无论您是在使用Windows操作系统进行日常工作还是进行多任务处理,AutoSizer.exe可以简化您的工作流程,提高效率。本文将介绍AutoSizer.exe的下载地址、功能介绍、使用方法以及其…

国考省考行测:增长率,减少率,增长3倍,是3倍,比较增长率直接相除,能除就除,能减就减,看题三要素:时间,关键词,考点

国考省考行测&#xff1a;增长率&#xff0c;减少率&#xff0c;增长3倍&#xff0c;是3倍&#xff0c;比较增长率直接相除&#xff0c;能除就除&#xff0c;能减就减&#xff0c;看题三要素&#xff1a;时间&#xff0c;关键词&#xff0c;考点 2022找工作是学历、能力和运气…

__101对称二叉树------进阶:你可以运用递归和迭代两种方法解决这个问题吗?---本题还没用【迭代】去实现

101对称二叉树 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 101. 对称二叉树 https://leetcode.cn/problems/symmetric-tree/ 完成情况&#xff1a; 解题思路&#xff1a; 递归的难点在于&#xff1a;找到可以…

谈谈包装类与泛型

目录 包装类 基本数据类型与对应的包装类 装箱和拆箱 装箱 拆箱 泛型 什么是泛型 泛型的语法与使用 泛型的编译 擦除机制 泛型的上界 泛型方法 提到泛型的话&#xff0c;我们就先提一下包装类吧&#xff01; 包装类 在Java中&#xff0c;由于基本类型不是继承自Ob…

STC8单片机+基于DMP库解析MPU6050数据+匿名上位机图形化显示

STC8单片机+基于DMP库解析MPU6050数据+匿名上位机图形化显示 📌相关篇《STC8单片机+基于DMP库解析MPU6050数据+vofa+图形化显示》✨该工程代码匹配的是匿名四轴上位机软件的2.6版本通讯协议,所以支持使用2.6版本的,最新的版本不支持。🌿验证对象:STC8H8K64U🌿时钟频率…

产品需求文档|协调、协作和沟通新产品开发的专业指南

「产品需求文档」是一个强大的产品管理工具&#xff0c;被众多敏捷团队推荐&#xff0c;并被一些行业中的大公司使用。 它有助于使团队保持一致&#xff0c;促进长期合作&#xff0c;并向团队成员传达优先必做事项&#xff0c;以完成工作。 如果你还没有开始制作&#xff0c;…

一个有趣的vc1编码器

这里分享一个vc1编码器&#xff0c;下载地址&#xff1a; https://download.csdn.net/download/weixin_43360707/87791898 文件包在附件&#xff0c;打开文件夹&#xff0c;可以看到下面三个文件夹&#xff1a; 因为我们的系统试Linux&#xff0c;所以我们选择Linux(x64). 继…

kubeadm方式搭建的k8s集群升级——2023.05

文章目录 一、概述二、集群概况三、升级集群2.1 确定升级版本2.2 升级Master2.3 升级 Worker 四、验证集群 一、概述 搭建k8s集群的方式有很多种&#xff0c;比如二进制&#xff0c;kubeadm&#xff0c;RKE&#xff08;Rancher&#xff09;等&#xff0c;k8s集群升级方式也各有…

利用android studio 生成 JNI需要的动态库so文件 图文详解

一、环境搭建 1.1 Android studio2021.2.1安装 到官网下载&#xff0c;此处不再陈述 1.2 JNI安装 JNI 是JDK里的内容&#xff0c;电脑上正确安装并配置JDK即可。 1.3 NDK安装 直接在Android studio下载&#xff08;File---->Settings&#xff09; 1.4 编译工具 工具一…

72.建立一个表格组件

本节课我们将实现如下的表格&#xff1a; ● 首先&#xff0c;我们直接用表格元素将这些数据展现出来 <table><tr><td>Chair</td><td>The Laid Back</td><td>The Worker Bee</td><td>The Chair 4/2</td></tr…

数据结构与算法——算法与算法分析

算法与算法分析 初识算法算法的定义算法的描述算法与程序算法的特性算法设计的要求 算法时间效率的度量事前估计法算法时间复杂度的渐进表示法算法时间复杂度案例分析最好、最坏和平均时间复杂度算法的空间复杂度 初识算法 算法的定义 算法&#xff0c;即是对特定问题求解方法…

Winform实现以管理员模式启动并实现修改系统时间

场景 SpringBoot/Java中定时请求并根据服务端响应头的date实现本地Windows修改时间/时间同步(管理员权限问题-bat管理员启动cmd并运行jar)&#xff1a; SpringBoot/Java中定时请求并根据服务端响应头的date实现本地Windows修改时间/时间同步(管理员权限问题-bat管理员启动cmd…

在家吃灰老主机怎么自建黑群晖NAS当影音服务器

准备:u盘一个,老主机一个,要显示器键盘,烧u盘软件win32-disk(网上找)、balena(balenaEtcher - Flash OS images to SD cards & USB drives)的 1,巴西大佬的引导文件 进来这里 GitHub - fbelavenuto/arpl: Automated Redpill Loader 点右边的release文件下载 下载…

golang 函数调用栈笔记

一个被函数在栈上的情况&#xff1a;&#xff08;栈从高地址向低地址延伸&#xff09; 返回地址&#xff08;函数执行结束后&#xff0c;会跳转到这个地址执行&#xff09; BP&#xff08;函数的栈基&#xff09;局部变量返回值&#xff08;指的是函数返回值&#xff0c;eg&am…

Facebook广告投放过程中,如何提高有效曝光?

在数字营销中&#xff0c;广告曝光是至关重要的一环&#xff0c;Facebook广告投放也不例外。 有效曝光能够提高广告的点击率和转化率&#xff0c;从而帮助企业实现更好的广告效果。那么在Facebook广告投放过程中&#xff0c;如何提高有效曝光呢&#xff1f;下面将为大家分享几…

【Mybatis】SpringBoot整合Mybatis

唠嗑部分 之前我们说了Mybatis的一些文章&#xff0c;相关文章&#xff1a; 【Mybatis】简单入门及工具类封装-一 【Mybatis】如何实现ORM映射-二 【Mybatis】Mybatis的动态SQL、缓存机制-三 【Mybatis】Mybatis处理一对多、多对多关系映射-四 这篇文章我们来说说SpringBoot如…

前端面试高频题精讲(一)

HTML篇 什么是语义化 用正确的标签做正确的事情。例如&#xff1a;段落用 p 标签&#xff0c;标题用 h 系列标签。 便于团队的开发和维护&#xff0c;我见过用div走天下的&#xff0c;但不利于看清页面结构。在没有加载 CSS 的情况下也能呈现较好的内容结构与代码结构&#xf…

Ubuntu18.04/20.04/22.04的Apollo8.0软件包安装(免编译)

本文主要介绍在如何使用软件包&#xff08;即 deb 包&#xff09;的方式来安装 Apollo&#xff0c;相对于源码方式安装&#xff0c;软件包安装方式不需要编译&#xff0c;更加快捷。但是对环境的支持比较单一&#xff0c;如果在自定义环境内安装&#xff0c;请移步源码安装方式…

camunda流程引擎connector如何使用

在 Camunda 中&#xff0c;Connector 是一种用于与外部系统或服务交互的机制。它允许 BPMN 模型中的 Service Task 节点与外部系统或服务进行通信&#xff0c;从而使流程更加灵活和可扩展。使用 Connector&#xff0c;可以将业务流程与外部系统集成在一起&#xff0c;而无需编写…

java商城 java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案&#xff1f;以下是我结合公司的产品做的总结&#xff0c;希望可以帮助到大家&#xff01; 搜索体验小程序&#xff1a;海哇 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家…