1.什么是chatGPT
ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。
2.为什么最近chatGPT这么火
首先,它是由OpenAI推出的一种大型语言模型,在许多领域都有着出色的表现。其次,ChatGPT具有高度的人工智能技术,可以生成语言文本,回答问题,进行对话,等等。这些功能为许多公司和组织带来了很多便利,因此受到了广泛的应用。此外,ChatGPT的训练数据庞大,训练得到的模型具有很高的准确性和可靠性。这些优秀的性能使得ChatGPT在许多领域都有着广泛的应用,成为人工智能领域中的一颗新星。
3.如何接入chatGPT
chatGPT在中国地区并没有服务器,所以想要接入chatGPT需要用自己小伙伴软件进行连接,笔者这里选择了网上的第三方用clash进行了连接,为了更好的连接外网,这边选择了美国的节点
网络是通了,现在还需要一个openApi的账号
openApi 登陆地址 https://openai.com/api/
注册账号,需要一个邮箱,qq邮箱和163邮箱都可以(注意事项,这里的邮件是外网发的,所以国内的邮箱收到的比较慢,所以需要一些时间等待)这时候你会收到一封openApi发给你的邮件,你会收到一封激活账号的邮件
你就可以点击激活账号,激活后你还需要一个外国的手机号码去接收短信
我这里使用的是https://sms-activate.org/ 网上的虚拟手机号码去接收验证码,选择openApi 然后选择美国的,因为我试过印度和印度尼西亚都没有收到短信。在规定的时间内可以免费切换
拿到短信验证码后就可以登录了找到自己的apikey,一个类型token的东西,这里openAi免费给了18美元,能使用900次左右的调用次数,所以给我们学习是够用的
获取到apikey,然后查看他的官方文档,就可以使用调用了,官方文档分为不同的场景,官方文档地址https://beta.openai.com/examples
然后就通过postman调用验证
最后接入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测试,调用成功