前言從 2022 年的 OpenAI 的ChatGPT3.5發(fā)布,AI 技術(shù)迅速火遍全宇宙。全人類開(kāi)始都在討論 AI 技術(shù)的未來(lái)和人類自己的未來(lái)。比如“AI 是否能夠替代人類”、“AI 究竟是什么?”、“AI是否能增加每個(gè)人的失業(yè)風(fēng)險(xiǎn)”、“安全與隱私問(wèn)題如何平衡”、“AI 是否會(huì)導(dǎo)致社會(huì)的不平等問(wèn)題加劇?”等等的話題。 2023 年是可以說(shuō)是 AI 技術(shù)的發(fā)展元年。很多有能力的公司都在做自己的 「LLM」,「文心一言」、「Qwen」、「云雀語(yǔ)言大模型」、「Genimi」、「天工大模型」、「混元大模型」、「ChatGLM2」、「Llama2」、「GPT-4」,「GPT-3.5」、「百川大模型」等。 這么多的大模型在這一年的時(shí)間里面在不斷的進(jìn)化,不斷的提升各自模型的能力。從開(kāi)始單一的聊天對(duì)話形式不斷進(jìn)化為多模態(tài)的形式,「文生圖」、「圖生文」、「圖生圖」等模型的能力越來(lái)越強(qiáng)。尤其是在編碼能力方面給我們程序員提供了很多的幫助。 在如今 AI 火爆的時(shí)代,作為程序員的我們?nèi)绾问褂?AI 技術(shù)來(lái)給我們提供幫助?比如:學(xué)習(xí)、提升技能、工作、生活等等的方面。這個(gè)問(wèn)題是我們值得思考的一個(gè)問(wèn)題。對(duì)于這個(gè)世界的大部分人來(lái)說(shuō) AI 技術(shù)其實(shí)就是一個(gè)工具,AI 技術(shù)在未來(lái)一定會(huì)給我們的生活提供很多便捷性,就好比第二次工業(yè)革命一樣,它淘汰了很多個(gè)體體力勞動(dòng)者,取而代之的是很多工業(yè)企業(yè)。同樣現(xiàn)在也一樣好多企業(yè)已經(jīng)在思考 使用AI 技術(shù)在自己的企業(yè)賦能。那作為個(gè)人的我們?nèi)绾问褂?AI 技術(shù)來(lái)提升我們的工作和生活效率能? 主題接下來(lái)我們就探索如何使用 「扣子/coze」 來(lái)構(gòu)建一個(gè)自己的個(gè)人blog知識(shí)庫(kù)。 ? 功能架構(gòu)設(shè)計(jì)「扣子/coze」 是一個(gè) LLM 的應(yīng)用開(kāi)發(fā)工具,他內(nèi)置了很多自己的工具,可以提供給開(kāi)發(fā)者直接使用。而且他還提供了自定義相關(guān)插件的功能,那么我們就可以結(jié)合他的自定義的能力擴(kuò)展出很多的能力,從而可以構(gòu)建我們自己的應(yīng)用程序。 扣子/coze 的功能特點(diǎn):插件
數(shù)據(jù)源
持久化
工作流使用工作流可以無(wú)縫的將自己的業(yè)務(wù)邏輯與相關(guān)的工具集相結(jié)合,從而構(gòu)建強(qiáng)大的業(yè)務(wù)能力。 下面是使用扣子來(lái)搭建自己的blog「知識(shí)庫(kù)」的功能設(shè)計(jì)圖: ![]() 前提本文只要是將自己的 blog 網(wǎng)站的內(nèi)容作為知識(shí)庫(kù)的數(shù)據(jù)源來(lái)構(gòu)建自己的知識(shí)庫(kù)。所以如果你想構(gòu)建自己自己的博客知識(shí)庫(kù)就首先需要有一個(gè)博客網(wǎng)站。如果你本地有很多的文本內(nèi)容同樣可以構(gòu)建自己的知識(shí)庫(kù),不過(guò)需要稍微做個(gè)變換就行。本文主要就是提供個(gè)思路,僅做參考,提供思路。 配置插件工具「search_keywords」插件工具的主要功能就是根據(jù)執(zhí)行一個(gè) 博客內(nèi)容API 請(qǐng)求。返回的內(nèi)容需要一個(gè) json 的數(shù)據(jù),因?yàn)樾枰獙?strong>「search_keywords」插件工具在工作流中解析使用。 配置插件工具比較簡(jiǎn)單,跟著提示一直構(gòu)建就行。 ![]() 在第三步:配置輸出參數(shù)使用“自動(dòng)解析”即可。 第四步:調(diào)試與校驗(yàn)完成后,顯示調(diào)試通過(guò)即可保存。最后回到首頁(yè)點(diǎn)擊發(fā)布。 ![]() 我這里請(qǐng)求 API 不需要請(qǐng)求參數(shù),所以為空,大家根據(jù)自己的情況配置即可。 配置工作流工作流的功能就是將一些工具集或者是另外的一些工作流串起來(lái),創(chuàng)聯(lián)每個(gè)步驟的數(shù)據(jù)輸入以及輸出,使功能滿足自己的業(yè)務(wù)邏輯的流程。 我們?cè)诳臻g(個(gè)人/團(tuán)隊(duì))里面點(diǎn)擊工作流,進(jìn)入工作流配置頁(yè)面中創(chuàng)建自己的工作流。 這里面有一個(gè)名字是 「keywords_search」的工作流: ![]() 工作流的節(jié)點(diǎn)配置以及功能如下: ![]() 我們配置了 4 個(gè)節(jié)點(diǎn),下面分別說(shuō)明一下每個(gè)節(jié)點(diǎn)的作用: 開(kāi)始節(jié)點(diǎn):開(kāi)始節(jié)點(diǎn)是工作流的默認(rèn)節(jié)點(diǎn),我們可以配置輸入?yún)?shù)以及參數(shù)的數(shù)據(jù)類型。這里我們配置一個(gè) search_keywords節(jié)點(diǎn):「search_keywords」節(jié)點(diǎn)就是我們上面配置的插件,用來(lái)獲取我們 API 的內(nèi)容。這里插件可以在工作流的左側(cè)插件列表中找到。插件列表提供了系統(tǒng)內(nèi)置的插件和自定義的插件。 ![]() 代碼節(jié)點(diǎn):代碼節(jié)點(diǎn)的功能是將 「start」節(jié)點(diǎn)的
我們編寫代碼來(lái)過(guò)濾數(shù)據(jù): async function main({ params }: Args): Promise<Output> {
結(jié)束節(jié)點(diǎn):這個(gè)節(jié)點(diǎn)是「工作流」的默認(rèn)結(jié)束節(jié)點(diǎn),這里我們只需要配置他的輸入?yún)?shù)引用的是代碼節(jié)點(diǎn)返回的參數(shù) 調(diào)試工作流:配置完成后我們可以試用行我們配置的工作流,點(diǎn)擊「試運(yùn)行」,輸入 ![]() 這里清晰的可以看到每一步的輸入?yún)?shù)和輸出參數(shù)。 ? 知識(shí)庫(kù)構(gòu)建:「扣子/coze」 的知識(shí)庫(kù)功能支持上傳外部數(shù)據(jù)(例如本地文件、實(shí)時(shí)在線數(shù)據(jù)),通過(guò)向量搜索來(lái)檢索最相關(guān)的內(nèi)容以回答用戶的問(wèn)題,這可以幫助你的 Bot 更精確地回答問(wèn)題。 我們將自己的網(wǎng)站或者 blog 網(wǎng)站的內(nèi)容導(dǎo)入知識(shí)庫(kù),通過(guò)知識(shí)庫(kù)的自動(dòng)更新能力,讓 Bot 幫助你收集最新數(shù)據(jù)。當(dāng) Bot 使用了這個(gè)知識(shí)庫(kù)后,你就可以擁有一個(gè)專屬領(lǐng)域的 Bot。 ![]() 一個(gè)知識(shí)庫(kù)中可添加一個(gè)或多個(gè)單元,用于存儲(chǔ)外部數(shù)據(jù)。每個(gè)單元可包含多個(gè)分段,分段是一條獨(dú)立的信息或特定的內(nèi)容塊。上傳到知識(shí)庫(kù)中的內(nèi)容會(huì)被分割成多個(gè)分段,然后通過(guò)向量召回,召回最相關(guān)的分段,幫助模型提高回答的準(zhǔn)確性。 ![]() 我們創(chuàng)建自己的知識(shí)庫(kù):「blog知識(shí)庫(kù)」 創(chuàng)建好知識(shí)庫(kù)后,點(diǎn)擊新增單元,并選擇導(dǎo)入文件的方式,這里我們選擇「在線數(shù)據(jù)」來(lái)導(dǎo)入博客的頁(yè)面內(nèi)容。 ![]() 點(diǎn)擊保存后會(huì)自動(dòng)創(chuàng)建單元,并對(duì)數(shù)據(jù)進(jìn)行分段。 ![]() 如此我們可以將所需要的頁(yè)面內(nèi)容來(lái)構(gòu)建知識(shí)庫(kù)。 ![]() 創(chuàng)建Bot? ![]() Prompt 提示詞編排配置人設(shè)與回復(fù)邏輯: 人設(shè)與回復(fù)邏輯:是一種自然語(yǔ)言指令,告訴大語(yǔ)言模型(LLM)執(zhí)行什么任務(wù)。搭建 Bot 的第一步就編寫提示詞,為 Bot 設(shè)定身份和目標(biāo)。Bot 會(huì)根據(jù)大語(yǔ)言模型對(duì)人物設(shè)定和回復(fù)邏輯的理解,來(lái)響應(yīng)用戶問(wèn)題。因此提示編寫的越清晰明確,Bot 的回復(fù)也會(huì)越符合預(yù)期。 ? 我們輸入一段自然語(yǔ)言,比如: 然后使用優(yōu)化工具來(lái)優(yōu)化 ![]() 工具編排技能區(qū)域有 3 部分的配置:
插件配置我們選擇“必應(yīng)搜索”插件來(lái)提供網(wǎng)絡(luò)搜索。我們的 「prompt」的有一條指令 配置卡片數(shù)據(jù)綁定: 這里面可以配置卡片的樣式,卡片需要綁定的數(shù)據(jù)源等 ![]() 工作流配置工作流配置中添加上面配置的工作流 ![]() 知識(shí)庫(kù)只要我們上面配置過(guò)知識(shí)庫(kù),這里就會(huì)自動(dòng)綁定我們預(yù)先配置好的 數(shù)據(jù)庫(kù)我們這里沒(méi)用到數(shù)據(jù)庫(kù),所以不需要配置。 高級(jí)配置
高級(jí)配置里面相關(guān)文案可以根據(jù)自己的實(shí)際情況配置,以上僅為參考?;蛘呖梢栽谧约旱氖褂眠^(guò)程中不斷的微調(diào),讓大模型更能理解我們的意圖。 預(yù)覽與調(diào)試配置完成后就可以在 ![]() 我們可以在預(yù)覽區(qū)域測(cè)試我們的 Bot 的能力,Bot 的實(shí)際表現(xiàn),如果不符合預(yù)期,根據(jù) Bot 的目標(biāo),分析不符合預(yù)期的原因,并不斷調(diào)整和優(yōu)化回復(fù)「prompt」邏輯。 發(fā)布BotBot編輯好后,如果他的實(shí)際表現(xiàn)符合我們的預(yù)期,我們既可以發(fā)布 Bot,「扣子/coze」支持發(fā)布 Bot 到如圖所示的平臺(tái)。 ![]() 具體相關(guān)配置可以參考官方文檔:https://www./docs/guides/publish_to_feishu 總結(jié)總體來(lái)說(shuō)使用「扣子/coze」來(lái)搭建自己的知識(shí)庫(kù)還是很方便的,通過(guò)「插件工具」,文檔上傳/拉去形成「知識(shí)庫(kù)」,然后通過(guò)「工作流」將工具串聯(lián)起來(lái)。 比較耗費(fèi)時(shí)間的地方就是 「prompt」 人設(shè)與回復(fù)邏輯的調(diào)整。在使用的過(guò)程中會(huì)遇到比較難以理解的回答和不統(tǒng)一的回答:比如
演示:https://www.ixigua.com/7336526048761152010 結(jié)尾:? 「bot ID:」 7335819782228377640 |
|
|
來(lái)自: 長(zhǎng)沙7喜 > 《新科技》