想快速進(jìn)入人工智能領(lǐng)域的Java程序員?你準(zhǔn)備好了嗎?
引言
今天我們來探討一下作為Java程序員,如何迅速融入人工智能的領(lǐng)域。,當(dāng)前有一些流行的LLMs選擇,例如ChatGPT、科大訊飛的星火、通義千問和文心一言等。如果你還沒有嘗試過這些工具,那么現(xiàn)在也不失為一個(gè)很好的機(jī)會(huì),趕快體驗(yàn)一下吧。這些工具不僅能夠?yàn)槟愕腏ava編程工作提供更多的可能性,還能夠?yàn)槟銕砣碌腁I應(yīng)用體驗(yàn)。無論是開發(fā)聊天機(jī)器人、語音識(shí)別系統(tǒng)還是智能問答平臺(tái),這些工具都能夠?yàn)槟闾峁?qiáng)大的支持和便利。所以,不妨抓住這個(gè)機(jī)會(huì),加入AI的行列,拓寬你的技術(shù)領(lǐng)域吧!
當(dāng)然,我們作為程序員肯定不僅僅是簡單地使用大型語言模型(LLMs),今天,我們就來看看如何才能讓這些工具為我們服務(wù),成為我們的初代“賈維斯”。讓我們一起探索人工智能的無限可能!
AI初體驗(yàn)
話歸正題,當(dāng)人工智能技術(shù)越來越火的時(shí)候,我們第一反應(yīng)都是會(huì)迫不及待地想要嘗試并體驗(yàn)它的魅力,各種奇葩的魔法問答也就應(yīng)運(yùn)而生了。這些LLMs系統(tǒng)通過與人自然交互,能夠回答用戶的各種問題,有時(shí)候甚至?xí)o出一些有趣的回答。如下圖:
圖片
不過,我們也要明白,這些LLMs系統(tǒng)實(shí)際上也是基于大數(shù)據(jù)和機(jī)器學(xué)習(xí)算法構(gòu)建的,它們并不具備真正的智能和理解能力。因此,在使用這些系統(tǒng)時(shí),我們需要保持理性和客觀,不要過于依賴它們,而是要明確它們的局限性,并結(jié)合自己的判斷力進(jìn)行思考和決策。
問答進(jìn)化
雖然LLMs在回答問題時(shí)表現(xiàn)出了驚人的能力,但有時(shí)候它們也會(huì)出現(xiàn)錯(cuò)誤的情況。有時(shí)候,它們可能會(huì)給出與我們問的問題不相符的答案,這可能是由于模型的訓(xùn)練數(shù)據(jù)不完善或者存在一些偏見和誤導(dǎo)性的信息。于是乎,這時(shí)候網(wǎng)上又掀起來了一陣各個(gè)角色扮演的狂風(fēng),通過套殼AI應(yīng)用來調(diào)侃和娛樂,一些個(gè)人和小公司也會(huì)利用這一現(xiàn)象來盈利,推出各種有趣的問答形式。這種問答形式的變化不僅給我們帶來了樂趣,也展示了人工智能技術(shù)的靈活性和創(chuàng)造力,然后我們的問答模式先進(jìn)了一下,變成了以下的問答形式:
圖片
這個(gè)時(shí)候就取決于誰的提示寫得更好,寫得好的人能夠吸引更多的用戶,而流量可以轉(zhuǎn)化為收益。在這個(gè)階段,博主也加入了進(jìn)來,嘗試使用套殼應(yīng)用。因?yàn)镚itHub上有大量的開源代碼可供使用,只需要將其部署到本地就可以完成。這個(gè)過程非常簡單。
問答插件開發(fā)
接下來,開發(fā)者們開始瘋狂輸出,例如開始開發(fā)GPT插件,國內(nèi)也有很多語言模型開始使用插件。其中,聯(lián)網(wǎng)功能插件最典型,因?yàn)榇笮湍P蜔o法保持最新的新聞和知識(shí)庫,所以這個(gè)插件的出現(xiàn)非常熱門。雖然熱度很高。不過基本上的邏輯也很簡單,如下圖所示:
圖片
這個(gè)時(shí)候,開發(fā)者們通過插件的形式為LLMs增加了更多的功能和靈活性。這些插件可以使LLMs能夠聯(lián)網(wǎng)獲取實(shí)時(shí)的新聞和知識(shí),從而提供更準(zhǔn)確和全面的答案。這些插件的開發(fā)為LLMs的應(yīng)用場景提供了更多的可能性,也為開發(fā)者們創(chuàng)造了更多的機(jī)會(huì)。
知識(shí)庫建立
剩下的形態(tài)開始變得豐富多樣。如果你發(fā)現(xiàn)在詢問LLMs之前可以提前收集很多有用的信息,那么你可以建立自己獨(dú)立的“賈維斯”個(gè)人助理,只需要提前將信息存儲(chǔ)起來,就像建立了自己的知識(shí)庫一樣。接下來的任務(wù)就是如何通過檢索相似信息并提供給LLMs,讓它根據(jù)我們提供的有效信息來回答問題。畢竟,訓(xùn)練一個(gè)LLMs是非常耗費(fèi)時(shí)間和精力的,你覺得你有足夠的時(shí)間和精力在業(yè)余時(shí)間來完成嗎?還是利用已經(jīng)訓(xùn)練好的LLMs好好使用吧,只要你提供足夠詳細(xì)的知識(shí),LLMs的回答就會(huì)越好。LLMs的選擇越好,你得到的結(jié)果也會(huì)越好。剩下的工作就類似于這樣一種架構(gòu)圖:
圖片
當(dāng)你看到這個(gè)架構(gòu)圖時(shí),你會(huì)發(fā)現(xiàn),現(xiàn)在重要的是誰能夠更好地拓展思維。你得到的架構(gòu)圖越復(fù)雜,結(jié)果就越詳細(xì)。讓我來解釋一下。首先,我們需要了解如何建立自己的知識(shí)庫。在解釋知識(shí)庫之前,我們需要了解一下"embedding"這個(gè)概念。"embedding"是將語言、圖片或其他任何東西轉(zhuǎn)換為數(shù)字編碼類型的向量的過程。如果你開發(fā)過推薦功能,你對此應(yīng)該不陌生。
如果我們將你的喜好和瀏覽記錄轉(zhuǎn)化為可計(jì)算的數(shù)字向量,接下來我們需要一個(gè)向量數(shù)據(jù)庫來存儲(chǔ)這些計(jì)算好的向量。我們可以舉一個(gè)向量數(shù)據(jù)庫(比如Milvus)作為例子,當(dāng)然你也可以選擇其他向量數(shù)據(jù)庫。向量數(shù)據(jù)庫是專門用于存儲(chǔ)向量數(shù)據(jù)的,同樣具備增刪改查四種基本操作。
通過將用戶的喜好和瀏覽記錄轉(zhuǎn)化為可計(jì)算的向量,并利用向量數(shù)據(jù)庫進(jìn)行查詢和推薦,你可以打造一個(gè)個(gè)性化的推薦系統(tǒng)。這個(gè)系統(tǒng)能夠根據(jù)用戶的興趣和行為模式,找到與其相似的其他用戶,并向他們推薦已購買的產(chǎn)品或感興趣的知識(shí)數(shù)據(jù)片段。而我們的存儲(chǔ)系統(tǒng)則應(yīng)該專注于收集和儲(chǔ)存與我們所處的行業(yè)或領(lǐng)域相關(guān)的獨(dú)特信息,作為我們的知識(shí)數(shù)據(jù)庫。
類似于我們查詢最相似的記錄,我們可以將向量數(shù)據(jù)庫視為自己的瀏覽器搜索引擎,查詢到的記錄必定是我們想要的知識(shí)片段。我們將這個(gè)片段發(fā)送給LLMs,并附上我們的問題或想法。LLMs會(huì)根據(jù)你發(fā)送的知識(shí)片段進(jìn)行回答,這樣一個(gè)自己的“賈維斯”助理就誕生了。
總結(jié)
實(shí)際上,每個(gè)分支節(jié)點(diǎn)都可以繼續(xù)進(jìn)行細(xì)分,直到創(chuàng)建出一個(gè)完美的個(gè)人助理。現(xiàn)在,LLMs(Language Models)非常流行且數(shù)量眾多。然而,對于一個(gè)上班的開發(fā)者而言,自行訓(xùn)練一個(gè)個(gè)性化的模型可能既費(fèi)時(shí)又麻煩,并且并不一定能夠得到理想的結(jié)果。事實(shí)上,很可能在未來的某個(gè)時(shí)間點(diǎn),其他公司已經(jīng)開發(fā)出了針對您所在領(lǐng)域的完美LLMs模型。根據(jù)我之前提到的模型架構(gòu),您只需要簡單地替換一下LLMs的選擇,就能夠靈活地適應(yīng)自己的需求,并且不受限制。