DeepTutor:AI 驱动的个性化学习助手开源项目

DeepTutor:AI 驱动的个性化学习助手

DeepTutor 是一个端到端的开源平台,能将任何知识库转化为智能辅导系统。它诞生于 HKUDS 对大型语言模型(LLM)工作流的研究,随后发展成为具备完整功能、可商用的技术栈。

为什么选择 DeepTutor?

  • 多智能体架构 – 各个代理分别负责调查、规划、执行和检查,让您对推理流程拥有细粒度控制。
  • RAG + 混合检索 – 无缝融合本地嵌入、网络搜索、论文检索和代码执行,生成准确且带引用的答案。
  • 丰富的 UI – 基于 Next.js / React 的仪表盘,支持实时 WebSocket 流、可视化学习页面以及 AI 增强的笔记功能。
  • 可扩展 – 轻松添加新的 LLM、嵌入模型或搜索服务。
  • 零代码起步 – Docker 镜像预构建,您可在 10 分钟内快速启动新实例。

快速上手 🚀

  1. 克隆仓库

    git clone https://github.com/HKUDS/DeepTutor.git
    cd DeepTutor
    

  2. 创建环境(推荐使用 Conda)

    conda create -n deeptutor python=3.10
    conda activate deeptutor
    

  3. 设置 API 密钥

    cp .env.example .env
    # 用您的 Azure/OpenAI 密钥编辑 .env
    

  4. 通过 Docker 运行(最快)

    docker compose up --build -d
    
    使用预构建镜像:
    docker run -d --name deeptutor \
    -p 8001:8001 -p 3782:3782 \
    --env-file .env \
    -v $(pwd)/data:/app/data \
    ghcr.io/hkuds/deeptutor:latest
    

  5. 访问 Web UIhttp://localhost:3782

  6. 后端 API 文档位于 http://localhost:8001/docs

核心模块说明

模块 目的 关键特性
Solver 逐步求解
双代理循环(调查 → 解决)
实时 WebSocket 推理与引用追踪
支持自定义问题类型、代码执行
Question Generator 自动化测验生成
自定义与考试模拟模式
通过 ReAct 风格代理进行验证
Guided Learning 可视化知识路径
基于笔记本的学习,交互式页面
Interactive IdeaGen Markdown 编辑器,AI 重写与 TTS
自动注释,多格式导出
Deep Research 系统性文献综述
三阶段流水线(计划 → 研究 → 报告)
内联引用与 Markdown 导出

扩展 DeepTutor

  • 添加新的 LLM ‑ 编辑 config/agents.yaml,并提供您提供商支持的 LLM_MODEL
  • 切换嵌入模型 ‑ 更改 EMBEDDING_MODEL,若使用私有服务器请添加端点。
  • 添加新搜索 ‑ 在 .env 中启用/禁用提供商(如 SEARCH_PROVIDER=perplexity)或修改 src/agents/agents.py
  • 贡献代码 ‑ 仓库采用 MIT 风格开发工作流。提交 issue、Pull Request,协助完善架构。

贡献工作流

  1. Fork 并克隆仓库。
  2. 创建功能分支,使用清晰命名,例如 feature/solver-optimization
  3. 运行 pre-commit install 以强制执行 lint 检查。
  4. 在本地使用 docker compose up --build 进行测试。
  5. 推送并提交 PR。CI 将执行单元测试和 lint 检查。

获取帮助

  • 社区渠道 ‑ Discord、WeChat、Slack 以及 GitHub Discussions。
  • 文档docs/ 文件夹包含仓库内引用和 API 文档。
  • 问题跟踪器 ‑ 在提交新问题前请先搜索现有问题。

为什么采用 AGPL‑3.0?

DeepTutor 的 AGPL 许可证确保任何下游服务提供软件时,都必须共享源代码的更改。此举鼓励基于 LLM 的辅导服务保持透明度,并保护社区集体改进的成果。

结语

借助 DeepTutor,您可以尝试前沿 LLM 工作流,创建个性化学习中心,或为您的机构部署一名辅导机器人。其模块化设计意味着您可以从默认的 FastAPI/Next.js 栈开始,随后再接入不同的 LLM 或嵌入特定领域知识库。无论您是开发者、教育者还是 AI 研究员,DeepTutor 都提供了一个实验 playground 和一个可商用工具——全部开源。

立即开始探索 – 将任何文档转化为交互式 AI 辅导老师!

原创文章: 查看原文

分享本文