-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 技術(shù) > 專(zhuān)題列表 > 正文
開(kāi)源中文聊天機(jī)器人(開(kāi)源中文聊天機(jī)器人下載)
大家好!今天讓創(chuàng)意嶺的小編來(lái)大家介紹下關(guān)于開(kāi)源中文聊天機(jī)器人的問(wèn)題,以下是小編對(duì)此問(wèn)題的歸納整理,讓我們一起來(lái)看看吧。
開(kāi)始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫(xiě)出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁(yè)版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請(qǐng)撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、chatgpt有中文版嗎
chatgpt有中文版。
chatgpt中文版的設(shè)置方法:
1、在ChatGTP官網(wǎng)上下載最新版本的ChatGTP軟件;
2、打開(kāi)后,在設(shè)置界面中選擇語(yǔ)言為中文;
3、在對(duì)局界面中選擇人機(jī)對(duì)局,并設(shè)置中文相譜;
ChatGPT是由人工智能研究實(shí)驗(yàn)室OpenAI在2022年11月30日發(fā)布的全新聊天機(jī)器人模型。ChatGPT是美國(guó)人工智能研究實(shí)驗(yàn)室OpenAI新推出的一種人工智能技術(shù)驅(qū)動(dòng)的自然語(yǔ)言處理工具,使用了Transformer神經(jīng)網(wǎng)絡(luò)架構(gòu),也是GPT-3.5架構(gòu),這是一種用于處理序列數(shù)據(jù)的模型,擁有語(yǔ)言理解和文本生成能力,尤其是它會(huì)通過(guò)連接大量的語(yǔ)料庫(kù)來(lái)訓(xùn)練模型,這些語(yǔ)料庫(kù)包含了真實(shí)世界中的對(duì)話,使得ChatGPT具備上知天文下知地理,還能根據(jù)聊天的上下文進(jìn)行互動(dòng)的能力,做到與真正人類(lèi)幾乎無(wú)異的聊天場(chǎng)景進(jìn)行交流。ChatGPT不單是聊天機(jī)器人,還能進(jìn)行撰寫(xiě)郵件、視頻腳本、文案、翻譯、代碼等任務(wù)。
二、python能寫(xiě)微軟小冰么
聊天機(jī)器人已經(jīng)有了很多很好的實(shí)現(xiàn),比如圖靈機(jī)器人、微軟小冰都非常的智能而且語(yǔ)氣都與人類(lèi)相似。但這并不是一件一勞永逸的事情,在特定的場(chǎng)景下問(wèn)題的回答是有邊界的或者符合特定業(yè)務(wù)場(chǎng)景的,所以還是需要可以按需定制開(kāi)發(fā)的機(jī)器人。
chatterBot項(xiàng)目是一個(gè)用Python實(shí)現(xiàn)聊天機(jī)器人的開(kāi)源項(xiàng)目(作者:Gunther Cox,github地址),下面介紹下chatterBot的實(shí)現(xiàn)方式以及如何在這個(gè)項(xiàng)目的基礎(chǔ)上做定制開(kāi)發(fā):
chatterBot將一個(gè)機(jī)器人分為input Adapter、logic Adapter、storage Adapter、output Adapter以及Trainer模塊。
input Adapter: 這個(gè)模塊被設(shè)計(jì)用來(lái)獲取并處理用戶輸入,獲取輸入是指自動(dòng)從外部獲取輸入,比如從gitter room, twitter等這些都是項(xiàng)目自帶的輸入插件。處理用戶輸入是把獲取到的輸入轉(zhuǎn)化為可以進(jìn)行下一步處理的Statement對(duì)象。Statement對(duì)象是對(duì)用戶輸入的抽象,包含了輸入的text,附加信息并提供了序列化,對(duì)比等方法。input Adapter被設(shè)計(jì)成為插件式的,所以在實(shí)踐當(dāng)中,我們可以實(shí)現(xiàn)自己的input Adapter,比如為每個(gè)用戶打上id,這樣輸入就包含了用戶信息,在接下來(lái)的處理中就可以根據(jù)不同用戶實(shí)現(xiàn)不同邏輯了。
logic Adapter: 完成輸入處理后就到了邏輯處理,這依然是一個(gè)插件式的設(shè)計(jì),主進(jìn)程在啟動(dòng)時(shí)會(huì)將用戶定義的所有邏輯處理插件添加到logic context中,然后交MultiLogicAdapter進(jìn)行處理,MultiLogicAdapter會(huì)依次調(diào)用每個(gè)logic Adapter,logic Adapter被調(diào)用時(shí)先執(zhí)行can_process方式判斷輸入是否可以命中這個(gè)邏輯處理插件。比如說(shuō) "今天天氣怎么樣"顯然需要命中天氣邏輯處理插件,但時(shí)間邏輯處理插件的can_process方法則應(yīng)該返回False。在命中后logic Adapter要負(fù)責(zé)計(jì)算出對(duì)應(yīng)的回答(也是包裝成Statement對(duì)象)以及可信度(confidence),MultiLogicAdapter會(huì)取可信度最高的回答,并進(jìn)入下一步。項(xiàng)目已經(jīng)自帶了很多l(xiāng)ogic Adapter,有close match、close meaning、時(shí)間邏輯、數(shù)學(xué)邏輯,甚至還有情感邏輯,大家可以自己探索。在實(shí)踐當(dāng)中,我們還是需要自己定制開(kāi)發(fā)一些邏輯處理插件,如果我們希望自己的邏輯處理插件優(yōu)先級(jí)始終高于自帶的插件,可以提高confidence,自帶的邏輯處理插件返回的confidence最大是1,只要confidence比1大就是最高優(yōu)先級(jí)了。
storage Adapter: 剛才介紹logic Adapter時(shí)其實(shí)還有一點(diǎn)沒(méi)有說(shuō)明,就是大部分的邏輯處理還是基于訓(xùn)練集的,在處理時(shí)需要與訓(xùn)練集做匹配,所以這個(gè)項(xiàng)目將訓(xùn)練集的持久化也做成了插件式的,自帶的持久化有文件型(json格式)、mongodb,我們也可以做自己的持久化層,比如支持redis,支持mysql。
output Adapter: 這個(gè)模塊就不用詳細(xì)介紹了,基本與input Adapter一致,只是這里處理的是輸出。也是插件式設(shè)計(jì),所以我們也可以定制開(kāi)發(fā),比如與騰訊等語(yǔ)音合成服務(wù)提供商的接口集成,我們的機(jī)器人就可以"開(kāi)口說(shuō)話了"。
Trainer: 這個(gè)模塊提供訓(xùn)練機(jī)器人的方法,自帶的方法有兩種,一種是通過(guò)輸入list來(lái)訓(xùn)練,比如["你好","你好啊"],后者是前者的回答,另一種是通過(guò)導(dǎo)入Corpus格式的文件來(lái)訓(xùn)練。如果這兩種方法都沒(méi)有辦法滿足的話,我們還可以寫(xiě)自己的訓(xùn)練模塊,但總的來(lái)說(shuō)還是要將最終的訓(xùn)練集轉(zhuǎn)換成上述兩種類(lèi)型。
總結(jié): chatterBot這個(gè)項(xiàng)目并不是一個(gè)非常完善的聊天機(jī)器人項(xiàng)目(如果你希望一安裝就獲得一個(gè)話嘮一樣的機(jī)器人那就可以放棄了),總的來(lái)說(shuō)自帶的功能有限,但是這個(gè)項(xiàng)目并不簡(jiǎn)單,因?yàn)轫?xiàng)目本身結(jié)構(gòu)非常清晰,又高度插件化,所以非常適合在此基礎(chǔ)上做定制化開(kāi)發(fā),so 動(dòng)手吧。
三、chatgdp是網(wǎng)頁(yè)還是app
ChatGPT是一個(gè)開(kāi)放源代碼的AI聊天機(jī)器人框架,既可以運(yùn)行在網(wǎng)頁(yè)上,也可以運(yùn)行在app上。它可以為你提供自然語(yǔ)言處理、語(yǔ)音交互、對(duì)話管理、對(duì)話生成和對(duì)話重新定向等服務(wù)。它還可以根據(jù)你的要求來(lái)自動(dòng)學(xué)習(xí)和移植不同的語(yǔ)言技能,可以幫助你快速構(gòu)建聊天機(jī)器人應(yīng)用。ChatGPT是一個(gè)開(kāi)源、多語(yǔ)言的框架,可以運(yùn)行在Android、iOS、Web、Python、Node.js等多種平臺(tái)上,為企業(yè)和開(kāi)發(fā)者提供便捷的機(jī)器人技術(shù)方案。
四、如何利用深度學(xué)習(xí)技術(shù)訓(xùn)練聊天機(jī)器人語(yǔ)言模型
數(shù)據(jù)預(yù)處理
模型能聊的內(nèi)容也取決于選取的語(yǔ)料。如果已經(jīng)具備了原始聊天數(shù)據(jù),可以用SQL通過(guò)關(guān)鍵字查詢一些對(duì)話,也就是從大庫(kù)里選取出一個(gè)小庫(kù)來(lái)訓(xùn)練。從一些論文上,很多算法都是在數(shù)據(jù)預(yù)處理層面的,比如Mechanism-Aware Neural Machine for Dialogue Response Generation就介紹了,從大庫(kù)中抽取小庫(kù),然后再進(jìn)行融合,訓(xùn)練出有特色的對(duì)話來(lái)。
對(duì)于英語(yǔ),需要了解NLTK,NLTK提供了加載語(yǔ)料,語(yǔ)料標(biāo)準(zhǔn)化,語(yǔ)料分類(lèi),PoS詞性標(biāo)注,語(yǔ)意抽取等功能。
另一個(gè)功能強(qiáng)大的工具庫(kù)是CoreNLP,作為 Stanford開(kāi)源出來(lái)的工具,特色是實(shí)體標(biāo)注,語(yǔ)意抽取,支持多種語(yǔ)言。
下面主要介紹兩個(gè)內(nèi)容:
中文分詞
現(xiàn)在有很多中文分詞的SDK,分詞的算法也比較多,也有很多文章對(duì)不同SDK的性能做比較。做中文分詞的示例代碼如下。
# coding:utf8
'''
Segmenter with Chinese
'''
import jieba
import langid
def segment_chinese_sentence(sentence):
'''
Return segmented sentence.
'''
seg_list = jieba.cut(sentence, cut_all=False)
seg_sentence = u" ".join(seg_list)
return seg_sentence.strip().encode('utf8')
def process_sentence(sentence):
'''
Only process Chinese Sentence.
'''
if langid.classify(sentence)[0] == 'zh':
return segment_chinese_sentence(sentence)
return sentence
if __name__ == "__main__":
print(process_sentence('飛雪連天射白鹿'))
print(process_sentence('I have a pen.'))
以上使用了langid先判斷語(yǔ)句是否是中文,然后使用jieba進(jìn)行分詞。
在功能上,jieba分詞支持全切分模式,精確模式和搜索引擎模式。
全切分:輸出所有分詞。
精確:概率上的最佳分詞。
所有引擎模式:對(duì)精確切分后的長(zhǎng)句再進(jìn)行分詞。
jieba分詞的實(shí)現(xiàn)
主要是分成下面三步:
1、加載字典,在內(nèi)存中建立字典空間。
字典的構(gòu)造是每行一個(gè)詞,空格,詞頻,空格,詞性。
上訴書(shū) 3 n
上訴人 3 n
上訴期 3 b
上訴狀 4 n
上課 650 v
建立字典空間的是使用python的dict,采用前綴數(shù)組的方式。
使用前綴數(shù)組的原因是樹(shù)結(jié)構(gòu)只有一層 - word:freq,效率高,節(jié)省空間。比如單詞"dog", 字典中將這樣存儲(chǔ):
{
"d": 0,
"do": 0,
"dog": 1 # value為詞頻
}
字典空間的主要用途是對(duì)輸入句子建立有向無(wú)環(huán)圖,然后根據(jù)算法進(jìn)行切分。算法的取舍主要是根據(jù)模式 - 全切,精確還是搜索。
2、對(duì)輸入的語(yǔ)句分詞,首先是建立一個(gè)有向無(wú)環(huán)圖。
有向無(wú)環(huán)圖, Directed acyclic graph (音 /ˈdæɡ/)。
【圖 3-2】 DAG
DAG對(duì)于后面計(jì)算最大概率路徑和使用HNN模型識(shí)別新詞有直接關(guān)系。
3、按照模式,對(duì)有向無(wú)環(huán)圖進(jìn)行遍歷,比如,在精確模式下,便利就是求最大權(quán)重和的路徑,權(quán)重來(lái)自于在字典中定義的詞頻。對(duì)于沒(méi)有出現(xiàn)在詞典中的詞,連續(xù)的單個(gè)字符也許會(huì)構(gòu)成新詞。然后用HMM模型和Viterbi算法識(shí)別新詞。
精確模型切詞:使用動(dòng)態(tài)規(guī)劃對(duì)最大概率路徑進(jìn)行求解。
最大概率路徑:求route = (w1, w2, w3 ,.., wn),使得Σweight(wi)最大。Wi為該詞的詞頻。
更多的細(xì)節(jié)還需要讀一下jieba的源碼。
自定義字典
jieba分詞默認(rèn)的字典是:1998人民日?qǐng)?bào)的切分語(yǔ)料還有一個(gè)msr的切分語(yǔ)料和一些txt小說(shuō)。開(kāi)發(fā)者可以自行添加字典,只要符合字典構(gòu)建的格式就行。
jieba分詞同時(shí)提供接口添加詞匯。
Word embedding
使用機(jī)器學(xué)習(xí)訓(xùn)練的語(yǔ)言模型,網(wǎng)絡(luò)算法是使用數(shù)字進(jìn)行計(jì)算,在輸入進(jìn)行編碼,在輸出進(jìn)行解碼。word embedding就是編解碼的手段。
【圖 3-3】 word embedding, Ref. #7
word embedding是文本的數(shù)值化表示方法。表示法包括one-hot,bag of words,N-gram,分布式表示,共現(xiàn)矩陣等。
Word2vec
近年來(lái),word2vec被廣泛采用。Word2vec輸入文章或者其他語(yǔ)料,輸出語(yǔ)料中詞匯建設(shè)的詞向量空間。詳細(xì)可參考word2vec數(shù)學(xué)原理解析。
使用word2vec
安裝完成后,得到word2vec命令行工具。
word2vec -train "data/review.txt"
-output "data/review.model"
-cbow 1
-size 100
-window 8
-negative 25
-hs 0
-sample 1e-4
-threads 20
-binary 1
-iter 15
-train "data/review.txt" 表示在指定的語(yǔ)料庫(kù)上訓(xùn)練模型
-cbow 1 表示用cbow模型,設(shè)成0表示用skip-gram模型
-size 100 詞向量的維度為100
-window 8 訓(xùn)練窗口的大小為8 即考慮一個(gè)單詞的前八個(gè)和后八個(gè)單詞
-negative 25 -hs 0 是使用negative sample還是HS算法
-sample 1e-4 采用閾值
-threads 20 線程數(shù)
-binary 1 輸出model保存成2進(jìn)制
-iter 15 迭代次數(shù)
在訓(xùn)練完成后,就得到一個(gè)model,用該model可以查詢每個(gè)詞的詞向量,在詞和詞之間求距離,將不同詞放在數(shù)學(xué)公式中計(jì)算輸出相關(guān)性的詞。比如:
vector("法國(guó)") - vector("巴黎) + vector("英國(guó)") = vector("倫敦")"
對(duì)于訓(xùn)練不同的語(yǔ)料庫(kù),可以單獨(dú)的訓(xùn)練詞向量模型,可以利用已經(jīng)訓(xùn)練好的模型。
其它訓(xùn)練詞向量空間工具推薦:Glove。
Seq2Seq
2014年,Sequence to Sequence Learning with Neural Networks提出了使用深度學(xué)習(xí)技術(shù),基于RNN和LSTM網(wǎng)絡(luò)訓(xùn)練翻譯系統(tǒng),取得了突破,這一方法便應(yīng)用在更廣泛的領(lǐng)域,比如問(wèn)答系統(tǒng),圖像字幕,語(yǔ)音識(shí)別,撰寫(xiě)詩(shī)詞等。Seq2Seq完成了【encoder + decoder -> target】的映射,在上面的論文中,清晰的介紹了實(shí)現(xiàn)方式。
【圖 3-4】 Seq2Seq, Ref. #1
也有很多文章解讀它的原理。在使用Seq2Seq的過(guò)程中,雖然也研究了它的結(jié)構(gòu),但我還不認(rèn)為能理解和解釋它。下面談兩點(diǎn)感受:
a. RNN保存了語(yǔ)言順序的特點(diǎn),這和CNN在處理帶有形狀的模型時(shí)如出一轍,就是數(shù)學(xué)模型的設(shè)計(jì)符合物理模型。
【圖 3-5】 RNN, Ref. #6
b. LSTM Cell的復(fù)雜度對(duì)應(yīng)了自然語(yǔ)言處理的復(fù)雜度。
【圖 3-6】 LSTM, Ref. #6
理由是,有人將LSTM Cell嘗試了多種其它方案?jìng)鬟f狀態(tài),結(jié)果也很好。
【圖 3-7】 GRU, Ref. #6
LSTM的一個(gè)替代方案:GRU。只要RNN的Cell足夠復(fù)雜,它就能工作的很好。
使用DeepQA2訓(xùn)練語(yǔ)言模型
準(zhǔn)備工作,下載項(xiàng)目:
git clone https://github.com/Samurais/DeepQA2.git
cd DeepQA2
open README.md # 根據(jù)README.md安裝依賴(lài)包
DeepQA2將工作分成三個(gè)過(guò)程:
數(shù)據(jù)預(yù)處理:從語(yǔ)料庫(kù)到數(shù)據(jù)字典。
訓(xùn)練模型:從數(shù)據(jù)字典到語(yǔ)言模型。
提供服務(wù):從語(yǔ)言模型到RESt API。
預(yù)處理
DeepQA2使用Cornell Movie Dialogs Corpus作為demo語(yǔ)料庫(kù)。
原始數(shù)據(jù)就是movie_lines.txt 和movie_conversations.txt。這兩個(gè)文件的組織形式參考README.txt
deepqa2/dataset/preprocesser.py是將這兩個(gè)文件處理成數(shù)據(jù)字典的模塊。
train_max_length_enco就是問(wèn)題的長(zhǎng)度,train_max_length_deco就是答案的長(zhǎng)度。在語(yǔ)料庫(kù)中,大于該長(zhǎng)度的部分會(huì)被截?cái)唷?/p>
程序運(yùn)行后,會(huì)生成dataset-cornell-20.pkl文件,它加載到python中是一個(gè)字典:
word2id存儲(chǔ)了{(lán)word: id},其中word是一個(gè)單詞,id是int數(shù)字,代表這個(gè)單詞的id。
id2word存儲(chǔ)了{(lán)id: word}。
trainingSamples存儲(chǔ)了問(wèn)答的對(duì)話對(duì)。
比如 [[[1,2,3],[4,5,6]], [[7,8,9], [10, 11, 12]]]
1,2,3 ... 12 都是word id。
[1,2,3] 和 [4,5,6] 構(gòu)成一個(gè)問(wèn)答。 [7,8,9] 和 [10, 11, 12] 構(gòu)成一個(gè)問(wèn)答。
開(kāi)始訓(xùn)練
cp config.sample.ini config.ini # modify keys
python deepqa2/train.py
config.ini是配置文件, 根據(jù)config.sample.ini進(jìn)行修改。訓(xùn)練的時(shí)間由epoch,learning rate, maxlength和對(duì)話對(duì)的數(shù)量而定。
deepqa2/train.py大約100行,完成數(shù)據(jù)字典加載、初始化tensorflow的session,saver,writer、初始化神經(jīng)元模型、根據(jù)epoch進(jìn)行迭代,保存模型到磁盤(pán)。
session是網(wǎng)絡(luò)圖,由placeholder, variable, cell, layer, output 組成。
saver是保存model的,也可以用來(lái)恢復(fù)model。model就是實(shí)例化variable的session。
writer是查看loss fn或者其他開(kāi)發(fā)者感興趣的數(shù)據(jù)的收集器。writer的結(jié)果會(huì)被saver保存,然后使用tensorboard查看。
Model
Model的構(gòu)建要考慮輸入,狀態(tài),softmax,輸出。
定義損耗函數(shù),使用AdamOptimizer進(jìn)行迭代。
最后,參考一下訓(xùn)練的loop部分。
每次訓(xùn)練,model會(huì)被存儲(chǔ)在 save路徑下,文件夾的命名根據(jù)機(jī)器的hostname,時(shí)間戳生成。
提供服務(wù)
在TensorFlow中,提供了標(biāo)準(zhǔn)的serving模塊 - tensorflow serving。但研究了很久,還專(zhuān)門(mén)看了一遍 《C++ Essentials》,還沒(méi)有將它搞定,社區(qū)也普遍抱怨tensorflow serving不好學(xué),不好用。訓(xùn)練結(jié)束后,使用下面的腳本啟動(dòng)服務(wù),DeepQA2的serve部分還是調(diào)用TensorFlow的python api。
cd DeepQA2/save/deeplearning.cobra.vulcan.20170127.175256/deepqa2/serve
cp db.sample.sqlite3 db.sqlite3
python manage.py runserver 0.0.0.0:8000
測(cè)試
POST /api/v1/question HTTP/1.1
Host: 127.0.0.1:8000
Content-Type: application/json
Authorization: Basic YWRtaW46cGFzc3dvcmQxMjM=
Cache-Control: no-cache
{"message": "good to know"}
response
{
"rc": 0,
"msg": "hello"
}
serve的核心代碼在serve/api/chatbotmanager.py中。
使用腳本
scripts/start_training.sh 啟動(dòng)訓(xùn)練
scripts/start_tensorboard.sh 啟動(dòng)Tensorboard
scripts/start_serving.sh 啟動(dòng)服務(wù)
對(duì)模型的評(píng)價(jià)
目前代碼具有很高的維護(hù)性,這也是從DeepQA項(xiàng)目進(jìn)行重構(gòu)的原因,更清晰的數(shù)據(jù)預(yù)處理、訓(xùn)練和服務(wù)。有新的變更可以添加到deepqa2/models中,然后在train.py和chatbotmanager.py變更一下。
有待改進(jìn)的地方
a. 新建models/rnn2.py, 使用dropout。目前DeepQA中已經(jīng)使用了Drop.
b. tensorflow rc0.12.x中已經(jīng)提供了seq2seq network,可以更新成tf版本.
c. 融合訓(xùn)練,目前model只有一個(gè)庫(kù),應(yīng)該是設(shè)計(jì)一個(gè)新的模型,支持一個(gè)大庫(kù)和小庫(kù),不同權(quán)重進(jìn)行,就如Mechanism-Aware Neural Machine for Dialogue Response Generation的介紹。
d. 代碼支持多機(jī)多GPU運(yùn)行。
e. 目前訓(xùn)練的結(jié)果都是QA對(duì),對(duì)于一個(gè)問(wèn)題,可以有多個(gè)答案。
f. 目前沒(méi)有一個(gè)方法進(jìn)行accuracy測(cè)試,一個(gè)思路是在訓(xùn)練中就提供干擾項(xiàng),因?yàn)楫?dāng)前只有正確的答案,如果提供錯(cuò)誤的答案(而且越多越好),就可以使用recall_at_k方法進(jìn)行測(cè)試。
機(jī)器人家上了解到的,希望對(duì)你有用
以上就是關(guān)于開(kāi)源中文聊天機(jī)器人相關(guān)問(wèn)題的回答。希望能幫到你,如有更多相關(guān)問(wèn)題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
開(kāi)源的低代碼開(kāi)發(fā)平臺(tái)(開(kāi)源低代碼開(kāi)發(fā)平臺(tái)排名)
免費(fèi)開(kāi)源小程序源碼(免費(fèi)開(kāi)源小程序源碼下載)
開(kāi)源ai開(kāi)放平臺(tái)(開(kāi)源ai開(kāi)放平臺(tái)官網(wǎng))
上海學(xué)設(shè)計(jì)的培訓(xùn)學(xué)校(上海學(xué)設(shè)計(jì)的培訓(xùn)學(xué)校有哪些)
猜你喜歡
手機(jī)百度2020年舊版本(手機(jī)百度2020年舊版本下載安裝)
常見(jiàn)的網(wǎng)絡(luò)接入方式(常見(jiàn)的網(wǎng)絡(luò)接入方式有5種,下面不是網(wǎng)絡(luò)接入方式的是)
搜狗閱讀ios舊版本免費(fèi)版(搜狗閱讀ios舊版本免費(fèi)版下載安裝)
優(yōu)化網(wǎng)速(優(yōu)化網(wǎng)速的方法)
楊宗緯好聽(tīng)的歌曲(楊宗緯好聽(tīng)的歌曲精選)
北京廣告?zhèn)髅焦九琶ū本V告?zhèn)髅焦九琶瘢?/a>