SpringBoot 整合 ChatGPT API 项目实战,挣了3K!

大家好,我是老赵

体验到了ChatGPT的强大之后,那么我们会想,如果我们想基于ChatGPT开发一个自己的聊天机器人,这个能搞定吗?

ChatGPT平台已经为技术提供了一个入口了,很简单的就是实现了。

一、准备工作

1)已成功注册 OpenAI 的账号。

2)创建 API KEY,这个 API KEY 是用于 HTTP 请求身份验证的,可以创建多个。注意这个创建之后需要马上复制好保存,关闭弹框之后就看不到了。

3)官方 API 文档链接:

https://platform.openai.com/docs/api-reference/authentication

4)注意 API 调用是收费的,但是 OpenAI 已经为我们免费提供了18美元的用量,足够大家放心使用。

SpringBoot 整合 ChatGPT API 项目实战,挣了3K!_第1张图片

二、补全接口示例

该接口功能较多,支持最常用的问答功能。

1)请求方式,Post

2urlhttps://api.openai.com/v1/completions

3)请求体 (json)

{
  "model": "text-davinci-003",
  "prompt": "Say this is a test",
  "max_tokens": 7,
  "temperature": 0,
  "top_p": 1,
  "n": 1,
  "stream": false
}

4)接口文档

https://platform.openai.com/docs/api-reference/completions/create

请求参数解析:

字段

说明

model

可选参数。语言模型,这里选择的是text-davinci-003

prompt

必选参数。即用户的输入。

max_tokens

可选参数,默认值为 16。最大分词数,会影响返回结果的长度。

temperature

可选参数,默认值为 1,取值 0-2。该值越大每次返回的结果越随机,即相似度越小。

top_p

可选参数,与temperature类似。

n

可选参数,默认值为 1。表示对每条prompt生成多少条结果。

stream

可选参数,默认值为false。表示是否回流部分结果。

三、申请API-KEY

访问地址:

https://platform.openai.com/account/api-keys

登录账号,然后创建API KEY:

SpringBoot 整合 ChatGPT API 项目实战,挣了3K!_第2张图片

这个 API KEY 是用于 HTTP 请求身份验证的,可以创建多个。注意这个创建之后需要马上复制好保存,关闭弹框之后就看不到了。

四、JavaScript调用API

直接可以使用js+html开发一个对话,具体的源码如下:




   
      
      
      Ai - Chat
      
      
      

      
   

   

      
         

与Ai对话,请描述您的需求-支持中文、英语、日本语等

      
                       回答              

注意:需要替换自己的api-key,修改这一行代码:

xhr.setRequestHeader("Authorization", "Bearer API-KEY")

运行一下html,看下效果:

SpringBoot 整合 ChatGPT API 项目实战,挣了3K!_第3张图片

五、SpringBoot使用ChatGPT API

1)构建一个Spring Boot项目,这里使用的是2.7.6版本;

2)引入依赖:


    com.theokanning.openai-gpt3-java
    service
    0.10.0

官网链接地址:https://platform.openai.com/docs/libraries/community-libraries

3)请求代码:

String token = "API-KEY ";//System.getenv("OPENAI_TOKEN");

OpenAiService service = new OpenAiService(token);
CompletionRequest completionRequest = CompletionRequest.builder()
        .model("text-davinci-003")
        .prompt("今天天气怎么样?")
        .temperature(0.5)
        .maxTokens(2048)
        .topP(1D)
        .frequencyPenalty(0D)
        .presencePenalty(0D)
        .build();
service.createCompletion(completionRequest).getChoices().forEach(System.out::println);

请替换API-KEY

运行程序:

1c14a05e7481a61bb3debbbd9b75c395.png

我就是我,是颜色不一样的烟火。
我就是我,是与众不同的小苹果。

来源:https://mp.weixin.qq.com/s/dMfOp-XJjszNUmZ9xgsYbw

 
   

精彩推荐

1.实战:Spring Boot源码解读与原理分析
2.还在手动配置Nginx?太LOW了,这个超强大的 Nginx 可视化管理工具太牛逼了!
3.支付宝二面:SELECT COUNT(*) 会造成全表扫描?让回去等通知......
4.CTO:再写if-else,逮着罚款1000!
5.这款 IDEA 插件太好用了,堪称日志管理神器!
6.偷偷曝光下国内这些软件外包公司!(2023 最新版)
7.学会 IDEA 的这个功能,就可以丢掉 Postman 了
8.jar 和 vue 一键自动化部署神器工具,界面友好,操作简单!

SpringBoot 整合 ChatGPT API 项目实战,挣了3K!_第4张图片

你可能感兴趣的:(chatgpt)