摘要:前兩天朋友圈里看到一段號(hào)稱價(jià)值一億的代碼可以智能應(yīng)答,很厲害是不是源碼極簡(jiǎn)版嗎其實(shí)就是幾個(gè)字符替換抖了個(gè)機(jī)靈,也順便黑了把當(dāng)下某些言必稱的風(fēng)氣。方法一模塊是一個(gè)生成自動(dòng)應(yīng)答的第三方庫。那我這兩段代碼怎么也得值個(gè)億吧,可以直接輪了。
前兩天朋友圈里看到一段號(hào)稱“價(jià)值一億”的代碼:
可以智能應(yīng)答,很厲害是不是?
源碼:
Python 極簡(jiǎn)版:
while True: print(input("").replace("嗎","").replace("?","!"))
其實(shí)就是幾個(gè)字符替換!抖了個(gè)機(jī)靈,也順便黑了把當(dāng)下某些言必稱 AI 的風(fēng)氣。你別說,當(dāng)年區(qū)塊鏈概念火爆的時(shí)候,還真有人代碼里放了個(gè)“Hello World”就出來誆錢了。風(fēng)口之下,什么樣的妖魔鬼怪都有。
不過真要自己做一個(gè)自動(dòng)應(yīng)答的機(jī)器人,其實(shí)也很簡(jiǎn)單,而且功能還比上面這位更強(qiáng)大。
方法一:ChatterBot 模塊
ChatterBot 是一個(gè)生成自動(dòng)應(yīng)答的第三方庫。一個(gè)簡(jiǎn)單的例子:
from chatterbot import ChatBot # 生成機(jī)器人,指定輸入輸出和訓(xùn)練器 chatbot = ChatBot( "CrossinBot", input_adapter="chatterbot.input.TerminalAdapter", output_adapter="chatterbot.output.TerminalAdapter", trainer="chatterbot.trainers.ChatterBotCorpusTrainer" ) # 以中文語料進(jìn)行訓(xùn)練 chatbot.train("chatterbot.corpus.chinese") print("你好,請(qǐng)問需要什么幫助?") # 循環(huán)問答 while True: try: bot_input = chatbot.get_response(None) except (KeyboardInterrupt, EOFError, SystemExit): # CTRL-C/CTRL-D 中斷退出 break
效果:
使用 ChatterBot 的好處是問答數(shù)據(jù)保存在本地,無需聯(lián)網(wǎng)。缺點(diǎn)則是你需要自己去訓(xùn)練你的機(jī)器人,默認(rèn)語料的效果其實(shí)挺差的,一開始聊天差不多就是人工智障……而且通過聊天的過程學(xué)習(xí),也存在被用戶“教壞”的問題。
官方文檔地址:
chatterbot.readthedocs.io
方法二:開放 AI 接口
鑒于方法一的問題,有很多平臺(tái)提供了智能應(yīng)答的 API 接口服務(wù)。以騰訊 AI 開放平臺(tái)的“智能閑聊”接口為例:
import requests as rq import time import random import string import urllib import hashlib APPKEY = "ABDEFGH" # 換成你的APPKEY def get_sign(data): lst = [i[0]+"="+urllib.parse.quote_plus(str(i[1])) for i in data.items()] params = "&".join(sorted(lst)) s = params + "&app_key=" + APPKEY h = hashlib.md5(s.encode("utf8")) return h.hexdigest().upper() def chat(question): url_chat = "https://api.ai.qq.com/fcgi-bin/nlp/nlp_textchat" nonce_str = "".join(random.sample(string.ascii_letters + string.digits, 16)) data = { "app_id": 1234567890, # 換成你的app_id "time_stamp": int(time.time()), "nonce_str": nonce_str, "session": "10000", "question": question, } data["sign"] = get_sign(data) r = rq.post(url_chat, data=data) answer = r.json()["data"]["answer"] return answer print("你好,請(qǐng)問需要什么幫助?") while True: try: print(chat(input())) except (KeyboardInterrupt, EOFError, SystemExit): # CTRL-C/CTRL-D 中斷退出 break
效果:
這個(gè)效果顯而易見。但接口的前提是要聯(lián)網(wǎng),另外平臺(tái)通常會(huì)有請(qǐng)求頻率或功能的限制?,F(xiàn)在很多平臺(tái)還都可免費(fèi)申請(qǐng)使用,部分特性可能需要付費(fèi)。開放平臺(tái)的好處是開發(fā)者可以不用費(fèi)事就能得到很好的結(jié)果,不過要深度定制就不太方便,另外核心技術(shù)和數(shù)據(jù)也都是平臺(tái)方的。
如果說前面那段代碼可以估值一億,拿個(gè)天使輪投資。那我這兩段代碼怎么也得值2個(gè)億吧,可以直接A輪了。記得到時(shí)把咨詢費(fèi)打賞給我
玩笑歸玩笑,但以上三段代碼,也的確代表了三種開發(fā)方式:
自己實(shí)現(xiàn)
用第三方框架/庫/代碼
用 API 接口服務(wù)
在實(shí)際開發(fā)中,尤其是非核心功能,通常不建議自己從頭實(shí)現(xiàn),即“ 不重復(fù)造輪子 ”。因?yàn)楹芸赡芤呀?jīng)有成熟的開源項(xiàng)目做得比你好,站在前人的肩膀上可以事半功倍。這也是軟件/互聯(lián)網(wǎng)行業(yè)得以蓬勃發(fā)展的基石。但在使用開源項(xiàng)目和代碼時(shí)也要尊重知識(shí)產(chǎn)權(quán),注意人家的協(xié)議,是否可以商用,很多接口和數(shù)據(jù)也是有限制的。并不是你能拿到代碼、能扒出接口、爬到數(shù)據(jù),就可以放到自己的產(chǎn)品中。這方面有不少規(guī)矩,不按規(guī)矩來,即侵犯了別人的利益,也可能讓自己掉坑里。下次可以來細(xì)說一下。
════
其他文章及回答:
編程實(shí)訓(xùn) | 如何自學(xué)Python | 新手引導(dǎo) | 精選Python問答 | Python單詞表 | 人工智能 | 爬蟲 | 我用Python | requests | 計(jì)算機(jī)視覺
歡迎搜索及關(guān)注公眾號(hào): Crossin的編程教室
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/42841.html
摘要:華為云,從到開發(fā)訓(xùn)練模型,通過極快和極簡(jiǎn)實(shí)現(xiàn)普惠現(xiàn)如今技術(shù)概念火爆落地應(yīng)用更是繁多,但開發(fā)呢是否困難到底有多痛據(jù)了解,大部分開發(fā)者的工作時(shí)間并不長,并且十有八九可能不是科班出身。 華為云EI ModelArts,從0到1開發(fā)訓(xùn)練AI模型,通過極快和極簡(jiǎn)實(shí)現(xiàn)普惠AI現(xiàn)如今 AI 技術(shù)、概念火爆、落地應(yīng)用更是繁多,但開發(fā)呢?是否困難?到底有多痛?據(jù)了解,大部分 AI 開發(fā)者的工作時(shí)間并不長...
摘要:最近真是火,隨便一段代碼都可以融資上億,儼然是未來的趨勢(shì)。同時(shí),人類的無數(shù)職業(yè)也逐漸被其取代。人工智能目前仍然是該領(lǐng)域的長遠(yuǎn)目標(biāo)。好了,不多說了,直接上朋友公司價(jià)值個(gè)億的語言源代碼。 最近AI真是火,隨便一段代碼都可以融資上億,AI儼然是未來的趨勢(shì)。AI什么?你不知道,那么我們先來普及下什么是AI! 人工智能(英語:Artificial Intelligence,縮寫為AI)亦稱機(jī)器智...
6月20日周四,OpenAI競(jìng)爭(zhēng)對(duì)手Anthropic發(fā)布了公司迄今為止性能最強(qiáng)大的AI模型Claude 3.5 Sonnet。在覆蓋閱讀、編程、數(shù)學(xué)和視覺等領(lǐng)域的多項(xiàng)性能測(cè)試中,Claude 3.5 Sonnet的性能略勝一籌,吊打GPT-4o等一眾競(jìng)爭(zhēng)對(duì)手的AI模型,且優(yōu)于自家旗艦?zāi)P虲laude 3 Opus。如今,Claude 3.5 Sonnet已經(jīng)面向全球開啟免費(fèi)試用了。在費(fèi)用上,So...
摘要:現(xiàn)在開始創(chuàng)建多行外星人。小結(jié)本篇講述了如何在游戲中添加大量相同的元素如何用嵌套循環(huán)來創(chuàng)建元素網(wǎng)格如何控制對(duì)象在屏幕上移動(dòng)的方向以及響應(yīng)事件如何檢測(cè)和響應(yīng)元素碰撞如何在游戲中跟蹤統(tǒng)計(jì)信息如何使用標(biāo)志來判斷游戲是否結(jié)束。 《Python編程:從入門到實(shí)踐》筆記。本章主要是對(duì)上一篇的繼續(xù),添加外星人,外星人與飛船的交互。 1. 回顧項(xiàng)目 開發(fā)較大的項(xiàng)目時(shí),進(jìn)入每個(gè)開發(fā)階段前回顧一下開發(fā)計(jì)劃,...
摘要:解鎖普惠開發(fā),華為云一站式開發(fā)平臺(tái)一服務(wù)簡(jiǎn)介是面向開發(fā)者的一站式開發(fā)平臺(tái),提供海量數(shù)據(jù)預(yù)處理及半自動(dòng)化標(biāo)注大規(guī)模分布式訓(xùn)練自動(dòng)化模型生成及端邊云模型按需部署能力,幫助用戶快速創(chuàng)建和部署模型,管理全周期工作流。 解鎖普惠AI開發(fā),華為云ModelArts一站式AI開發(fā)平臺(tái) 一、ModelArts服務(wù)簡(jiǎn)介:ModelArts是面向AI開發(fā)者的一站式開發(fā)平臺(tái),提供海量數(shù)據(jù)預(yù)處理及半自動(dòng)化標(biāo)注...
閱讀 2737·2021-11-24 09:39
閱讀 1741·2021-11-24 09:38
閱讀 686·2021-11-22 14:44
閱讀 1967·2021-11-18 10:02
閱讀 2864·2021-11-18 10:02
閱讀 1223·2021-10-14 09:43
閱讀 4423·2021-09-29 09:35
閱讀 625·2021-07-30 15:30