大航海資料都已開放,今天復現(xiàn)了下其中大模型開發(fā)的項目:ChatBot。項目使用GPT API,可以生成文字、語音、圖像,并基于RAG進行私有化知識的問答,剛好過程記錄了一下,分享給大家,照著做很容易就能實現(xiàn)。 一、實戰(zhàn)項目介紹-ChatBot 這次的實戰(zhàn)項目主要利用:OpenAI API + RAG,構建屬于自己的聊天機器人,其中涉及的API包括:Chat接口、Images接口、Audio接口。向量數(shù)據(jù)庫使用Chromadb。我們來看看項目效果圖: 多輪對話 生成圖片 生成語音 RAG(基于私有化知識回答) 二、架構設計 1.使用框架介紹 Gradio:前端框架,底層使用FastAPI。負責頁面渲染與交互。 FastAPI:后端框架,HTTP服務借助FastAPI構建。負責構建靜態(tài)資源(語音、圖片)下載服務。如果不需要靜態(tài)資源,可以直接啟動,這里使用fastapi啟動 2.架構模塊淺析 ChatManager:主要負責管理ChatBot(菠菜自主研發(fā)的框架可支持多ChatBot的定義與選擇),負責對Gradio以及FastAPI的通用封裝,對外提供服務。為什么起名字為chatbot_manager,因為可以實現(xiàn)各種chatbot,可以自己定義,參考ChatBot。 ChatBot:用于定義自己的ChatBot,本次代碼實戰(zhàn),已經(jīng)封裝好了一個ChatBot名為"FirstChatBot”。如果想構建自己的ChatBot,可以參考”FirstChatBot” FirstChatBot:實現(xiàn)了本次實戰(zhàn)的所有功能,包括,圖片生成、語音生成、RAG ./first_chatbot/:參考架構圖的FirtChatBot ./first_chatbot/tools:用于實現(xiàn)FirstChatBot的插件能力 ./first_chatbot/rag:用于實現(xiàn)FirstChatBot的RAG能力 ./data/doc/:用于存儲RAG的私有化數(shù)據(jù): ./data/db/:用于ChromaDB(向量數(shù)據(jù)庫)的數(shù)據(jù)存儲 三、項目代碼 代碼地址:https://github.com/daijun4you/great-navi clone代碼 git clone https://github.com/daijun4you/great-navi cd great-navi pip install --upgrade -r requirements.txt-i https://pypi.douban.com/simple 安裝依賴包(此處有基礎的話建議直接用Anaconda或pycharm其他等等,網(wǎng)太慢用豆瓣源安裝) ? 缺pyrsa-decrypt.exe、markdown-it.exe等安裝包 如果報錯找不到一些依賴,單獨pip安裝再運行,這也是前文推薦使用conda的原因 最后來到這一步的報錯,提示拒絕訪問,這里運行的時候添加--user參數(shù)賦予權限就可以 最終安裝完畢 運行腳本 python chatbot_ ?瀏覽器打開http://localhost:8123/就可以啦 特別感謝菠菜老師、鶴涵老師提供項目和API,并且無須額外的網(wǎng)絡通道。 |
|
來自: 新用戶36537660 > 《AI應用場景》