逸足跡-新發(fā)現(xiàn)-chatGPT的接入

1.什么是chatGPT

ChatGPT是美國人工智能研究實驗室OpenAI新推出的一種人工智能技術(shù)驅(qū)動的自然語言處理工具,使用了Transformer神經(jīng)網(wǎng)絡(luò)架構(gòu),也是GPT-3.5架構(gòu),這是一種用于處理序列數(shù)據(jù)的模型,擁有語言理解和文本生成能力,尤其是它會通過連接大量的語料庫來訓(xùn)練模型,這些語料庫包含了真實世界中的對話,使得ChatGPT具備上知天文下知地理,還能根據(jù)聊天的上下文進行互動的能力,做到與真正人類幾乎無異的聊天場景進行交流。ChatGPT不單是聊天機器人,還能進行撰寫郵件、視頻腳本、文案、翻譯、代碼等任務(wù)。

2.為什么最近chatGPT這么火

首先,它是由OpenAI推出的一種大型語言模型,在許多領(lǐng)域都有著出色的表現(xiàn)。其次,ChatGPT具有高度的人工智能技術(shù),可以生成語言文本,回答問題,進行對話,等等。這些功能為許多公司和組織帶來了很多便利,因此受到了廣泛的應(yīng)用。此外,ChatGPT的訓(xùn)練數(shù)據(jù)龐大,訓(xùn)練得到的模型具有很高的準(zhǔn)確性和可靠性。這些優(yōu)秀的性能使得ChatGPT在許多領(lǐng)域都有著廣泛的應(yīng)用,成為人工智能領(lǐng)域中的一顆新星。

3.如何接入chatGPT

chatGPT在中國地區(qū)并沒有服務(wù)器,所以想要接入chatGPT需要用自己小伙伴軟件進行連接,筆者這里選擇了網(wǎng)上的第三方用clash進行了連接,為了更好的連接外網(wǎng),這邊選擇了美國的節(jié)點

image.png

網(wǎng)絡(luò)是通了,現(xiàn)在還需要一個openApi的賬號
openApi 登陸地址 https://openai.com/api/
注冊賬號,需要一個郵箱,qq郵箱和163郵箱都可以(注意事項,這里的郵件是外網(wǎng)發(fā)的,所以國內(nèi)的郵箱收到的比較慢,所以需要一些時間等待)這時候你會收到一封openApi發(fā)給你的郵件,你會收到一封激活賬號的郵件
image (2).png

你就可以點擊激活賬號,激活后你還需要一個外國的手機號碼去接收短信
我這里使用的是https://sms-activate.org/ 網(wǎng)上的虛擬手機號碼去接收驗證碼,選擇openApi 然后選擇美國的,因為我試過印度和印度尼西亞都沒有收到短信。在規(guī)定的時間內(nèi)可以免費切換
1.jpeg

拿到短信驗證碼后就可以登錄了找到自己的apikey,一個類型token的東西,這里openAi免費給了18美元,能使用900次左右的調(diào)用次數(shù),所以給我們學(xué)習(xí)是夠用的
c9a63f17-8794-49aa-8493-c4a60f9312ce.jpeg

獲取到apikey,然后查看他的官方文檔,就可以使用調(diào)用了,官方文檔分為不同的場景,官方文檔地址https://beta.openai.com/examples
然后就通過postman調(diào)用驗證

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");
            //添加我們需要輸入的內(nèi)容
            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測試,調(diào)用成功


f4f23ba1-65c1-4710-824e-cca00660eef6.jpeg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容