歡迎來到由不來梅大學的一群熱情的碩士學生開發的有趣而互動的項目“ Moin von Bremen”。在這個項目中,我們深入研究LLM(大語言模型),探索檢索增強發電(RAG)的力量,並嘗試多模式的概念。我們一起為我們心愛的不來梅市創建了音頻城市指南! ? ️
這個項目是一個有趣的旅程,始於構建能夠作為音頻城市指南的聊天機器人的想法。在不來梅大學學習時,有什麼比不來梅更好的城市選擇?有了本指南,您將不像前所未有地了解不來梅!
我們將當地知識與Wikipedia的可靠事實相結合,創造了引人入勝且內容豐富的經驗。這是我們如何做到的分步分類:
數據生成:我們從Wikipedia採購圖像和數據以支持我們的聊天機器人。查看datageneration.ipynb文件以獲取有關如何完成的更多詳細信息。
LLM&RAG :對建立自己的個人機器人感到好奇嗎?我們也是!我們深入研究了LLM和廣受歡迎的抹布技術,以開發特定於領域的知識應用。大型企業廣泛使用抹布來創建專業應用程序。想了解更多嗎?閱讀這篇有見地的抹布文章。
帶有Chromadb的文本嵌入:我們的旅程繼續使用textdata_chromadb.py文件,我們在其中使用帶有Chromadb的矢量嵌入式開發了抹布。我們甚至使用Gradio構建了一個API,用於平滑的用戶界面。我們還通過為文本和圖像創建集合來嘗試多模式概念。當給出提示時,系統會在數據庫中搜索最相關的圖像和文本。
向量嵌入:向量嵌入的概念擴展到創建相關的數字上下文,這些數字上下文在搜索過程中用於從數據庫中獲取最相關的數據。有關深入說明,請查看有關嵌入和矢量數據庫的本文。
faiss的音頻指南:向前邁進,我們通過在audiodata_faissEmbedding.py中實現代碼開發了音頻指南。我們將OpenAI的耳語ASR模型用於音頻到文本轉換。在這裡了解更多有關耳語的信息。有關有趣的深入研究MEL頻譜圖,請查看本文。
由Facebook AI Research開發的Faiss:Faiss的相似性搜索旨在有效地相似性搜索和密集矢量的聚類。它對於基於其向量表示在數據集中找到類似項目非常有用。有關詳細說明,請訪問FAISS官方頁面。
為什麼我們選擇Chromadb而不是Faiss進行這個項目?這是一個快速比較:
對於多模式搜索(例如使用圖像嵌入的搜索文本),Chromadb提供的靈活性比Faiss更具靈活性。我們分解了我們的決策過程和Main.py的實現,如下圖所示(此處插入圖)。
要開始進行此項目,請按照以下步驟:
pip install -r requirements.txtdata文件夾中。