该项目使用 LangGraph 和本地 DeepSeek R1 模型(运行于 Ollama)构建了一个 RAG(检索增强生成)研究代理。该代理能够自主收集、分析和总结信息,以高效执行研究任务。
- 生成查询:分析用户输入,输出数个有效命题查询命令。
- 检索本地文档:从 ChromaDB 提取与查询相关的文档。
- 评估相关性:检查检索结果是否有价值。
- 联网搜索:当本地检索不到相关数据时,利用 Tavily API 进行在线搜索。
- 总结分析:处理数据,提取核心见解。
- 生成报告:按照自定义格式输出分析报告。
- Ollama:管理与调用部署于本地的deepseek-r1模型
- SentenceTransformer:使用all-MiniLM-L6-v2模型进行词嵌入。
- ChromaDB:为本地向量数据库,负责存储文档的嵌入表示,并通过相似性搜索检索相关内容。该数据库可高效处理大规模文档数据,提升检索准确性。
- Tavily:当本地文档检索不到相关内容,可以通过 Tavily API 访问在线数据源,如学术论文和权威博客,以补充研究内容。
- LangGraph:基于有向图构建 Agent的框架,用于设计上述工作流程,实现任务的分步执行、状态管理和条件判断,使整个研究过程更加灵活和可控。
- Streamlit:提供简单直观的 Web 界面,使用户能够方便地上传文档、输入查询,并查看研究代理生成的报告。