Cinnamon/kotaemon项目使用指南:构建智能文档问答系统
项目概述
Cinnamon/kotaemon是一个基于大语言模型(LLM)的智能文档问答系统,能够帮助用户通过自然语言与上传的文档进行交互。该系统集成了多种AI模型支持,提供直观的文件管理和对话界面,特别适合需要处理大量文档并进行智能检索的场景。
核心功能配置
1. 添加AI模型
系统依赖大语言模型来完成问答任务,因此首先需要配置可用的模型资源。
模型配置步骤
- 进入"Resources"资源选项卡
- 选择"LLMs"子标签页
- 点击"Add"添加新模型
- 配置模型参数:
- 为模型命名
- 选择供应商/提供商(如ChatOpenAI)
- 提供必要的API凭证和规格
- (可选)设为默认模型
- 点击"Add"完成添加
- 切换到"Embedding Models"子标签页,重复上述步骤添加嵌入模型
环境变量配置(高级)
对于开发者或需要批量配置的场景,可以通过.env文件进行模型设置:
OpenAI配置示例
OPENAI_API_KEY=您的API密钥
OPENAI_CHAT_MODEL=gpt-3.5-turbo
OPENAI_EMBEDDINGS_MODEL=text-embedding-ada-002
Azure OpenAI配置示例
AZURE_OPENAI_ENDPOINT=您的Azure端点
AZURE_OPENAI_API_KEY=您的API密钥
AZURE_OPENAI_CHAT_DEPLOYMENT=您的部署名称
本地模型支持
系统还支持本地部署的模型,适合对隐私要求高的场景:
- 优势:数据完全本地处理、模型选择灵活、无使用成本
- 限制:生成质量较低、处理速度受硬件限制
推荐模型:
- Qwen1.5-1.8B-Chat-GGUF:约2GB内存占用,适合中等配置设备
启用方法:
LOCAL_MODEL=模型文件完整路径
2. 文档上传与管理
系统提供直观的文件管理界面:
- 进入"File Index"文件索引选项卡
- 文件上传区域:
- 拖放文件或从系统选择
- 点击"Upload and Index"上传并建立索引
- 系统将自动处理文件并显示完成状态
- 文件列表区域:
- 显示所有已上传文件
- 支持文件删除操作
3. 文档智能问答
系统核心功能是与文档进行自然语言交互:
界面布局:
-
对话设置面板:
- 管理对话会话(创建/重命名/删除)
- 文件索引选择:
- "Disabled":不使用任何文档作为上下文
- "Search All":检索所有文件
- "Select":手动选择特定文件
-
聊天面板:
- 与AI助手进行自然对话
- 系统将基于选择的文档提供回答
-
信息面板:
- 显示回答的参考证据和引用来源
- 提供多项质量评估指标:
- 回答置信度:LLM对回答的自信程度
- 相关性分数:证据与问题的匹配程度
- 向量存储分数:嵌入相似度计算结果
- LLM相关性分数:LLM判断的问题-证据相关性
- 重排序分数:专业重排序模型的评估结果
评分体系说明:
- 各评分指标可靠性:LLM相关分数 > 重排序分数 > 向量分数
- 默认按LLM相关分数排序证据
- 包含引用的证据会优先显示
最佳实践建议
-
模型选择:
- 生产环境推荐使用OpenAI或Azure的付费API
- 敏感数据考虑本地模型方案
- 可配置多个模型以便比较效果
-
文档处理:
- 上传前确保文档格式正确
- 大型文档可分拆上传提高处理效率
- 定期清理不再需要的文件
-
问答优化:
- 通过评分指标筛选高质量回答
- 合理选择检索范围提高回答准确性
- 利用引用功能追踪答案来源
通过以上配置和使用方法,用户可以充分发挥Cinnamon/kotaemon项目的潜力,构建高效的文档智能问答解决方案。系统特别适合法律、医疗、教育等需要处理大量专业文档的领域。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考