该项目的创建是为了教授类似于CHATPDF的工具的构建(这是一个与pdfs对话的ChatGpt),使用aS LLM(大语言模型)开源的Llama V2(META)模型,本地运行。
基于该项目的第一个版本,我于2010年8月10日在YouTube上的Rocketseat频道上进行了直播,在那里我解释了该应用程序的主要概念,代码并骑了一些示例。如果您想检查此Live的录制,请转到此链接。
为了促进对本解决方案的“构建块”的理解,遵循下面的图表,显示了项目的动作和组成部分。

Langchain:这是一个开源框架,可提供简单且灵活的API,可与LLMS一起使用。它允许开发人员创建使用LLMS进行各种任务的应用程序,包括翻译,文本生成,问题(Q&A),代理等。它的连接器生态系统包括与最多样化的LLM,矢量数据库,聊天引擎的集成,这使其成为构建LLM的功能强大且通用的选项。
Chromadb:它是用于存储嵌入的数据库向量,它是代表单词或短语含义的向量。它允许开发人员有效地存储和研究嵌入,这对于使用LLMS的应用至关重要。 Chromadb使用近列邻居搜索算法找到类似于特定嵌入的嵌入。这使开发人员可以快速,准确地研究大量嵌入数据。
Gradio:这是一个Python库,它允许您快速创建用于机器学习模型的原型制作和测试的图形接口。通过记录,只需几行代码将Python函数转换为交互式接口。它对于演示或测试机器学习模型而无需构建完整的应用程序特别有用。
Llama V2:它是预先培训和微调的LLM的集合,范围从70亿到700亿参数。精细调整的LLM,称为Llama 2-Chat,针对对话用例(例如聊天和对话界面)进行了优化。在大多数测试的基准上,Llama V2模型都超过了开源聊天模型,并且根据我们的人类公用事业和安全评估,可以是封闭代码模型的合适替代品。
pip install -r requirements.txtpipenv install在配置文件夹中,有一个称为.env的文件,我们将配置一些信息以执行我们的项目。
为了使其更容易,我留下了一个.env文件,其中填充了默认配置,该文件考虑了该项目的文件夹中的所有文件夹。
只需打开IDE中的Jupyter笔记本电脑rag_pdf_live.ipynb,最好是按顺序运行单元格即可。
在此笔记本的最后一个单元格中,其中IU实例与聊天会话进行交互,“在本地URL上运行:http://127.0.0.0.0.1:1:xxxx”,出现在xxxx是用于攀登网络应用程序的等级的门中。为了使与聊天互动更容易,只需单击地址,您的默认浏览器将使用聊天窗口打开。