逸足迹-新发现-chatGPT的接入

1.什么是chatGPT

ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

2.为什么最近chatGPT这么火

首先,它是由OpenAI推出的一种大型语言模型,在许多领域都有着出色的表现。其次,ChatGPT具有高度的人工智能技术,可以生成语言文本,回答问题,进行对话,等等。这些功能为许多公司和组织带来了很多便利,因此受到了广泛的应用。此外,ChatGPT的训练数据庞大,训练得到的模型具有很高的准确性和可靠性。这些优秀的性能使得ChatGPT在许多领域都有着广泛的应用,成为人工智能领域中的一颗新星。

3.如何接入chatGPT

chatGPT在中国地区并没有服务器,所以想要接入chatGPT需要用自己小伙伴软件进行连接,笔者这里选择了网上的第三方用clash进行了连接,为了更好的连接外网,这边选择了美国的节点

image.png

网络是通了,现在还需要一个openApi的账号
openApi 登陆地址 https://openai.com/api/
注册账号,需要一个邮箱,qq邮箱和163邮箱都可以(注意事项,这里的邮件是外网发的,所以国内的邮箱收到的比较慢,所以需要一些时间等待)这时候你会收到一封openApi发给你的邮件,你会收到一封激活账号的邮件
image (2).png

你就可以点击激活账号,激活后你还需要一个外国的手机号码去接收短信
我这里使用的是https://sms-activate.org/ 网上的虚拟手机号码去接收验证码,选择openApi 然后选择美国的,因为我试过印度和印度尼西亚都没有收到短信。在规定的时间内可以免费切换
1.jpeg

拿到短信验证码后就可以登录了找到自己的apikey,一个类型token的东西,这里openAi免费给了18美元,能使用900次左右的调用次数,所以给我们学习是够用的
c9a63f17-8794-49aa-8493-c4a60f9312ce.jpeg

获取到apikey,然后查看他的官方文档,就可以使用调用了,官方文档分为不同的场景,官方文档地址https://beta.openai.com/examples
然后就通过postman调用验证

34f9550b-4ab8-4dc8-908c-fa2da0f89977.jpeg

fec1e653-c9fb-401b-a116-95990889cfbf.jpeg

最后接入java程序

package com.bestpay.controller;


import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.bestpay.entity.Demo;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
* @author lyf
*/
@RestController
    @RequestMapping("/demo")
    public class DemoController {


        @RequestMapping("/openAPi")
        public Demo demo(@RequestBody Demo demo) {
            Map<String,String> headers = new HashMap<String,String>();
            headers.put("Content-Type","application/json;charset=UTF-8");

            JSONObject json = new JSONObject();
            //选择模型
            json.put("model","text-davinci-003");
            //添加我们需要输入的内容
            json.put("prompt",demo.getText());
            //情绪值
            json.put("temperature",0.9);

            json.put("max_tokens",2048);
            //相似度
            json.put("top_p",1);
            json.put("frequency_penalty",0.0);
            json.put("presence_penalty",0.6);

            HttpResponse response = HttpRequest.post("https://api.openai.com/v1/completions")
                .headerMap(headers, false)
                .bearerAuth("自己的key")
                .body(String.valueOf(json))
                .timeout(5 * 60 * 1000)
                .execute();
            String body = response.body();
            JSONObject jsonObject = JSONObject.fromObject(body);
            Object choices = jsonObject.get("choices");
            JSONArray jsonArray = JSONArray.fromObject(choices);
            Object text = JSONObject.fromObject(jsonArray.get(0)).get("text");
            Demo demo1 = new Demo();
            demo1.setText(text.toString());
            return demo1;
        }

    }

通过postman测试,调用成功


f4f23ba1-65c1-4710-824e-cca00660eef6.jpeg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容