欢迎来到由不来梅大学的一群热情的硕士学生开发的有趣而互动的项目“ 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文件夹中。