国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人

這篇具有很好參考價(jià)值的文章主要介紹了沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

?? 作者 :“大數(shù)據(jù)小禪”

?? **文章簡(jiǎn)介 **:最近有小伙伴留言,“很久沒人找我聊天了,可以寫一個(gè)陪聊機(jī)器人展現(xiàn)一下程序員的浪漫嗎?”,小禪:“安排!”

?? **文章源碼獲取 **:本文的源碼,小伙伴們可以關(guān)注文章底部的公眾號(hào),點(diǎn)擊“聯(lián)系我”備注源碼獲取哦。

?? 歡迎小伙伴們 點(diǎn)贊??、收藏?、留言??


1.智能陪聊機(jī)器人演示

人工智能一直是最近的熱點(diǎn)話題,自動(dòng)人工智能但是以來應(yīng)用領(lǐng)域就不斷的擴(kuò)大,在未來人工智能也會(huì)在人們的生活中不斷普及與應(yīng)用。這篇博文中的陪聊機(jī)器人,使用java進(jìn)行編寫,可以根據(jù)你發(fā)的信息進(jìn)行智能的回應(yīng),還算挺有意思的一個(gè)小玩意。最終效果的演示如下圖~

沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人

2.智能問答平臺(tái)API介紹

這個(gè)陪聊機(jī)器人項(xiàng)目使用了青云課的智能API,通過調(diào)用API得到信息反饋。

具體的調(diào)用格式如下:

http://api.qingyunke.com/api.php?key=free&appid=0&msg=%s
其中的%s傳入我們需要發(fā)送給機(jī)器人的內(nèi)容,就可以得到API調(diào)用結(jié)果的反饋。
  • key 固定參數(shù) free
  • appid 設(shè)置成0,為智能識(shí)別
  • msg 為搜索關(guān)鍵詞
  • result 表示返回狀態(tài),返回0表示正常
  • content api返回的信息內(nèi)容

可以看到數(shù)據(jù)是以JSON的形式進(jìn)行返回。

沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人
沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人

3.整合第三方JSON開源庫(kù)

Gson是Google提供的類庫(kù),可以用來處理java對(duì)象與JSON數(shù)據(jù)之間的映射,將一個(gè)JSON字符串轉(zhuǎn)換成一個(gè)java對(duì)象,方便我們對(duì)API返回的JSON格式的數(shù)據(jù)進(jìn)行處理,下面演示如何將Gson類庫(kù)導(dǎo)入到我們的工程中。

首先可以去官網(wǎng)下載對(duì)應(yīng)的jar包,或者直接私信我獲取。獲取jar包之后找個(gè)全英文路徑進(jìn)行保存。這里我們使用的編輯器是IDEA,所以使用IDEA進(jìn)行演示,小伙伴們使用的是其他編輯器的話導(dǎo)入方法都是類似的哦。在IDEA打開如下界面,找到j(luò)ar包導(dǎo)入即可。

沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人

4.智能機(jī)器人項(xiàng)目框架搭建與模塊劃分

項(xiàng)目搭建:搭建的部分無太多要求,只需要使用IDEA創(chuàng)建一個(gè)新的普通java工程即可

項(xiàng)目模塊搭建:

  • model 類 用來存放請(qǐng)求所返回的對(duì)象
  • util 類用來存放工程所用到的工具類,比如說HTTP請(qǐng)求解析類
  • app 類用來當(dāng)作機(jī)器人項(xiàng)目的入口
  • service 類用來實(shí)現(xiàn)業(yè)務(wù)的接口

相關(guān)的兩個(gè)實(shí)體類如下:

public class Request {

    private String key = "free";

    private String appid = "0";

    private String msg = "";


    public Request(){}


    public Request(String msg){
        this.msg = msg;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getAppid() {
        return appid;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}

public class Response {


    private int code;

    private String content;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}


5.封裝一個(gè)機(jī)器人HTTP工具類

HTTP工具類主要用來對(duì)api進(jìn)行請(qǐng)求,獲取返回的內(nèi)容

public class HttpUtils {

    public static String request(String api){

        HttpURLConnection connection = null;
        int responseCode = 0;
        try{
            URL url = new URL(api);
            //獲取對(duì)應(yīng)的連接對(duì)象
            connection = (HttpURLConnection) url.openConnection();
            responseCode = connection.getResponseCode();
        }catch (Exception e){
            e.printStackTrace();
        }

        if(200 <= responseCode && responseCode<=299){
            try(InputStream inputStream = connection.getInputStream();
                BufferedReader in =  new BufferedReader(new InputStreamReader(inputStream));
            ){
                StringBuilder response = new StringBuilder();
                String currentLine;
                while ((currentLine = in.readLine())!= null){
                    response.append(currentLine);
                }
                String result = response.toString();
                return result;
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        return null;

    }

}

6.實(shí)現(xiàn)機(jī)器人service層的接口與定義

實(shí)現(xiàn)機(jī)器人接口層

public interface RobotService {

    Response qa(String msg) ;

}

實(shí)現(xiàn)機(jī)器人接口實(shí)現(xiàn)類,這個(gè)類用來實(shí)現(xiàn)API的請(qǐng)求,將結(jié)果進(jìn)行封裝成實(shí)體類返回

public class QkyRobotServiceImpl implements RobotService {

    private static final String apiTpl = "http://api.qingyunke.com/api.php?key=free&appid=0&msg=%s";
    private static  final Gson gson = new Gson();
    @Override
    public Response qa(String msg) {
        

        String api = null;
        try {
            api = String.format(apiTpl, URLEncoder.encode(msg,"UTF-8") );
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        String result =  HttpUtils.request(api);

        //可以做邏輯判斷,比如null的時(shí)候,或者出錯(cuò)

        Response response = gson.fromJson(result,Response.class);

        return response;
    }
}

7.制作專屬于你的機(jī)器人入口

編寫入口主類,調(diào)用封裝好的模塊進(jìn)行機(jī)器人入口主類的編寫

public class Main {

    private static final RobotService robotService = new QkyRobotServiceImpl();


    public static void main(String[] args)throws Exception {

        Scanner scanner = new Scanner(System.in);
        System.out.println("尊敬的C站大佬,請(qǐng)給我取個(gè)響亮的名字??!");
        System.out.println("-------------------------------");
        String name = scanner.nextLine();
        System.out.println("大佬好,我是大數(shù)據(jù)小禪博客里的機(jī)器人,直接給我下達(dá)指令哦~");
        System.out.println("-------------------------------");
        while (true){

            String input = scanner.nextLine();
            if("88".equalsIgnoreCase(input)){
                System.out.println("歡迎下次使用,拜拜");
                break;
            }else {
              Response response = robotService.qa(input);
              if(response != null && response.getCode() == 0){
                  System.out.println("-------------------------------");
                  System.out.println(name+":"+ new String(response.getContent().getBytes(),"UTF-8"));
                  System.out.println("-------------------------------");
              }else {
                  System.out.println(name+": 大佬你剛剛這句話我沒聽懂,可否再陳述一次~");
              }
            }

        }
        scanner.close();


    }
}

8.把你的機(jī)器人打包使用

為了方便我們對(duì)項(xiàng)目的使用,這里我們使用IDEA將項(xiàng)目打包成jar包。通過下面的步驟,就可以將我們項(xiàng)目里的全部模塊與類庫(kù)打包,需要調(diào)用的時(shí)候只需要使用 java -jar jar名字 即可。

首先點(diǎn)開IDEA的Project Structure之后找到Artifacts選項(xiàng)
沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人
點(diǎn)擊Bulid,將項(xiàng)目進(jìn)行打包
沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人
最后回產(chǎn)生一個(gè)out文件夾,這里面的jar包也就是我們打包后的最終結(jié)果。
沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人
之后上傳到有java環(huán)境的終端就可以運(yùn)行。
沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人

9.總結(jié)

打包完成后我們的機(jī)器人項(xiàng)目就完成啦,希望小伙伴們通過這篇博文可以有所收獲。??

最近小禪也是建立了一個(gè)???大數(shù)據(jù)技術(shù)社區(qū),在這個(gè)社區(qū)大家可以分享自己寫的優(yōu)質(zhì)博文,進(jìn)行提問,也可以分享生活中遇到的美好瞬間,獲取想要的學(xué)習(xí)資源。歡迎大家加入我的社區(qū),一起學(xué)習(xí),成長(zhǎng),內(nèi)卷!文章來源地址http://www.zghlxwxcb.cn/news/detail-481105.html

到了這里,關(guān)于沒人陪你聊天?教你使用java制作專屬智能陪聊機(jī)器人的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 不用微信也可以聊天?教你使用Windows文本文檔實(shí)現(xiàn)在外隨時(shí)溝通!

    不用微信也可以聊天?教你使用Windows文本文檔實(shí)現(xiàn)在外隨時(shí)溝通!

    在現(xiàn)在這個(gè)時(shí)代,幾乎所有人電腦上、手機(jī)里都會(huì)有兩個(gè)必不可少的聊天工具,微信和QQ。曾經(jīng)百花齊放的即時(shí)通訊軟件,經(jīng)過這么多年的搏殺,也只剩下鵝廠旗下的產(chǎn)品一家獨(dú)大。難道我們只能使用這兩款聊天軟件相互溝通了嗎?答案自然是否定的。當(dāng)然,筆者并不是為了

    2023年04月15日
    瀏覽(24)
  • python 使用socket制作聊天室-(附帶 源碼 可以直接運(yùn)行)

    python 使用socket制作聊天室-(附帶 源碼 可以直接運(yùn)行)

    為什么socket能做聊天室呢 socket提供了通信的服務(wù) 比如你可以創(chuàng)建tcp udp的請(qǐng)求 向某個(gè)主機(jī)發(fā)起通信 就像是你想和某人說話 你得會(huì)發(fā)音 就是提供了服務(wù)端的方式和客戶端的方式 服務(wù)端處理用戶發(fā)起的請(qǐng)求 客戶端發(fā)送數(shù)據(jù)和接收服務(wù)端的響應(yīng)數(shù)據(jù) 就像你打開瀏覽器看視頻 你

    2024年02月08日
    瀏覽(19)
  • 實(shí)現(xiàn)實(shí)時(shí)互動(dòng):用Spring Boot原生WebSocket打造你的專屬聊天室

    實(shí)現(xiàn)實(shí)時(shí)互動(dòng):用Spring Boot原生WebSocket打造你的專屬聊天室

    ?? @ 作者: 一恍過去 ?? @ 主頁(yè): https://blog.csdn.net/zhuocailing3390 ?? @ 社區(qū): Java技術(shù)棧交流 ?? @ 主題: 實(shí)現(xiàn)實(shí)時(shí)互動(dòng):用Spring Boot原生WebSocket打造你的專屬聊天室 ?? @ 創(chuàng)作時(shí)間: 2023年08月04日 WebSocket 實(shí)現(xiàn)聊天室的原理包括建立 WebSocket 連接的握手過程、保持連接狀態(tài)以

    2024年02月10日
    瀏覽(25)
  • 情人節(jié)專屬--HTML制作情人節(jié)告白愛心
  • Java Swing花樣玩法:教你用代碼制作六一兒童節(jié)的精美賀卡(簡(jiǎn)單版)

    Java Swing花樣玩法:教你用代碼制作六一兒童節(jié)的精美賀卡(簡(jiǎn)單版)

    ? 博主: 命運(yùn)之光 ? 專欄: Java經(jīng)典程序設(shè)計(jì) 前言:這篇博客在打開可能會(huì)自動(dòng)播放視頻,視頻有音樂,請(qǐng)及時(shí)靜音哈?? ? 目錄 ?前言 ?引言 ?簡(jiǎn)單介紹一下Javaswing這項(xiàng)技術(shù)簡(jiǎn)單介紹一下Javaswing這項(xiàng)技術(shù)(選讀,感興趣的可以了解一下哈(●\\\'?\\\'●)) ?程序展示 ?視頻

    2024年02月07日
    瀏覽(18)
  • 教你如何使用Unity制作一個(gè)簡(jiǎn)單的跑酷游戲

    教你如何使用Unity制作一個(gè)簡(jiǎn)單的跑酷游戲

    其實(shí)用Unity制作游戲并不難,如果你想學(xué)習(xí),那我就建議你想從制作一個(gè)簡(jiǎn)單的跑酷游戲來找到興趣,因?yàn)槿绻阋婚_始就一直學(xué)習(xí)一些沒什么必要的語(yǔ)法,這樣就會(huì)讓你一開始就失去了信心,失去了學(xué)習(xí)Unity的動(dòng)力,所以如果你先學(xué)習(xí)如何制作一個(gè)簡(jiǎn)單的跑酷地圖,然后你就

    2024年02月04日
    瀏覽(27)
  • 【Unity】教你如何使用Unity制作一個(gè)簡(jiǎn)單的跑酷游戲

    【Unity】教你如何使用Unity制作一個(gè)簡(jiǎn)單的跑酷游戲

    其實(shí)用Unity制作游戲并不難,如果你想學(xué)習(xí),那我就建議你想從制作一個(gè)簡(jiǎn)單的跑酷游戲來找到興趣,因?yàn)槿绻阋婚_始就一直學(xué)習(xí)一些沒什么必要的語(yǔ)法,這樣就會(huì)讓你一開始就失去了信心,失去了學(xué)習(xí)Unity的動(dòng)力,所以如果你先學(xué)習(xí)如何制作一個(gè)簡(jiǎn)單的跑酷地圖,然后你就

    2024年02月21日
    瀏覽(18)
  • 情人節(jié)專屬--html5 canvas制作情人節(jié)告白愛心動(dòng)畫特效
  • 用Python制作你的專屬音樂播放器(此刻浪漫只屬于你哦*′▽`*)

    用Python制作你的專屬音樂播放器(此刻浪漫只屬于你哦*′▽`*)

    昨天是博主的一位朋友生日,除了送上大大的紅包,知道他喜歡聽音樂,特意用代碼給他寫了一個(gè) 專屬音樂播放器 ,今天把這個(gè)代碼也開源送給所有粉絲哦。 我們常用的音樂播放器,比如酷狗,QQ音樂等里面的頁(yè)面款式都是官方設(shè)定好的,使用者無法根據(jù)自己的需求更改,

    2024年01月15日
    瀏覽(23)
  • 國(guó)內(nèi)百度、阿里、訊飛推出的AI聊天機(jī)器人,注冊(cè)申請(qǐng)后可免費(fèi)使用,還可AI繪畫、制作短視頻

    國(guó)內(nèi)百度、阿里、訊飛推出的AI聊天機(jī)器人,注冊(cè)申請(qǐng)后可免費(fèi)使用,還可AI繪畫、制作短視頻

    目錄 百度 - 文心一言 百度 - AIGC創(chuàng)作平臺(tái) 訊飛 - 星火認(rèn)知 阿里 - 通義大模型 使用門檻 :需注冊(cè)賬號(hào),登錄使用 主要功能 :文本生成 使用鏈接 : 文心一言 ? 使用門檻 :需注冊(cè)賬號(hào),登錄使用 主要功能 :制作短視頻、文筆潤(rùn)色、寫詩(shī)、文案... 使用鏈接 : 度加創(chuàng)作工具

    2024年02月11日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包