从0到1使用chatGPT以及简单调用JAVA api实现网页的交互

文章目录

  • 前言
  • 注册过程
  • 如何使得提示词更加的准确?
  • api的简单调用
    • 用httpclient去手动填充请求头
    • 现成封装的方法
  • 最终效果

前言

  本文探讨的是从0到1,如何注册GPT账号,如何编写提示词(prompt),以及简单的java调用api的简单例子,如果有对GPT感兴趣,但是不知道如何开始上手的小伙伴可以看下这篇文章

注册过程

1、你能正常访问到官网:https://openai.com/
2、准备可用的国外邮箱 例如 gmail microsoft 邮箱等等。截止到目前qq邮箱,163等国内邮箱都是不可用的状态
3、准备可用的接受验证码的手机 (例如通过:sms-active)

  以下是注册过程的截图,当前我使用的印度的手机号码亲自测试可以使用

在这里插入图片描述
在这里插入图片描述
4、登陆GPT官网,点击注册,使用海外邮箱,和你购买的手机号,经过短信验证后,你就可以正常使用GPT3.5了
在这里插入图片描述

如何使得提示词更加的准确?

  如图见官网的描述,有以下6个基本测策略。例如:

差的提示词:请给我一段描述汽车的文章
好的提示词:请给我一段描述保时捷跑车的中文文章,文章50个词左右

  简单来说,就是提供更精准的信息,从而大模型才会有更好的相应的匹配信息,而不是让AI去猜你想要的
在这里插入图片描述

api的简单调用

在这里插入图片描述

  看到这里的小伙伴,肯定已经猜到,不就是给open-ai的服务器发送特定格式的http请求,然后我们去解析或者展示respond给我们的信息嘛,所以接下来我们来看下open-ai大致提供了哪些接口,以及如何编写java程序如何去请求这些接口的

  前提:要申请密钥sk
在这里插入图片描述

用httpclient去手动填充请求头

  第一种是手动使用HttpClients去构建请求对象,当然pom需要引入httpclient的依赖

       <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>XXX</version></dependency>
//问:请告诉我java序列化的方式@RequestMapping("/chat")public void streamChat()throws IOException {CloseableHttpClient httpclient = HttpClients.createDefault();try {HttpPost httpPost = new HttpPost("https://api.openai.com/v1/chat/completions");StringEntity requestEntity = new StringEntity("{\"model\": \"gpt-3.5-turbo\",\"messages\": [{ \"role\" : \"user\" , \"content\":  \"请告诉我java序列化的方式\"}], \"temperature\": 0.7, \"max_tokens\": 100}","UTF-8");requestEntity.setContentType("application/json");//如果有用梯子 代理的端口 ip  HttpHost proxy = new HttpHost("代理ip", 代理端口);RequestConfig requestConfig = RequestConfig.custom().setProxy(proxy).setConnectTimeout(10000).setSocketTimeout(10000).setConnectionRequestTimeout(3000).build();httpPost.setConfig(requestConfig);httpPost.setEntity(requestEntity);httpPost.addHeader("Authorization", "Bearer sk-你的密钥");httpPost.addHeader("Content-Type", "application/json");CloseableHttpResponse response = httpclient.execute(httpPost);try {HttpEntity entity = response.getEntity();if (entity != null) {String result = EntityUtils.toString(entity);System.out.println(result);}} finally {response.close();}} finally {httpclient.close();}}

现成封装的方法

  例如官网指明的的java社区包
TheoKanning/openai-java
在这里插入图片描述

  我发现了一个更好用更简洁的朋友二次封装的包,这是他的项目链接:
https://github.com/asleepyfish/chatgpt
  你可以尝试下,引入这个项目的依赖,然后去测试

    @RestControllerpublic class ChatGPTController {@GetMapping("/downloadImage")public void downloadImage(String prompt, HttpServletResponse response) {OpenAiUtils.downloadImage(prompt, response);}}@GetMapping("/streamChatWithWeb")public void streamChatWithWeb(String content, HttpServletResponse response) throws IOException {// 需要指定response的ContentType为流式输出,且字符编码为UTF-8response.setContentType("text/event-stream");response.setCharacterEncoding("UTF-8");OpenAiUtils.createStreamChatCompletion(content, response.getOutputStream());}

最终效果

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

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

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

相关文章

Laf 的价格被打下来了,最高买一送一!(限时五天)

Laf 公众号已接入了 GPT4&#xff0c;完全免费&#xff01;欢迎前来调戏&#x1f447; Laf 上线以来本着丝滑的用户体验&#xff0c;良心的价格&#xff0c;收获众多用户好评&#xff0c;为了回馈新老用户的支持与厚爱&#xff0c;本次 618 放出了巨额优惠&#xff0c;最高可买…

人人都能接入 Claude,赚取自己的第二桶金

Laf 公众号已接入了 AI 绘画工具 Midjourney&#xff0c;可以让你轻松画出很多“大师”级的作品。同时还接入了 AI 聊天机器人&#xff0c;支持 GPT、Claude 以及 Laf 专有模型&#xff0c;可通过指令来随意切换模型。欢迎前来调戏&#x1f447; <<< 左右滑动见更多 &…

神理论 | 我面向淘宝编程,而你面向什么编程?(文末赠书5本)

神理论 | 我面向淘宝编程&#xff0c;而你面向什么编程&#xff1f; 陌生人一定会疑问&#xff0c;嵌入式跟taobao有半毛钱关系啊&#xff1f;那么本文&#xff0c;博主就跟你聊聊&#xff0c;如何面向淘宝学习嵌入式&#xff01; 文章目录 1 写在前面2 面向XXX编程3 面向淘宝学…

一致性哈希(哈希环)解决数据分布问题

哈希算法是程序开发过程中最广泛接触到的的算法之一&#xff0c;典型的应用有安全加密、数据校验、唯一标识、散列函数、负载均衡、数据分片、分布式存储。前些天刚接触到夜莺项目&#xff0c;听介绍目前V6版本集群方式部署&#xff0c;告警生成是通过一致性哈希&#xff08;哈…

墨尔本python培训班_墨尔本大学商业专业

澳大利亚墨尔本大学作为国际知名的高等教育学府&#xff0c;一直以来在各个专业领域都有着十分出色的表现。墨尔本大学商业专业在最近几年逐渐受到广泛的关注&#xff0c;每年申请留学的人数不断增加。墨尔本大学商业专业是一门综合性的专业课程&#xff0c;该专业毕业生的就业…

墨尔本学计算机硕士专业,2020年墨尔本大学计算机硕士详细介绍

墨尔本大学计算机硕士课程中被ACS(澳大利亚计算机协会)认证的课程&#xff1a; (1)Master of Information Systems (12 subject program) (CRICOS duration: 78 weeks): 学制为1.5年&#xff0c;2月和7月开学;此课程对申请人的本科专业背景无限制性要求&#xff0c;但是要求有一…

墨尔本计算机专业本科几年,墨尔本大学本科计算机科学与软件如何

原标题&#xff1a;墨尔本大学本科计算机科学与软件如何 墨尔本大学本科计算机科学与软件如何 墨尔本大学的计算机科学软件属于研究性项目,将为学生提供承接研究项目的机会,同时也会学习一些职业技巧相关的授果型科目。这个项目将为继续PhD深造提供一条捷径。职业发展:应用程序…

墨尔本大学 计算机科学,计算机科学墨尔本大学

计算机正在改变世界和我们的生活&#xff0c;计算机技术也在不断发展。墨尔本大学计算机科学硕士项目将教授学生一系列专业的知识&#xff0c;以应对计算机技术的不断革新。墨尔本大学计算机科学硕士项目为学生在软件设计&#xff0c;网络安全&#xff0c;信息架构以及编程方面…

关于有朋友遇到的使用 ChatGPT 获得 SAP 相关问题答案不够准确的困扰和我的解答

笔者的 SAP 开发技术交流群里&#xff0c;有朋友提问&#xff1a; 求教一下&#xff0c;哪位大侠知道查看主配方(事务代码C203)的界面里面&#xff0c;那个工序的资源字段是怎么取出来的&#xff08;从哪个数据表来的&#xff09;&#xff1f;多谢 这个朋友反馈&#xff0c;在他…

高考选专业

各省高考成绩已出&#xff0c;又到一年高考季。张雪峰提到&#xff1a;“普通家庭不要光谈理想&#xff0c;也要谈落地。”志愿怎样填报、选专业还是选学校、什么专业好就业、高考志愿主要看什么&#xff1f;针对这些疑问&#xff0c;你对正在选志愿的毕业生们有什么建议吗&…

专家意见何处寻:AI扮演领域专家角色为你答疑解惑

当我们寻求意见或建议时&#xff0c;ChatGPT是一个非常有用的工具。 作为通用的语言模型&#xff0c;ChatGPT 可以提供关于各种话题的建议和意见&#xff0c;如日常生活、工作、学习、人际关系、心理健康、科技和互联网、旅行和休闲、财务和投资、健康和医疗&#xff0c;以及环…

亚马逊跨境电商美国站店铺选品数据分析表,亚马逊美国站店铺产品上架教程

这几年随着跨境电商的逐步火热&#xff0c;越来越多人加入了这个大行业&#xff0c;而亚马逊作为跨境电商最大的渠道自然也是遭到最多的重视&#xff0c;亚马逊美国站点是亚马逊所有站点中市场份额最大的一个站点&#xff0c;今天咱们就来评论下亚马逊美国站什么产品最热销。 ​…

面向 Web 开发人员的 50 个 ChatGPT 提示

使用 ChatGPT 释放您的 Web 开发潜力&#xff01;在本文中&#xff0c;我们提出了 50 个引人入胜的提示&#xff0c;它们将激励和挑战各个级别的 Web 开发人员。无论您是经验丰富的编码员还是刚刚开始编码之旅&#xff0c;这些发人深省的问题都会激发您的创造力&#xff0c;加深…

AI | 浅谈AI技术以及其今后发展

文章概要 近期AI成为热点话题&#xff0c; GPT&#xff0c; new bing&#xff0c; bard&#xff0c;AI 绘画等 AI 编程工具引发大量讨论。请结合自身学习与工作经历&#xff0c;一起来聊聊你对AI技术以及其今后发展的看法吧。 &#x1f31f;&#x1f31f;&#x1f31f;个人简介…

ChatGPT代码解释器提示词

【金山文档】 GPT-4代码解释器关键词 https://kdocs.cn/l/ccnmshBHAE3H

Unity之ASE实现影魔灵魂收集特效

前言 我们今天来实现一下Dota中的影魔死亡后,灵魂收集的特效。效果如下: 实现原理 1.先添加一张FlowMap图,这张图的UV是根据默认UV图,用PS按照我们希望的扭曲方向修改的如下图所示: 2.通过FlowMap图,我们和原UV图:Texture Coordinates 进行插值。这样我么就得到了一…

《炉石传说》架构设计赏析(2):Scene管理

欢迎来的我的酒馆&#xff0c;快来火炉旁暖暖你的靴子。哈哈&#xff0c;我们继续欣赏炉石的代码。欢迎转载&#xff0c;请注明作者【燕良游戏开发】及原文地址&#xff1a;http://blog.csdn.net/neil3d/article/details/39231541 上篇文章我们分析到SceneMgr处理了Scene的加载…

RPG游戏《黑暗之光》流程介绍与代码分析之(六):背包系统的实现(下)

接着&#xff08;上&#xff09;部分的内容&#xff0c;本节关注物品栏中一些功能的实现&#xff0c;及 拾取操作的模拟背包的显示与隐藏物品提示信息 5.4 拾取模拟 有了&#xff08;上&#xff09;部分的铺垫&#xff0c;本节的目标是实现物品拾取功能。 物品拾取功能的逻辑分…

Unity3d开发MOBA游戏类《王者荣耀》记录(一)

由于最近工作忙&#xff0c;之前一直想写的王者荣耀教程直接就忘记了&#xff0c;最新才记起来&#xff0c;现在继续更新~。 上一篇起始大概介绍了一下我对这个工程的简单思路现在开始一步步实现&#xff0c;首先先创建一个Unity3d工程&#xff0c;这里我先用5.4.0吧&#xff…

《炉石传说》架构设计赏析(3):Gameplay初探

经过前面两篇文章的分析&#xff0c;我们对炉石的代码已经不陌生了&#xff0c;接下来我初步尝试分析其游戏逻辑代码。欢迎转载&#xff0c;请注明作者【燕良游戏开发】及原文地址&#xff1a;http://blog.csdn.net/neil3d/article/details/39453291 经过前面的分析&#xff0…