IncarnaMind简介
IncarnaMind是一款创新的AI工具,让用户能够与自己的多个PDF和TXT文档进行对话交互。它利用大型语言模型(LLM)如GPT等,实现了对个人文档的智能问答功能。
IncarnaMind的核心优势在于其独特的滑动窗口分块技术和集成检索机制,能够高效地对文档中的细粒度和粗粒度信息进行查询,从而增强LLM的表现。
主要特性
IncarnaMind具有以下几个关键特性:
-
自适应分块:采用滑动窗口分块技术,根据数据复杂度和上下文动态调整窗口大小和位置。
-
多文档会话问答:支持同时跨多个文档进行简单和多跳查询。
-
文件兼容性:支持PDF和TXT格式。
-
LLM模型兼容性:支持OpenAI GPT、Anthropic Claude、Llama2等多种开源LLM。
系统架构
IncarnaMind的系统架构主要包括两个关键组件:
- 滑动窗口分块机制
- 集成检索器
这两个组件共同提高了文档信息检索的准确性和上下文理解能力。
使用指南
-
安装:
- 克隆仓库:
git clone https://github.com/junruxiong/IncarnaMind
- 创建Conda环境:
conda create -n IncarnaMind python=3.10
- 安装依赖:
pip install -r requirements.txt
- 克隆仓库:
-
配置: 在
configparser.ini
文件中设置API密钥。 -
使用:
- 将文档放入
/data
目录 - 运行
python docs2db.py
处理文件 - 运行
python main.py
开始对话
- 将文档放入
模型支持
IncarnaMind推荐使用llama2-70b-chat模型,但也支持其他开源LLM。如果GPU内存受限,可以考虑使用Together.ai API。
未来计划
IncarnaMind计划在未来添加以下功能:
- 前端UI界面
- 小型开源LLM的微调
- OCR支持
- 异步优化
- 支持更多文档格式
相关资源
IncarnaMind为文档智能问答提供了强大而灵活的解决方案。无论是学生、研究人员还是专业人士,都可以利用这个工具来更高效地管理和分析文档信息。欢迎大家尝试使用,并提供反馈和建议!