LARS 项目介绍
项目背景
LARS 是一个开源应用程序,旨在通过本地运行的大型语言模型(LLM)协助用户进行高级引用和信息检索。用户可以上传自己的文档,并与LLM进行对话,LLM的响应基于上传内容,从而提高准确性,减少人工智能生成内容常见的错误或"幻觉"问题。这种技术被称为"检索增强生成"(RAG)。
项目目标
LARS 致力于成为终极的、以RAG为中心的LLM应用程序。它通过在每个响应中添加详细的引用,显著拓展了RAG的功能,提供特定的文档名称、页码、文本高亮和相关图像,使用户能够在响应窗口内直接查阅文档。
主要功能
-
高级引用:为每个LLM生成的响应增加详细的引用,包括文档名称、页码、文本高亮以及从相关图像中提取内容,用户可以在响应窗口中浏览文档并下载高亮的PDF。
-
广泛的文件格式支持:
- PDF、Word文件(doc, docx, odt, rtf, txt)、Excel文件(xls, xlsx, ods, csv)、PowerPoint演示(ppt, pptx, odp)、图片文件(bmp, gif, jpg, png, svg, tiff)、富文本格式(RTF)和HTML文件。
-
转换记忆:用户可以对过去的对话提问后续问题。
-
完整的聊天历史:支持用户回顾并恢复之前的对话。
-
RAG配置:用户可以随时通过设置强制启用或禁用RAG。
-
系统提示变更:用户可以随时通过设置更改系统提示。
-
拖放新的LLM:用户可以随时通过设置更换LLM。
-
内置提示模板:支持最流行的LLM,如Llama3、Llama2、ChatML等。
-
纯LLama.cpp后端:不依赖框架或Python绑定,可以独立于LARS升级到更新版本的llama.cpp。
-
GPU加速推理:支持Nvidia CUDA加速推理。
-
调整高级LLM设置:用户可以随时通过设置更改LLM的温度、top-k、top-p、min-p等。
-
四种嵌入模型:包括sentence-transformers/all-mpnet-base-v2等。
-
来源UI:展示选择嵌入模型的文档上传信息。
-
重置向量数据库:提供重置向量数据库的按钮。
-
文本提取方法:支持本地文本提取和Azure OCR选项,用于提高精度和支持扫描文档。
-
自定义解析器:为Azure AI文档智能OCR服务提供自定义解析器,以增强表数据提取并防止双重文本。
小结
LARS 项目不仅是一个本地化运行大模型的平台,还通过实现深入的RAG增强功能,极大提高了LLM的实用性和准确性。其广泛的功能集使其成为文档管理及智能对话领域的一大助力。