您好,登錄后才能下訂單哦!
本篇內容主要講解“java怎么制作專屬智能陪聊機器人”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java怎么制作專屬智能陪聊機器人”吧!
人工智能一直是最近的熱點話題,自動人工智能但是以來應用領域就不斷的擴大,在未來人工智能也會在人們的生活中不斷普及與應用。這篇博文中的陪聊機器人,使用java進行編寫,可以根據你發的信息進行智能的回應,還算挺有意思的一個小玩意。最終效果的演示如下圖~
這個陪聊機器人項目使用了青云課的智能API,通過調用API得到信息反饋。
具體的調用格式如下:
http://api.qingyunke.com/api.php?key=free&appid=0&msg=%s 其中的%s傳入我們需要發送給機器人的內容,就可以得到API調用結果的反饋。
key 固定參數 free
appid 設置成0,為智能識別
msg 為搜索關鍵詞
result 表示返回狀態,返回0表示正常
content api返回的信息內容
可以看到數據是以JSON的形式進行返回。
Gson是Google提供的類庫,可以用來處理java對象與JSON數據之間的映射,將一個JSON字符串轉換成一個java對象,方便我們對API返回的JSON格式的數據進行處理,下面演示如何將Gson類庫導入到我們的工程中。
首先可以去官網下載對應的jar包,或者直接私信我獲取。獲取jar包之后找個全英文路徑進行保存。這里我們使用的編輯器是IDEA,所以使用IDEA進行演示,小伙伴們使用的是其他編輯器的話導入方法都是類似的哦。在IDEA打開如下界面,找到jar包導入即可。
項目搭建:搭建的部分無太多要求,只需要使用IDEA創建一個新的普通java工程即可
項目模塊搭建:
model 類 用來存放請求所返回的對象
util 類用來存放工程所用到的工具類,比如說HTTP請求解析類
app 類用來當作機器人項目的入口
service 類用來實現業務的接口
相關的兩個實體類如下:
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; } }
HTTP工具類主要用來對api進行請求,獲取返回的內容
public class HttpUtils { public static String request(String api){ HttpURLConnection connection = null; int responseCode = 0; try{ URL url = new URL(api); //獲取對應的連接對象 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; } }
實現機器人接口層
public interface RobotService { Response qa(String msg) ; }
實現機器人接口實現類,這個類用來實現API的請求,將結果進行封裝成實體類返回
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的時候,或者出錯 Response response = gson.fromJson(result,Response.class); return response; } }
編寫入口主類,調用封裝好的模塊進行機器人入口主類的編寫
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站大佬,請給我取個響亮的名字!!"); System.out.println("-------------------------------"); String name = scanner.nextLine(); System.out.println("大佬好,我是大數據小禪博客里的機器人,直接給我下達指令哦~"); 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(); } }
為了方便我們對項目的使用,這里我們使用IDEA將項目打包成jar包。通過下面的步驟,就可以將我們項目里的全部模塊與類庫打包,需要調用的時候只需要使用 java -jar jar名字 即可。
首先點開IDEA的Project Structure之后找到Artifacts選項
點擊Bulid,將項目進行打包
最后回產生一個out文件夾,這里面的jar包也就是我們打包后的最終結果。
之后上傳到有java環境的終端就可以運行。
到此,相信大家對“java怎么制作專屬智能陪聊機器人”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。