欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于ChatGPT+SpringBoot實現智能聊天AI機器人接口并上線至服務器的方法

 更新時間:2023年02月16日 09:50:17   作者:大數據小禪  
ChatGPT是一款基于自然語言處理技術的聊天機器人,ChatGPT可以模擬真實的人類對話,并能夠更貼近用戶的需求,提供更有價值的服務,這篇文章主要介紹了基于ChatGPT+SpringBoot實現智能聊天AI機器人接口并上線至服務器,需要的朋友可以參考下

?? ChatGPT是最近很熱門的AI智能聊天機器人
?? 本文使用SpringBoot+OpenAI的官方API接口,自己實現一個可以返回對話數據的接口并上線服務器
?? 用途方面相比于普通的聊天AI更加的廣泛,甚至可以幫助你改BUG,寫代碼!??!

最終接口效果演示

ChatGPT介紹

ChatGPT是一款基于自然語言處理技術的聊天機器人。它使用受控語料庫,并使用最先進的深度學習技術來學習用戶的輸入,以便以最相似的方式回應。ChatGPT可以模擬真實的人類對話,并能夠更貼近用戶的需求,提供更有價值的服務。

SpringBoot介紹

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應用開發(fā)領域(rapid application development)成為一個重要的先驅。

Spring Boot為Spring應用提供了一種快速的起步方式,可用來創(chuàng)建獨立的,生產級的基于Spring的應用程序。它提供了一種更快捷的方式來創(chuàng)建Spring應用,并且不需要任何XML配置。Spring Boot提供了可選擇的高級特性,如持久層技術和安全性,可以讓你快速構建令人滿意的web應用程序和服務。

構建SpringBoot項目

項目主要使用的maven依賴如下,通過Maven構建項目即可

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.yopai</groupId>
    <artifactId>openapi</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>openapi</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.21</version>
        </dependency>

Post請求解析

RestTemplate是Spring框架的一個用于訪問RESTful服務的客戶端庫,它提供了一組簡單的、可擴展的方法來訪問RESTful服務。它可以訪問HTTP服務,并以字符串、Java對象或多種格式的數據(如JSON)進行序列化和反序列化。RestTemplate支持多種HTTP方法,如GET、POST、PUT、DELETE等,可以用來訪問RESTful服務,并獲取服務器返回的結果。

 public static String sendPost(String data) {
        RestTemplate client = new RestTemplate();
        HttpHeaders httpHeaders = new HttpHeaders();
        httpHeaders.add("Authorization","Bearer <YourAPI>");
        httpHeaders.add("Content-Type", "application/json"); // 傳遞請求體時必須設置
//        String requestJson = "{\n" +
//                "    \"model\": \"text-davinci-003\",\n" +
//                "     \"prompt\": \"你好\",\n" +
//                "      \"temperature\": 0, \n" +
//                "      \"max_tokens\": 2048\n" +
//                "}";
        String requestJson = String.format(
                "{\n" +
                        "    \"model\": \"text-davinci-003\",\n" +
                        "     \"prompt\": \"%s\",\n" +
                        "      \"temperature\": 0, \n" +
                        "      \"max_tokens\": 2048\n" +
                        "}",data
        );
        HttpEntity<String> entity = new HttpEntity<String>(requestJson,httpHeaders);
        ResponseEntity<String> response = client.exchange("https://api.openai.com/v1/completions", HttpMethod.POST, entity, String.class);
        System.out.println(response.getBody());
        JSONObject jsonObject = JSONObject.parseObject(response.getBody());
        JSONArray choices = jsonObject.getJSONArray("choices");
        String text = choices.getJSONObject(0).getString("text");
//        Object o = jsonObject.get("\"choices\"");
        return text;
    }

接口控制類

    @PostMapping("gpt")
    public JsonData get(@RequestBody Promat promat){
        String text = HttpGPT.sendPost(promat.getData());
        System.out.println(promat);
        JsonData jsonData = JsonData.bulidSuccess(text);
        return jsonData;
    }

打包發(fā)布接口到服務器

通過IDEA將項目進行打包后上傳到服務器,運行以下命令即可完成線上部署
java -jar :運行打包好的項目
nohup:讓項目在后臺一直運行
之后把LocalHost修改成服務器的公網IP即可

到此這篇關于基于ChatGPT+SpringBoot實現智能聊天AI機器人接口并上線至服務器的文章就介紹到這了,更多相關ChatGPT+SpringBoot打造智能聊天AI機器人接口內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 多jdk環(huán)境下指定springboot外部配置文件詳解

    多jdk環(huán)境下指定springboot外部配置文件詳解

    這篇文章主要為大家介紹了多jdk環(huán)境下指定springboot外部配置文件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 詳解shrio的認證(登錄)過程

    詳解shrio的認證(登錄)過程

    這篇文章主要介紹了shrio的認證(登錄)過程,幫助大家更好的理解和使用shrio框架,感興趣的朋友可以了解下
    2021-02-02
  • IDEA:Git stash 暫存分支修改的實現代碼

    IDEA:Git stash 暫存分支修改的實現代碼

    這篇文章主要介紹了IDEA:Git stash 暫存分支修改的實現代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)

    Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)

    這篇文章主要給大家介紹了關于Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)的相關資料,Java中的JUC(java.util.concurrent)包提供了一些并發(fā)編程中常用的類,這些類可以幫助我們更方便地實現多線程編程,需要的朋友可以參考下
    2024-02-02
  • Can''t use Subversion command line client:svn 報錯處理

    Can''t use Subversion command line client:svn 報錯處理

    這篇文章主要介紹了Can't use Subversion command line client:svn 報錯處理的相關資料,需要的朋友可以參考下
    2016-09-09
  • JFreeChart簡單實現光滑曲線繪制

    JFreeChart簡單實現光滑曲線繪制

    這篇文章主要為大家詳細介紹了JFreeChart簡單實現光滑曲線的繪制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 淺談Java中replace與replaceAll區(qū)別

    淺談Java中replace與replaceAll區(qū)別

    這篇文章主要介紹了Java中replace與replaceAll區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • JWT全面解讀和詳細使用步驟

    JWT全面解讀和詳細使用步驟

    這篇文章全面解讀了JWT規(guī)范和詳細使用步驟,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • 5分鐘讓你快速掌握java8 stream常用開發(fā)技巧

    5分鐘讓你快速掌握java8 stream常用開發(fā)技巧

    這篇文章主要給大家介紹了關于java8 stream常用開發(fā)技巧的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Java中的異常Exception與處理方式詳解

    Java中的異常Exception與處理方式詳解

    這篇文章主要介紹了Java中的異常Exception與處理方式詳解, Java語言中,將程序執(zhí)行中發(fā)生的不正常情況稱為"異常"(開發(fā)過程中的語法錯誤和邏輯錯誤不是異常),需要的朋友可以參考下
    2024-01-01

最新評論