当前位置: 首页 > article >正文

DeepTutor:基于智能体原生的个性化AI学习伴侣架构与实践

1. 项目概述一个面向未来的智能学习伴侣如果你正在寻找一个能真正理解你学习节奏、能陪你从入门到精通的“AI导师”而不仅仅是另一个聊天机器人那么DeepTutor的出现可能正是你期待已久的答案。这不是一个简单的问答工具而是一个架构在“智能体原生”理念之上的、具备持久记忆和个性化能力的完整学习生态系统。它由香港大学数据智能实验室HKUDS开源旨在将大型语言模型LLM的能力从被动的信息提供者转变为主动的、可成长的、多模态的协作伙伴。简单来说DeepTutor试图解决当前AI学习工具的几个核心痛点知识碎片化不同功能割裂、交互被动化一问一答缺乏引导、记忆短暂化每次对话都是新的开始。它的解决方案是构建一个统一的智能工作空间将聊天、深度解题、研究、测验生成、写作协作等能力无缝融合并赋予每个学习者专属的、可长期进化的“导师智能体”TutorBot。无论是学生攻克难题、研究者梳理文献还是职场人士构建知识体系DeepTutor都提供了一个从知识摄入、消化、应用到内化的全流程支持平台。2. 核心架构与设计哲学为何是“智能体原生”DeepTutor的与众不同根植于其“智能体原生”的架构设计。这不仅仅是技术选型更是一种产品哲学。让我们拆解一下这个听起来有些抽象的概念看看它到底意味着什么。2.1 两层插件模型工具与能力的解耦传统AI应用往往将特定工具如联网搜索、代码执行与固定工作流如客服、编程助手强绑定。DeepTutor则进行了一次清晰的解耦采用了工具Tools和能力Capabilities两层插件模型。工具层这是最底层的原子能力。例如“RAG检索”、“联网搜索”、“代码执行”、“学术论文搜索”、“深度推理”、“头脑风暴”等。每一个工具都是独立的、可插拔的模块。它们不关心自己会被用在什么场景只负责完成一个具体的、定义良好的任务。能力层这是基于工具组合而成的、面向用户的工作流或模式。例如“聊天模式”、“深度解题模式”、“深度研究模式”等。每种“能力”可以根据任务需求动态地调用一个或多个“工具”。这种设计带来了极大的灵活性。在DeepTutor的聊天界面中你可以随时为当前对话启用或禁用任意工具。比如在讨论一个历史事件时你可以同时开启“联网搜索”获取最新资料并启用“RAG检索”从你上传的教科书PDF中寻找权威定义。而在进行数学推导时你可能只需要“深度推理”工具。工具为你所用而非流程束缚你。2.2 统一的上下文管理打破功能孤岛这是DeepTutor体验流畅性的关键。许多学习软件将“聊天”、“做题”、“记笔记”做成完全独立的功能模块数据互不相通。在DeepTutor中所有核心功能共享同一套上下文管理系统。想象这样一个学习场景你在“聊天模式”中向AI提问“请解释一下牛顿第二定律。”你觉得解释不够直观切换到“深度解题模式”要求它“用Fma这个公式结合一个滑块在斜面上的例子分步推导一下。”为了检验理解你切换到“测验生成模式”基于你刚才的对话历史让它生成几道相关的选择题。最后你对斜面上的摩擦力部分感兴趣切换到“深度研究模式”让它就此展开更深入的文献调研。在整个过程中你无需复制粘贴任何内容。对话历史、已上传的参考文档、生成的中间结论全部在后台无缝流转。这种设计模拟了人类真实的学习过程——思维是发散的、关联的DeepTutor的工作空间则成为了承载这种连续思维的容器。2.3 持久化记忆与用户画像从陌生人到知己DeepTutor的“记忆”系统是其实现个性化的核心引擎。它并非简单缓存聊天记录而是构建了一个结构化的、持续演进的用户模型主要包括两个维度学习摘要这是一个动态更新的文档持续记录你的学习轨迹。例如“用户于4月15日学习了线性代数中的特征值概念并通过一个物理振动系统的例子加深了理解4月16日围绕特征值展开了关于主成分分析的讨论。” 这相当于你的学习日志。用户画像这是一个关于你“是谁”的档案。它通过分析你的交互逐渐提炼出你的知识水平如“具备大学物理基础”、学习偏好如“喜欢通过实例学习”、沟通风格如“倾向于严谨的推导”以及学习目标如“准备机器学习面试”。这个记忆系统是全局共享的。无论是哪个TutorBot还是你在使用Co-Writer或Guided Learning都能访问并更新这份统一的记忆。这意味着你与DeepTutor交互得越久它就越了解你提供的解释会更贴合你的背景举的例子会更对你胃口甚至能主动提醒你复习薄弱环节。它从一个通用的工具逐渐变成了你的专属学习伴侣。3. 五大核心功能深度体验与实操指南了解了架构我们进入实战环节。DeepTutor的五大核心功能是其价值的直接体现下面我将结合具体操作和背后的设计逻辑带你全面掌握。3.1 统一聊天工作区你的多功能学习控制台这是DeepTutor的主界面也是所有功能的入口。其强大之处在于“统一”和“可配置”。操作流程与意图解析发起对话在输入框直接提问如“量子纠缠的基本原理是什么”工具配置在输入框下方或侧边栏你会看到一排可勾选的工具图标RAG、搜索、代码执行等。这里的策略是知识型问题勾选“RAG检索”如果你有相关知识的PDF和“联网搜索”。这样AI的回答会同时引用你的私人文档和网络最新信息并明确标注来源。复杂推理/数学问题勾选“深度推理”。这会引导AI进行逐步的、链式思考并将思考过程展示给你而不仅仅是最终答案。创意/头脑风暴勾选“头脑风暴”。AI会尝试生成更多样化、非线性的想法。模式切换在聊天过程中你可以随时通过顶部的标签或下拉菜单在“聊天”、“深度解题”、“深度研究”、“测验生成”、“数学动画”五种模式间切换。切换后之前的对话上下文完全保留。实操心得与避坑指南工具不是越多越好同时启用过多工具尤其是联网搜索RAG论文搜索可能会导致响应变慢且答案中引用来源过多显得冗杂。建议根据问题类型精准启用1-2个核心工具。善用“深度推理”进行自查当你对AI的答案存疑时可以要求它“启用深度推理工具再解释一遍”。看到其逐步推导过程你更容易定位逻辑漏洞或知识错误。会话管理每次对话都是一个独立的“会话”。对于不同的学习主题如“机器学习”和“欧洲历史”建议创建不同的会话这样有利于保持上下文的纯净也方便日后回顾。DeepTutor的侧边栏提供了清晰的会话管理功能。3.2 TutorBot创建你的专属持久化AI导师这是DeepTutor最具革命性的功能。TutorBot不是一次性的聊天窗口而是一个长期运行、拥有独立身份和记忆的智能体。创建与配置深度解析创建Bot在Web界面点击“创建TutorBot”或通过CLI命令deeptutor bot create math-tutor。定义灵魂这是最关键的一步。你需要为Bot定义一个“灵魂”模板。这不仅仅是指定它的专业领域如“数学”更重要的是定义它的教学风格和人格。例如苏格拉底式导师“你是一位喜欢通过提问来引导学生自己发现答案的数学老师。从不直接给出答案而是用‘你认为这一步为什么成立’、‘如果条件改变结论会如何变化’这样的问题来启发思考。”鼓励式写作教练“你是一位耐心、细致的写作导师。专注于发现学生文章中的闪光点并给予具体表扬。对于需要改进的地方用‘我们可以尝试这样调整…会不会更好’的建议口吻永远保持积极。”严谨的研究顾问“你是一位要求严格的学术顾问。任何结论必须提供可靠引用优先使用我知识库中的论文。回答结构清晰先给出结论再展示证据链。”独立工作区每个TutorBot拥有完全隔离的工作区目录存储其独有的会话历史、记忆文件、技能配置和学习数据。这意味着你可以同时运行一个严厉的数学Bot和一个温柔的文学Bot它们互不干扰。高级功能与实战技巧心跳与主动交互TutorBot可以配置“心跳”任务。例如你可以让英语学习Bot每天上午10点主动向你推送一条“每日一句”复杂句型分析让数学Bot每周日晚上检查你是否有遗留的错题需要复习。这实现了从“你找AI”到“AI找你”的转变。技能学习你可以通过向Bot的工作区添加技能描述文件Skill Files来扩展其能力。比如你可以教你的编程Bot一项“代码审查”技能详细描述你希望的审查要点安全性、性能、可读性。此后当你提交代码时Bot就会调用这项技能。多平台接入通过配置TutorBot可以接入Telegram、Discord、飞书等平台。这意味着你的专属导师可以常驻在你的日常通讯工具里随时答疑。配置时需注意各平台的API token和webhook配置较为繁琐建议先在一个平台调试成功再扩展到其他平台。3.3 AI协同写作器将智能深度融入创作流程Co-Writer不是一个简单的“AI辅助写作”插件而是一个以AI为核心协作伙伴重新设计的Markdown编辑器。工作流对比与传统工具传统方式你在Word/记事本写作需要查资料时切浏览器需要润色时复制段落到另一个AI聊天窗口然后再复制回来。流程割裂上下文丢失。 DeepTutor Co-Writer你就在一个集成的界面中写作。右侧是你的知识库和聊天面板左侧是编辑器。核心操作场景上下文感知的改写选中一段关于“神经网络”的草稿右键选择“使用知识库上下文进行扩展”。AI会检索你之前上传的深度学习教材PDF并引用其中的权威定义和图示来丰富你的段落同时生成引用标注。研究性写作当你写到“Transformer架构的注意力机制”时感到不确定。直接选中这个词组选择“联网搜索并总结”。AI会实时获取最新资料生成一个简洁准确的摘要插入文中并附上来源链接。一键归档写完一个章节后点击“保存至笔记本”这段内容连同其生成过程中使用的所有上下文检索到的文档片段、网络引用会自动打包存入你指定的彩色编码笔记本中成为你个人知识库的一部分。注意事项非破坏性编辑所有AI操作都支持完整的撤销/重做。你可以大胆尝试不同的改写建议不满意随时回退。保持主导权Co-Writer的设计理念是“增强智能”而非“替代智能”。它提供建议和素材但最终的措辞、结构和论点把控权始终在你手中。避免过度依赖导致文章失去个人风格。3.4 引导式学习将零散资料转化为结构化课程这个功能非常适合备考或系统学习一门新学科。它能把一堆零散的PDF、笔记转化成一个有步骤、有交互的学习路径。分步实现原理输入与规划你提供一个核心主题如“机器学习中的梯度下降算法”并关联相关的笔记本记录或知识库文档。DeepTutor会分析这些材料自动拆解出3-5个关键知识点并生成一个学习计划。例如① 梯度下降的直观理解② 批量梯度下降与随机梯度下降③ 学习率的选择与优化④ 实战代码示例。页面生成针对计划中的每个知识点DeepTutor会生成一个独立的、丰富的HTML学习页面。这个页面不是简单的文本而是包含了核心解释用清晰的语言阐述概念。可视化图表自动生成或从你的材料中提取示意图、流程图。正反示例通过例子和反例加深理解。互动问答区每个页面都嵌入了一个上下文感知的聊天窗口你可以就当前页面的内容进行深入提问讨论不会跳脱出当前知识点的范围。进度追踪与总结你按照生成的路径一步步学习、互动。完成后DeepTutor会基于你整个学习过程中的所有对话和互动生成一份个性化的学习总结报告指出你掌握牢固的部分和可能存在的理解盲区。实操建议材料质量决定起点高度你提供的原始资料PDF、笔记越清晰、结构越好生成的学习计划就越合理。建议先用自己的话整理一份核心要点笔记再交给Guided Learning去丰富和结构化。积极使用页面内问答这是将被动阅读转化为主动学习的关键。不要只看生成的页面要多问“为什么”、“如果不这样会怎样”、“这个例子和之前那个有什么不同”。3.5 知识管理中心构建你的数字第二大脑这是DeepTutor所有功能的“燃料库”。它由两部分构成知识库和笔记本。知识库的构建与优化策略文档上传与处理支持PDF、TXT、Markdown。上传后DeepTutor会调用嵌入模型将文本转化为向量并建立索引。这里有一个关键细节对于大型PDF如数百页的教材建议使用“增量上传”功能先上传核心章节观察检索效果再逐步添加。一次性上传过多内容可能导致索引臃肿影响后续检索速度和精度。检索效果调优如果发现AI经常检索不到关键信息可以尝试调整分块策略在知识库设置中可以调整文本分块的大小和重叠度。对于技术文档较小的块如256字符可能更精准对于连贯的论述文较大的块如1024字符能保留更多上下文。混合检索DeepTutor的RAG管道支持混合使用关键词检索BM25和向量检索以兼顾精确匹配和语义相似度。如果你的文档专业术语很多可以适当提高关键词检索的权重。笔记本的妙用笔记本不仅仅是收藏夹。我习惯用不同颜色的笔记本分类红色存放学习中遇到的难点和易错点以及AI给出的精彩解析。绿色存放项目灵感和研究想法以及通过Deep Research生成的初步报告。蓝色存放写作素材包括Co-Writer中写好的段落、案例和数据。核心原则知识库和笔记本不是信息的坟墓而是活的生态系统。你从这里汲取养分检索也向这里回馈果实保存的笔记、写作成果形成一个正向循环。4. 部署与配置全攻略从零到一的详细指南DeepTutor提供了多种部署方式适合不同需求的用户。下面我将详细拆解每种方式的步骤、适用场景及可能遇到的坑。4.1 方案A向导式安装强烈推荐新手这是最省心、出错概率最低的方式。start_tour.py脚本是一个交互式向导。详细流程与背后逻辑git clone https://github.com/HKUDS/DeepTutor.git cd DeepTutor conda create -n deeptutor python3.11 conda activate deeptutor python scripts/start_tour.py运行后脚本会询问模式选择“Web模式”还是“CLI模式”。Web模式会引导你完成前端和后端的全部配置并自动打开浏览器。依赖选择提供几个“套餐”选项例如“完整版”包含所有AI功能所需的依赖或“最小版”仅核心聊天。它会根据你的选择自动安装对应的Python包和Node.js依赖。配置引导核心环节。它会启动一个临时配置服务器在你的浏览器中打开设置页面。这里会分步引导你配置LLM、Embedding和搜索提供商。LLM配置它会列出所有支持的提供商OpenAI, Anthropic, 国内平台等。你选择后只需填入API Key和Base URL。向导会立即发送一个测试请求验证连接和密钥是否有效。这一步避免了因配置错误导致的后续运行时崩溃。Embedding配置同上配置用于文档向量化的模型。向导会测试嵌入模型的连接。搜索配置可选。配置如Brave Search或Tavily的API Key。应用并重启所有配置测试通过后向导会将配置写入.env文件并自动重启DeepTutor服务。你将被带到完整功能的主界面。为什么推荐此方式它将复杂的环境变量配置、依赖安装、服务启动和连通性测试封装在一个友好的流程里尤其适合不熟悉命令行或AI模型配置的用户。它把“哪里可能出错”提前到了安装阶段解决。4.2 方案B手动本地安装适合开发者或定制需求如果你需要更精细的控制或是在开发环境下手动安装是更好的选择。分步命令与深度解读# 1. 克隆代码并创建环境 git clone https://github.com/HKUDS/DeepTutor.git cd DeepTutor conda create -n deeptutor python3.11 conda activate deeptutor # 2. 安装后端依赖 pip install -e .[server] # 注意-e 是“可编辑模式”安装这意味着你修改项目中的Python代码后无需重装包即可生效对开发极其友好。 # [server] 是一个“extras”标识会安装运行Web服务器所需的所有额外依赖。 # 3. 安装前端依赖 cd web npm install cd .. # 这一步会安装Next.js、React等前端框架的所有依赖包。 # 4. 配置环境变量 cp .env.example .env # 编辑 .env 文件这是整个项目的配置核心。.env 文件配置精讲# LLM 配置 (必需) LLM_BINDINGopenai # 提供商绑定名见下方表格 LLM_MODELgpt-4o-mini # 具体模型名称 LLM_API_KEYsk-xxx # 你的API密钥 LLM_HOSThttps://api.openai.com/v1 # API端点 # Embedding 配置 (如需使用知识库则必需) EMBEDDING_BINDINGopenai EMBEDDING_MODELtext-embedding-3-large EMBEDDING_API_KEYsk-xxx EMBEDDING_HOSThttps://api.openai.com/v1 EMBEDDING_DIMENSION3072 # 必须与所选嵌入模型的维度严格匹配 # 搜索配置 (可选用于联网搜索功能) SEARCH_PROVIDERbrave BRAVE_API_KEYyour_brave_key_here关键配置选择表类别推荐选择理由与注意事项LLM提供商OpenAI (GPT-4o/GPT-4o-mini)兼容性最好性能稳定DeepTutor的提示词工程主要针对其优化。国内用户替代DeepSeek, Moonshot(Kimi), Zhipu(GLMs)通过custom或对应绑定配置需注意API格式可能略有差异。Embedding模型OpenAI text-embedding-3-*与OpenAI LLM搭配最佳维度可选small: 512, large: 3072。开源/本地替代使用ollama绑定运行nomic-embed-text完全免费但需本地部署Ollama并运行模型性能取决于本地硬件。搜索提供商Brave Search提供免费额度结果质量高隐私保护较好。备用选择SearXNG (自建)完全免费、开源但需要自己部署和维护一个SearXNG实例。启动服务与验证# 终端1启动后端FastAPI服务器 python -m deeptutor.api.run_server # 默认运行在 http://localhost:8001 # 终端2启动前端Next.js开发服务器 cd web npm run dev -- -p 3782 # -- -p 3782 指定前端端口为3782。默认运行在 http://localhost:3782启动后打开浏览器访问http://localhost:3782。如果看到界面但无法连接后端请检查终端1的后端日志是否有错误并确认.env中的LLM_API_KEY等配置正确。4.3 方案CDocker部署适合生产环境或快速体验Docker将所有依赖Python环境、Node环境、代码打包成一个镜像实现一键部署。最简部署流程git clone https://github.com/HKUDS/DeepTutor.git cd DeepTutor cp .env.example .env # 编辑 .env填入你的API密钥等配置与手动安装相同。 # 使用官方预构建镜像最快 docker compose -f docker-compose.ghcr.yml up -d # 或者从源码构建镜像适合网络受限或需要自定义 docker compose up -d执行后Docker会拉取或构建镜像并启动容器。使用docker compose logs -f可以查看实时日志直到看到后端和前端启动成功的消息。重要配置详解数据持久化Docker Compose文件已经配置了卷映射。你的所有用户数据设置、记忆、会话、知识库都保存在宿主机的./data/目录下。即使删除容器这些数据也不会丢失。下次up时会自动挂载。自定义端口如果3782或8001端口被占用直接在.env中修改FRONTEND_PORT和BACKEND_PORT变量然后重启容器即可。云端部署如果你将DeepTutor部署到云服务器如AWS EC2需要让前端知道后端API的公网地址。在.env中设置NEXT_PUBLIC_API_BASE_EXTERNALhttps://你的公网IP:8001然后重建前端镜像或使用开发模式。4.4 方案D纯CLI模式适合自动化与集成对于开发者、研究者或者希望将DeepTutor能力集成到自己工作流中的用户纯CLI模式提供了最大的灵活性。安装与基础使用# 仅安装CLI所需依赖 pip install -e .[cli] # 单次命令执行让AI解释概念 deeptutor run chat 用费曼学习法解释黑洞信息悖论 -f rich # 交互式REPL环境开启一个持续对话会话 deeptutor chat --capability deep_solve --kb physics-kb # 进入REPL后可以使用内部命令动态切换能力、工具等。CLI在自动化中的高级应用CLI的真正威力在于其结构化输出和可脚本化特性。# 1. 批量处理问题将问题列表写入文件用脚本依次求解并保存结果。 # questions.txt 内容 # 证明勾股定理。 # 简述牛顿-莱布尼茨公式。 # 解释什么是卷积神经网络。 while read -r line; do deeptutor run deep_solve $line -f json results.jsonl done questions.txt # 输出为JSON Lines格式便于用jq等工具解析集成到其他系统。 # 2. 知识库的自动化构建与更新作为数据流水线的一部分。 deeptutor kb create weekly-papers --docs-dir ./papers/weekly/ deeptutor kb search weekly-papers 对比分析BERT和RoBERTa -f json # 3. 与外部AI Agent框架集成将DeepTutor作为一个“工具”提供给更上层的智能体。 # 例如在nanobot或其他Agent框架中调用 deeptutor run ... 命令来获取专业解答。注意事项CLI模式下所有交互通过终端进行因此无法使用Web界面中的一些富交互功能如拖拽上传文件、可视化图表渲染。但对于需要批量处理、集成或服务器端无界面运行的任务CLI是唯一选择。5. 常见问题排查与性能优化实录在实际使用中你可能会遇到一些问题。以下是我在长期使用和部署中积累的常见问题及解决方案。5.1 连接与配置类问题问题1启动Web服务后前端页面无法加载或提示“连接后端失败”。排查步骤检查端口确认后端(8001)和前端(3782)端口未被其他程序占用。netstat -tulnp | grep :8001(Linux/Mac) 或Get-NetTCPConnection -LocalPort 8001(Windows PowerShell)。查看日志分别查看后端和前端终端的错误日志。最常见的错误是.env配置错误特别是API Key或Host填写有误。验证后端API直接在浏览器访问http://localhost:8001/docs。如果能打开FastAPI的Swagger文档页面说明后端运行正常。问题可能出在前端配置或网络策略如CORS但DeepTutor已内置处理。检查前端代理前端web/目录下的next.config.js或相关开发服务器配置可能将/api请求代理到了错误的后端地址。确保其指向http://localhost:8001。问题2上传文档到知识库时处理速度极慢或失败。原因分析嵌入模型速度如果使用在线的Embedding API如OpenAI网络延迟和API速率限制是主要瓶颈。百页以上的PDF处理可能需要数分钟。本地模型性能如果使用本地Embedding模型如通过Ollama则取决于你的CPU/GPU算力。文档解析错误某些PDF格式复杂扫描件、特殊排版解析库可能出错。解决方案分批次上传不要一次性上传整本巨著。先上传核心章节测试检索效果。使用性能更好的解析器DeepTutor集成了Docling等高级解析库。确保相关依赖已安装 (pip install .[server]通常已包含)。考虑预处理对于扫描版PDF可先使用OCR工具如Adobe Acrobat、ABBYY转换为可搜索的PDF或文本文件再上传。监控进程处理大型文档时查看后端日志看是否在特定页面卡住。问题3TutorBot没有反应或“心跳”任务不执行。排查步骤检查Bot状态在Web界面的TutorBot管理页面或使用CLI命令deeptutor bot list确认Bot处于“运行中”状态。查看Bot日志每个TutorBot在它的独立工作区目录下通常位于data/user/bots/bot_id/logs有运行日志。查看是否有错误信息。检查心跳配置Bot的“心跳”任务配置在其工作区的config.yaml或通过Web界面设置。确认定时任务cron表达式设置正确并且任务内容如调用的技能没有语法错误。时区问题确保运行DeepTutor的服务器的系统时区设置正确否则定时任务可能在不预期的时间执行。5.2 功能与效果类问题问题4RAG检索的结果不准确经常找不到相关文档。优化策略调整分块参数这是影响RAG效果最关键的参数之一。进入知识库设置尝试减小分块大小比如从默认的512调到256。这能让检索更“精准”适合事实性、定义性的查询。增加分块重叠度比如从0增加到50。这能避免一个概念被切分到两个块中间而丢失上下文。优化查询语句AI在检索时会将你的问题稍作改写后去搜索。尝试让你的问题更接近文档中的关键词。例如文档里写的是“随机梯度下降(SGD)”你问“SGD的优缺点”就比“梯度下降的一个变种的优缺点”检索效果更好。启用混合检索在高级设置中开启“混合检索”结合关键词BM25和向量检索。对于专业术语强的领域关键词检索往往能起到奇效。清洗文档源确保上传的文档是高质量的文本PDF而非图片扫描件。杂乱的前言、目录、页眉页脚可能会引入噪声。问题5Deep Solve或Deep Research模式耗时过长。原因与调优多Agent协作开销这些模式内部会启动多个“子智能体”进行规划、搜索、验证等。每一步都可能涉及LLM调用和工具使用。网络延迟如果使用了多个需要联网的工具如搜索、论文检索网络延迟会叠加。LLM响应速度不同LLM模型的速度差异很大。应对方法设置超时和步骤限制在相关模式的设置中可以限制最大推理步骤或总耗时。选择性使用工具在发起任务前在工具选择面板中只勾选当前任务绝对必要的工具。例如一个纯数学证明可能不需要联网搜索。使用更快的LLM对于需要快速迭代的复杂任务可以尝试使用响应速度更快的模型如GPT-4o-mini相比GPT-4-Turbo更快。问题6Co-Writer的“基于知识库扩展”功能引用的内容不相关。排查方向检查知识库关联确认你在Co-Writer中正确选择了要引用的知识库。它默认使用“默认知识库”你可以在顶部切换。审视检索结果Co-Writer在扩展时会先向关联的知识库发起检索。如果知识库本身内容杂乱或检索查询生成得不好就会得到不相关的内容。这是一个上游的RAG问题可参考问题4进行优化。提供更明确的指令在选中文本后除了点击“扩展”也可以尝试在聊天面板手动输入更精确的指令如“请从我上传的《机器学习》教材第三章中找到关于‘正则化’的定义和例子用来丰富我选中的这段文字。”5.3 性能与资源优化内存占用DeepTutor后端尤其是加载了本地Embedding模型或运行多个TutorBot时可能占用较多内存。建议为部署的服务器分配至少4GB内存。可以通过Docker Compose文件限制容器的内存使用量。磁盘空间知识库的向量索引文件可能会占用较大空间尤其是文档很多时。定期清理不再需要的知识库。向量索引通常位于data/knowledge_bases/下对应的目录中。API成本控制如果使用OpenAI等按token计费的API需注意在设置中开启“在界面中显示token使用量”培养成本意识。对于非关键性的对话或草稿生成可以在设置中切换为更便宜的模型如gpt-4o-mini。合理使用“深度”模式因为其多步推理会显著增加token消耗。6. 进阶技巧与生态整合当你熟悉了基本操作后以下技巧可以帮助你更上一层楼。技巧1利用CLI实现自动化学习报告结合Shell脚本和cron定时任务你可以让DeepTutor每周自动生成学习报告。#!/bin/bash # weekly_report.sh REPORT_DATE$(date %Y-%m-%d) deeptutor run chat 请基于我过去一周的所有聊天和笔记本记录生成一份关于机器学习主题的学习进度总结报告指出我的主要进展和待加强的点。 --kb ml-notes /path/to/reports/report_${REPORT_DATE}.md然后将此脚本加入cron每周日晚上自动运行。技巧2构建领域专属的TutorBot舰队不要只创建一个通用Bot。为每个主要学习领域创建高度专业化的Botmath-bot灵魂设定为“严谨、热爱证明、擅长几何直观”。writing-bot灵魂设定为“专注学术英语写作擅长批判性思维和逻辑连贯性”。code-review-bot赋予它“代码审查”技能专门用来检查你的Python/JavaScript代码。 每个Bot在其领域内会越来越精通并且你可以针对性地为它们上传不同的知识库。技巧3与HKUDS生态项目联动DeepTutor来自HKUDS实验室其设计考虑了与同门项目的整合。未来整合LightRAG关注项目路线图当LightRAG集成后可以替换掉默认的RAG引擎有望获得更快的检索速度和更优的精度。使用nanobot构建更复杂的AgentTutorBot基于nanobot。你可以直接使用nanobot框架以DeepTutor CLI作为一个强大的“工具”来构建执行更复杂、更长期任务的超级智能体。技巧4贡献与自定义DeepTutor是开源项目如果你有开发能力可以开发新工具参考deeptutor/tools/下的现有工具实现一个新的工具例如接入一个特定的数据库查询API。创建新的能力参考deeptutor/capabilities/设计一个新的工作流模式。改进UI前端基于Next.js和React代码在web/目录下你可以修改界面以适应自己的使用习惯。提交问题与建议在GitHub仓库提交Issue反馈bug或提出功能建议是帮助项目成长最直接的方式。DeepTutor代表了一种新的可能性AI不再是一个被动的工具而是一个可以深度融入个人学习与工作流、具备记忆和个性的主动伙伴。它的“智能体原生”架构和高度可组合的设计为未来的个性化AI应用提供了一个坚实的范本。无论你是想提升学习效率的研究者还是寻求创意辅助的创作者抑或是希望将AI能力深度集成到产品中的开发者DeepTutor都值得你投入时间深入探索。

相关文章:

DeepTutor:基于智能体原生的个性化AI学习伴侣架构与实践

1. 项目概述:一个面向未来的智能学习伴侣如果你正在寻找一个能真正理解你学习节奏、能陪你从入门到精通的“AI导师”,而不仅仅是另一个聊天机器人,那么DeepTutor的出现,可能正是你期待已久的答案。这不是一个简单的问答工具&#…...

野火拂晓开发板用CMSIS-DAP下载失败?别急着换DLL,试试KEIL里这个隐藏选项

野火拂晓开发板CMSIS-DAP下载失败?KEIL隐藏选项的终极解决方案 当你在使用野火拂晓开发板配合CMSIS-DAP调试器进行程序下载时,是否遇到过这样的场景:按照常规流程添加了Flash算法,选择了正确的下载器,甚至尝试了网上各…...

FPGA数字滤波器实现:并行处理与VHDL优化

1. FPGA数字滤波器实现概述在嵌入式系统设计中,数字信号处理(DSP)功能实现通常面临两种选择:使用专用DSP处理器或采用可编程逻辑器件(PLD)。作为一名长期从事FPGA开发的工程师,我亲身体验到FPGA…...

Openaibot框架:模块化设计打造可定制AI聊天机器人

1. 项目概述:一个能帮你“驯服”AI的聊天机器人框架如果你正在寻找一个能让你轻松接入各种大语言模型(LLM),并快速构建出功能强大、可定制化聊天机器人的开源项目,那么LlmKira/Openaibot绝对值得你花时间深入研究。这不…...

ROS手柄控制避坑指南:从`/joy`话题数据到`Twist`消息的完整调试流程

ROS手柄控制避坑指南:从/joy话题数据到Twist消息的完整调试流程 当你在ROS环境中尝试用手柄控制机器人或仿真对象时,是否遇到过乌龟纹丝不动、运动方向错乱,或者速度异常的情况?这些问题往往源于手柄数据与运动指令之间的映射关系…...

如何通过反向面试考察公司盈利与增长策略:终极指南

如何通过反向面试考察公司盈利与增长策略:终极指南 【免费下载链接】reverse-interview-zh 技术面试最后反问面试官的话 项目地址: https://gitcode.com/gh_mirrors/re/reverse-interview-zh 在求职过程中,技术面试往往被视为单向考核&#xff0c…...

互联网大厂 Java 求职面试:从音视频场景到微服务的旅程

互联网大厂 Java 求职面试:从音视频场景到微服务的旅程 在一次真实的面试中,严肃的面试官和搞笑的水货程序员燕双非展开了一场技术比拼。以下是他们之间的对话,展示了在互联网大厂求职的真实场景。 第一轮:音视频场景 面试官&a…...

为AI智能体构建本地持久记忆系统:Remnic架构与实战指南

1. 项目概述:为AI智能体构建持久、私有的记忆系统如果你和我一样,长期与各类AI智能体(无论是OpenClaw、Claude Code还是Codex CLI)打交道,一定对一个问题深恶痛绝:每次对话,它们都像一张白纸。你…...

如何快速掌握TikTokenizer:AI开发者必备的Token计算终极指南

如何快速掌握TikTokenizer:AI开发者必备的Token计算终极指南 【免费下载链接】tiktokenizer Online playground for OpenAPI tokenizers 项目地址: https://gitcode.com/gh_mirrors/ti/tiktokenizer 在当今AI应用开发中,准确计算文本的Token数量是…...

Java 求职者面试:电商场景下的技术问答

面试官与燕双非:在电商场景下的 Java 技术问答 在一间面试室里,面试官严肃的坐在桌子后面,候选人燕双非在他的对面。面试官开始了一轮轮的技术问答,试图考察燕双非在 Java 和电商架构方面的能力。第一轮提问 面试官:燕…...

别再只看K线了!用Python+TA-Lib实战ASI指标,5分钟搞定你的量化选股策略

用PythonTA-Lib实战ASI指标:量化选股策略的5分钟代码实现 在量化交易的世界里,技术指标如同航海图上的坐标,而ASI(Accumulation Swing Index)指标则是其中一把独特的量尺。不同于传统指标仅关注价格变动,AS…...

从崩溃到修复:ImHex中Intel Hex文件视图无限递归问题深度解析

从崩溃到修复:ImHex中Intel Hex文件视图无限递归问题深度解析 【免费下载链接】ImHex 🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM. 项目地址: https://gitcode.com/GitHub_Trendin…...

手把手教你用Alist搭建私人影视库:聚合阿里云盘、百度网盘资源,用Kodi/Plex直接播放

家庭影音中心革命:用Alist打造跨平台云端影视库 坐在沙发上用电视直接播放阿里云盘里的4K电影,或者在卧室用iPad流畅观看百度网盘收藏的美剧——这些曾经需要反复下载转存的繁琐操作,现在通过Alist可以轻松实现。作为一款开源的网盘聚合工具&…...

如何快速掌握Switch自定义固件:面向新手的完整大气层安装指南

如何快速掌握Switch自定义固件:面向新手的完整大气层安装指南 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 还在为Switch功能单一而烦恼吗?大气层(Atm…...

别再死记硬背AXI-Lite信号了!用握手协议的逻辑,5分钟理清5大通道

从握手协议视角重构AXI-Lite:用5个逻辑单元破解FPGA总线迷宫 第一次翻开AXI-Lite协议文档的工程师,往往会被密密麻麻的信号列表吓退——AWADDR、WDATA、BRESP、ARREADY...这些看似无序的字母组合,其实隐藏着精妙的系统级设计哲学。与其逐条背…...

Go QML高级特性:动态QML加载与运行时组件创建

Go QML高级特性:动态QML加载与运行时组件创建 【免费下载链接】qml QML support for the Go language 项目地址: https://gitcode.com/gh_mirrors/qm/qml QML作为Go语言的UI开发框架,提供了丰富的界面设计能力。本文将深入探讨Go QML中两个强大的…...

Perfetto vs Systrace:全面对比与迁移指南

Perfetto vs Systrace:下一代Android性能分析工具的全景解析 从Systrace到Perfetto的技术演进之路 在Android性能优化领域,系统级追踪工具的选择往往决定了开发者的调试效率。过去十年间,Systrace作为官方标配工具帮助了无数开发者定位UI卡顿…...

Git-Appraise 终极指南:5大优势让你告别传统代码审查痛点

Git-Appraise 终极指南:5大优势让你告别传统代码审查痛点 【免费下载链接】git-appraise Distributed code review system for Git repos 项目地址: https://gitcode.com/gh_mirrors/git/git-appraise Git-Appraise 是一款专为 Git 仓库设计的分布式代码审查…...

用PDA5927四象限光电管DIY一个激光位置探测器(附Python数据采集代码)

用PDA5927四象限光电管DIY激光位置追踪系统(附Python实时可视化方案) 激光笔在幕布上的光斑位置检测、机器人视觉定位、甚至简易的光学动作捕捉——这些看似高深的应用,其实用一个四象限光电管就能实现核心功能。PDA5927这颗不足指甲盖大小的…...

【仅限早期项目】AISMM定制化沟通协议(含投资人偏好映射矩阵+话术热键库),限时开放前100份

更多请点击: https://intelliparadigm.com 第一章:AISMM模型与投资人沟通 AISMM(Artificial Intelligence Strategy Maturity Model)是一种面向AI项目投资决策的结构化评估框架,专为技术团队与非技术背景投资人之间的…...

Element Plus项目实战:集成my-cron-vue3打造国际化定时任务管理后台

Element Plus项目实战:集成my-cron-vue3打造国际化定时任务管理后台 在构建现代企业级中后台系统时,定时任务管理是不可或缺的核心模块。面对多语言团队协作的复杂场景,如何将功能强大的cron表达式生成器与国际化的UI框架无缝整合&#xff0c…...

G-Helper终极指南:华硕笔记本性能优化神器,轻松降温15℃

G-Helper终极指南:华硕笔记本性能优化神器,轻松降温15℃ 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook…...

终极解锁指南:zteOnu工具如何开启中兴光猫工厂模式与Telnet服务

终极解锁指南:zteOnu工具如何开启中兴光猫工厂模式与Telnet服务 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 中兴光猫作为国内广泛部署的网络设备,其强大的硬…...

Saltcorn CLI工具详解:命令行操作与批量处理技巧

Saltcorn CLI工具详解:命令行操作与批量处理技巧 【免费下载链接】saltcorn Free and open source no-code application builder 项目地址: https://gitcode.com/gh_mirrors/sa/saltcorn Saltcorn是一款免费开源的无代码应用构建平台,通过其强大的…...

Openaibot:模块化LLM聊天机器人框架的设计、部署与优化实践

1. 项目概述:一个能帮你“驯服”AI的聊天机器人框架如果你正在寻找一个能让你轻松集成和深度定制大型语言模型(LLM)能力的聊天机器人框架,那么LlmKira/Openaibot这个项目绝对值得你花时间研究。它不是一个简单的“套壳”应用&…...

IDA Pro启动报错?别慌!手把手教你用批处理脚本搞定Python环境冲突(附32/64位脚本模板)

IDA Pro启动报错终极解决方案:Python环境隔离实战指南 逆向工程师们对IDA Pro的依赖程度,不亚于厨师对菜刀的依赖。但当你满心欢喜双击IDA图标,却迎面撞上"Unexpected fatal error while initializing Python runtime"的红色警告时…...

C++面向对象编程之继承

目录 一、继承的概念及定义 1.1 继承的基本概念 1.2 继承的定义与访问方式 1.2.1 定义格式 1.2.2 继承方式与访问权限 1.3 继承类模板 二、基类与派生类的转换 2.1 向上转型(Upcasting) 2.2 向下转型(Downcasting) 三、…...

QMCDecode:让QQ音乐加密音频在Mac上自由播放

QMCDecode:让QQ音乐加密音频在Mac上自由播放 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结果存…...

WarcraftHelper实用指南:优化魔兽争霸3在现代系统上的游戏体验

WarcraftHelper实用指南:优化魔兽争霸3在现代系统上的游戏体验 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸3作为一款经典即时…...

分布式爬虫平台架构设计:从权限控制到规模化数据采集实战

1. 项目概述:从“权限实验室”到“爬虫农场”的构想最近在GitHub上看到一个挺有意思的项目,叫“claw-farm”,来自一个叫“PermissionLabs”的组织。光看这个名字,就让人忍不住想点进去看看。PermissionLabs,直译是“权…...