DeepTutor:基于智能体原生架构的个性化AI学习伴侣部署与实战指南

news2026/5/2 12:21:10
1. 项目概述一个“原生智能体”驱动的个性化学习伴侣如果你正在寻找一个不仅仅是聊天机器人而是一个能真正理解你的学习进度、拥有独立“人格”并能主动规划学习路径的AI导师那么DeepTutor的出现可能标志着一个新阶段的开始。这不是一个简单的问答工具而是一个架构在“智能体原生”理念之上的完整学习生态系统。简单来说它把过去分散的AI能力——聊天、深度解题、研究、写作、知识管理——整合进一个统一的、有记忆的、可进化的“智能体”框架里。你可以把它想象成一个数字化的私人学习伙伴它不仅回答你的问题还会记住你学过什么、擅长什么、目标是什么并据此调整自己的教学策略。DeepTutor的核心价值在于其“统一上下文”和“持久化记忆”。这意味着无论你是在“聊天模式”下快速提问切换到“深度求解模式”进行多步骤推理还是进入“引导学习模式”进行系统性的知识梳理你的对话历史、引用的资料、乃至你的学习状态都是无缝衔接的。更关键的是它的“TutorBot”功能允许你创建多个拥有不同性格和专长的独立AI导师它们各自运行拥有独立的工作空间和记忆却能共享你的核心知识库。无论是想创建一个苏格拉底式的数学导师来引导你思考还是一个严谨的科研顾问来帮你梳理文献DeepTutor都能将其具象化为一个可以7x24小时待命的数字实体。这个项目适合任何有持续学习需求的人无论是学生攻克学科难题、研究者进行文献综述、开发者学习新技术还是任何领域的终身学习者。它降低了使用高级AI能力进行系统性学习的门槛将多智能体协作、检索增强生成RAG、持久化记忆等复杂技术封装成了一个开箱即用、体验流畅的应用。2. 核心架构与设计哲学解析DeepTutor的架构设计清晰地反映了其“智能体原生”的定位。它不是一个功能堆砌的Web应用而是一个以智能体为核心调度单元的系统。理解其架构有助于我们更好地利用其全部潜力。2.1 两层插件模型工具与能力的解耦DeepTutor v1.0.0 进行了一次彻底的重构引入了“工具Tools”与“能力Capabilities”分离的两层插件模型。这是其设计上的一个关键进化。能力Capabilities 这定义了做什么。例如“聊天Chat”、“深度求解Deep Solve”、“深度研究Deep Research”都是不同的能力。每种能力封装了一套特定的工作流和目标。当你选择“深度求解”时系统就知道需要启动一个多智能体协作的、分步骤的解题流程。工具Tools 这定义了用什么做。例如“RAG检索”、“网页搜索”、“代码执行”、“学术论文搜索”等都是工具。它们是原子化的功能模块可以被不同的“能力”所调用。这种解耦带来了极大的灵活性。在“聊天”能力中你可以自由组合启用RAG、网页搜索等工具而在“深度研究”能力中系统可能会自动调度多个工具如并行调用多个搜索代理来完成研究任务。这意味着工作流能力和功能实现工具可以独立演进和扩展。2.2 统一上下文管理打破功能孤岛的关键许多AI应用的一个痛点是功能割裂笔记归笔记聊天归聊天查资料又是另一个界面。DeepTutor通过其统一上下文管理系统解决了这个问题。所有核心功能——聊天、深度求解、测验生成、深度研究、数学动画——都运行在同一个“工作空间Workspace”线程中。这个线程维护着完整的对话历史、当前激活的知识库引用、用户的学习状态记忆以及任何临时的上下文信息。当你从“聊天”切换到“深度求解”时你不需要复制粘贴刚才的问题系统会自动将之前的对话作为背景让求解智能体在此基础上继续工作。这种设计使得学习过程成为一个连续的、可追溯的整体而不是一堆离散的会话片段。2.3 持久化记忆与用户画像让AI真正“认识”你记忆系统是DeepTutor实现个性化的基石。它并非简单记录聊天记录而是结构化地构建一个动态的用户模型。摘要Summary 这是一个动态更新的学习日志。它会自动提炼你在各次会话中学到的核心概念、探讨过的话题以及取得的进展。例如经过几次关于“神经网络”的对话后摘要里可能会记录“用户已理解前向传播、反向传播的基本原理并探讨了CNN在图像识别中的应用”。画像Profile 这更像你的学习身份档案。它通过分析你的交互模式逐渐形成对你学习偏好、知识水平、沟通风格甚至目标的理解。比如系统可能发现你更喜欢通过示例学习或者你对数学公式的严谨性要求很高。这个画像会被所有TutorBot和功能共享使得每个交互都更加贴合你的个人习惯。这个记忆是增量更新的随着使用越来越精准。它使得DeepTutor从一个“每次见面都像第一次”的陌生人变成了一个真正了解你学习历程的伙伴。2.4 TutorBot从功能到“数字实体”的跃迁TutorBot是DeepTutor理念最极致的体现。它不是一个功能按钮而是一个个可以独立创建、配置和运行的智能体实例。每个TutorBot都拥有独立的灵魂Soul 通过可编辑的配置文件定义其性格、语气和教学哲学如“苏格拉底式提问者”、“鼓励型教练”、“严谨的评审”。独立的工作空间 拥有自己的会话历史、记忆片段、技能文件和配置与其他Bot隔离。主动的心跳Heartbeat 可以配置定时任务例如每天下午6点提醒你复习、每周生成学习报告等实现“主动关怀”。完整的工具访问权限 可以调用DeepTutor主系统的所有工具RAG、搜索、代码执行等。多通道接入 可以部署到Telegram、Discord、飞书等平台让你的私人导师无处不在。你可以同时运行一个教你微积分的“数学Bot”和一个帮你修改论文的“写作Bot”它们互不干扰却都基于对你的统一记忆进行个性化教学。这相当于将DeepTutor的核心能力“实例化”为多个专精的、可长期相处的数字个体。3. 从零开始部署与深度配置指南虽然项目提供了便捷的引导脚本但理解手动部署的每一步能让你在遇到问题或需要自定义时更有把握。下面我将以手动本地安装Option B为例拆解每个步骤背后的原理和注意事项。3.1 环境准备与依赖安装的细节git clone https://github.com/HKUDS/DeepTutor.git cd DeepTutor conda create -n deeptutor python3.11 conda activate deeptutor # 或者使用 venv: python -m venv .venv source .venv/bin/activate为什么是Python 3.11较新的Python版本能更好地支持项目依赖的异步特性如asyncio和类型提示保证运行效率和代码健壮性。使用conda或venv创建虚拟环境是Python开发的最佳实践它能将项目依赖与系统Python环境隔离避免版本冲突。pip install -e .[server]这里的-e代表“可编辑模式”安装。这意味着pip不会将包复制到site-packages而是在原地创建一个链接。这样如果你在deeptutor目录下修改了源代码无需重新安装改动会立即生效非常适合开发或深度定制。[server]是一个“额外依赖”标识它会安装pyproject.toml中定义的、运行服务器所需的所有依赖包包括Web框架FastAPI、LLM调用库等。cd web npm install cd ..前端基于Next.js 16React 19构建。npm install会读取package.json安装所有前端依赖如React、状态管理、UI组件库等。这一步需要Node.js环境建议LTS版本。完成后前后端代码就绪。3.2 核心配置详解LLM、嵌入模型与搜索配置是DeepTutor的灵魂决定了它使用哪个“大脑”和“记忆库”。cp .env.example .env # 编辑 .env 文件.env文件中的配置项分为几个关键部分1. 大语言模型LLM配置项目的“大脑”这是最核心的配置。DeepTutor通过统一的接口兼容众多提供商其原理是使用一个兼容OpenAI API格式的客户端库如openai、litellm通过不同的base_url和api_key来对接不同服务商。LLM_BINDINGopenai LLM_MODELgpt-4o-mini LLM_API_KEYsk-xxx LLM_HOSThttps://api.openai.com/v1LLM_BINDING 指定提供商适配器。例如openai对应官方OpenAI APIanthropic对应Claude APIollama对应本地运行的Ollama。LLM_MODEL 指定具体模型。如gpt-4o,claude-3-5-sonnet,qwen2.5:7bOllama。LLM_HOST API的基础地址。对于OpenAI是https://api.openai.com/v1对于本地Ollama是http://localhost:11434/v1对于其他兼容服务则填写其提供的端点URL。LLM_API_KEY 对应的API密钥。实操心得模型选择与成本权衡对于日常学习和对话gpt-4o-mini或claude-3-haiku这类“小模型”在成本、速度和能力上取得了很好的平衡。对于复杂的“深度求解”或“深度研究”切换到gpt-4o或claude-3-5-sonnet能获得更可靠的推理结果。如果数据隐私要求高或想完全免费部署本地模型如通过Ollama运行qwen2.5:72b是最佳选择但需要强大的GPU支持。2. 嵌入模型Embedding配置知识库的“记忆核心”RAG检索增强生成功能依赖嵌入模型将文档和问题转换为向量一组数字并通过向量相似度进行检索。EMBEDDING_BINDINGopenai EMBEDDING_MODELtext-embedding-3-large EMBEDDING_API_KEYsk-xxx EMBEDDING_HOSThttps://api.openai.com/v1 EMBEDDING_DIMENSION3072EMBEDDING_DIMENSION 向量维度必须与所选模型匹配。text-embedding-3-large的维度是3072。如果使用其他模型如BAAI/bge-m3需要查询其对应维度通常是1024或768。维度不匹配会导致向量数据库无法正确计算相似度。3. 搜索提供商配置获取实时信息的“眼睛”“网页搜索”和“深度研究”功能需要此配置。SEARCH_PROVIDERbrave BRAVE_API_KEYyour_brave_search_api_key_hereBrave Search 推荐使用有免费额度结果质量不错。Tavily 专为AI优化返回的信息已经过一定整理。DuckDuckGo 无需API密钥但稳定性可能不如商业API。SearXNG 自建搜索引擎聚合器完全私密但需要自行部署和维护。3.3 服务启动与问题排查配置完成后分别启动后端和前端的服务。# 终端1启动后端API服务器 python -m deeptutor.api.run_server # 默认运行在 http://localhost:8001# 终端2启动前端开发服务器 cd web npm run dev -- -p 3782 # 指定端口3782运行在 http://localhost:3782常见启动问题与排查端口冲突 如果8001或3782端口被占用可以在.env文件中修改BACKEND_PORT和FRONTEND_PORT然后重启服务。前端无法连接后端 打开浏览器开发者工具F12查看网络Network标签页。如果前端请求后端API时出现CORS错误或连接失败请检查后端服务是否成功启动终端有无报错。.env中是否设置了NEXT_PUBLIC_API_BASE_EXTERNAL在本地运行时通常不应该设置这个变量前端会默认代理到localhost:8001。这个变量主要用于远程部署。LLM/Embedding连接失败 查看后端终端日志。常见原因API密钥错误或过期。LLM_HOST或EMBEDDING_HOST填写错误。网络问题导致无法访问外部API对于本地Ollama检查是否已启动。账户额度不足。启动成功后在浏览器访问http://localhost:3782你将看到DeepTutor的Web界面。首次使用建议先进入“设置”页面测试一下LLM和Embedding的连接状态。4. 核心功能实战从知识管理到深度研究DeepTutor的功能不是孤立的而是一个有机的工作流。下面我们以一个完整的学习场景——“学习Transformer注意力机制”为例串联起各个功能。4.1 构建你的专属知识库Knowledge Hub任何高效学习都始于资料整理。DeepTutor的知识库不是简单的网盘而是经过向量化处理、可供AI随时检索的“外接大脑”。创建知识库 在Web界面的“知识”板块点击“新建知识库”命名为“深度学习论文”。上传文档 将你收集的关于Transformer、Attention的经典论文PDF如《Attention Is All You Need》、Markdown笔记或TXT文档拖入上传区。DeepTutor后端会使用配置的嵌入模型将文档切片并转换为向量。将这些向量存储到本地的向量数据库如ChromaDB。建立索引以便毫秒级检索。增量添加 之后读到新的相关论文可以直接“添加文档”到该知识库系统会自动更新索引。注意事项文档预处理对于复杂的PDF尤其是双栏排版、含大量图表直接上传可能影响检索质量。一个进阶技巧是可以先用其他工具如pypdf、pdfplumber或在线服务对PDF进行预处理提取并清理文本保存为Markdown格式再上传能显著提升RAG的准确度。4.2 沉浸式对话与协作写作Chat Co-Writer有了知识库就可以开始深度互动了。开启RAG增强聊天 在聊天界面确保右上角选择了你刚创建的“深度学习论文”知识库并勾选“RAG检索”工具。现在当你提问“请解释Transformer中的缩放点积注意力”AI的回答不仅基于其内部知识还会引用你知识库中上传的论文片段提供更精准、更具上下文的解释并注明来源。使用Co-Writer进行知识整理 在聊天中获得不错的解释后点击“保存到笔记本”或直接切换到“Co-Writer”模块。你可以将聊天内容作为初稿然后选中一段文本右键选择“AI重写”来优化表达。让AI基于知识库和网络搜索对某个概念进行“扩展”补充更多细节或案例。将最终成型的笔记保存到名为“Transformer学习笔记”的笔记本中并打上标签如#核心机制。这样你的学习过程直接产出了结构化的个人笔记并沉淀到了系统中。4.3 攻克复杂问题深度求解Deep Solve实战当你遇到一个综合性难题比如“如何从零实现一个简单的Transformer模型”简单的聊天可能不够系统。这时切换到“深度求解”模式。模式切换 在聊天输入框左侧将模式从“聊天”切换到“深度求解”。提出问题 输入上述问题。DeepTutor会启动一个多智能体协作流程规划智能体 首先将问题分解为子任务例如a) 理解Transformer架构图b) 实现嵌入层和位置编码c) 实现多头注意力层d) 实现前馈网络e) 组装完整模型。执行智能体 根据规划依次调用工具RAG检索你的知识库、网页搜索代码示例、代码执行环境测试来完成每个子任务。验证智能体 对每一步的产出进行检查和验证。查看过程与结果 最终你会得到一个分步骤的、带有详细解释和代码示例的解决方案并且每一步都可能引用了你的知识库或网络来源。这个过程透明化地展示了AI的思考链极具教学价值。4.4 系统性探索引导学习Guided Learning与深度研究Deep Research对于想系统掌握一个领域这两个功能是利器。引导学习 适合已有明确学习材料如一本教科书、一套课程视频笔记。你可以创建一个“引导学习”会话主题为“掌握Transformer”并关联“深度学习论文”知识库。AI会分析你的材料自动生成一个包含3-5个关键知识点的学习路径例如1. 自注意力机制2. 多头注意力3. 位置编码4. 编码器-解码器结构5. 训练与优化。每个知识点会生成一个交互式页面包含图文解释和示例。你可以按照这个路径一步步学习并在每个页面旁进行针对性提问。深度研究 适合探索一个较新的、动态的领域。例如输入研究主题“Vision Transformer的最新进展”。AI会将其分解为多个子主题如“ViT的变体”、“在医学图像上的应用”、“轻量化ViT”然后并行派遣多个研究代理同时从你的知识库、学术论文库如通过Semantic Scholar和全网进行信息检索、分析和交叉验证最终生成一份结构完整、引用详实的研究报告。5. 高级玩法TutorBot与CLI的自动化力量当你熟悉了基础功能TutorBot和CLI能将你的学习自动化提升到一个新层次。5.1 创建并配置专属TutorBot假设你想创建一个专注于机器学习的导师。# 通过CLI创建Bot deeptutor bot create ml-tutor --persona 一位严谨且注重直觉的机器学习导师擅长用Python示例解释复杂概念喜欢提问引导思考。这条命令会在后台创建一个名为ml-tutor的Bot实例并赋予其特定的“灵魂”。你可以通过Web界面或CLI与它互动。更强大的是你可以编辑它的“灵魂”文件位于data/bots/ml-tutor/目录下精细调整其系统提示词、说话风格和约束条件。配置Heartbeat实现主动学习 在Bot的配置中你可以设置定时任务。例如编辑其配置文件添加一个每天晚8点的“复习提醒”心跳任务让它自动检查你当天的学习笔记来自笔记本并生成一个简短的测验或总结问题通过你连接的平台如Telegram推送给你。这实现了从“被动问答”到“主动教学”的转变。5.2 利用CLI实现工作流自动化CLI不仅是管理工具更是自动化管道的关键。其结构化JSON输出-f json可以让DeepTutor轻松被其他脚本或AI智能体调用。场景每日自动化文献摘要你订阅了ArXiv的ML每日更新希望DeepTutor自动阅读并摘要你感兴趣的论文。# 1. 将新论文PDF添加到知识库 deeptutor kb add my-papers --doc ~/Downloads/new_paper.pdf # 2. 触发一个深度研究任务生成摘要 deeptutor run deep_research Summarize the key contributions and methods of the latest papers in the knowledge base my-papers -f json summary_today.json # 3. 解析JSON输出提取摘要文本 # 可以使用jq工具或Python脚本 # 4. 将摘要通过TutorBot发送到你的Telegram # 需要编写一个简单的桥接脚本你可以将上述步骤写入一个Shell脚本或Python脚本结合cron定时任务就构建了一个全自动的文献跟踪与摘要系统。场景作为更大AI工作流的一部分将DeepTutor CLI封装成一个工具提供给另一个更上层的任务规划智能体比如基于nanobot构建的。这个规划智能体在完成一个复杂项目时可以自主决定“现在需要深入研究一下Transformer的变体”然后调用deeptutor run deep_research Transformer variants --kb my-kb并将返回的研究报告整合到自己的项目报告中。6. 常见问题与故障排除实录在实际部署和使用中你可能会遇到以下典型问题。这里记录了我的排查思路和解决方法。问题1上传PDF到知识库后检索结果不相关或质量差。可能原因PDF解析失败文本提取混乱尤其是扫描版PDF。文档切片Chunking策略不合适导致语义片段被割裂。嵌入模型不适合该领域文本例如用通用模型处理高度专业的数学公式。排查与解决检查原始文本 在DeepTutor的知识库管理界面尝试搜索一个你知道文档中肯定存在的独特短语。如果搜不到说明文本提取可能有问题。预处理文档 对于复杂PDF先使用pdftotext命令行工具或pypdf库提取文本手动清理格式后保存为纯文本或Markdown再上传。调整切片参数高级 DeepTutor可能使用默认的切片大小和重叠度。如果文档结构特殊如代码、诗歌可能需要修改底层RAG管道的切片逻辑。这需要查阅LlamaIndex的文档并可能涉及修改DeepTutor的源代码。尝试不同嵌入模型 对于中文或特定领域可以尝试BAAI/bge系列或text-embedding-3-small维度更低有时对短文本更友好。问题2Deep Solve或Deep Research过程卡住长时间无响应。可能原因LLM API响应超时或速率限制。某个子任务如网页搜索遇到网络问题。多智能体规划陷入循环或生成无效指令。排查与解决查看后端日志 这是最重要的信息源。日志会显示每个智能体的调用步骤和LLM的请求/响应。查看是否有明显的错误信息如429 Too Many Requests,Timeout。简化问题 尝试一个更小、更具体的问题看流程是否能正常走通。如果小问题可以说明原问题可能过于复杂导致规划步骤太多。检查网络与API密钥 确认你的API密钥额度充足且网络可以稳定访问对应的LLM服务。切换LLM模型 如果使用的是较小或能力较弱的模型如某些小参数本地模型它可能无法可靠地完成复杂的规划与协调。尝试切换到更强大的模型如GPT-4o。问题3Docker部署后无法上传文件或数据重启后丢失。可能原因 Docker容器内的数据是易失的如果没有配置持久化卷Volume容器停止后数据就会丢失。排查与解决检查docker-compose.yml 确保其中定义了将宿主机目录挂载到容器内数据路径的卷。标准做法 按照项目文档使用docker-compose.ghcr.yml或确保你的docker-compose.yml包含了类似以下的卷映射volumes: - ./data/user:/app/data/user - ./data/knowledge_bases:/app/data/knowledge_bases权限问题 在Linux/Mac上确保宿主机上的./data目录对Docker进程是可写的。有时需要调整目录权限chmod 755 data。问题4CLI命令执行报错提示“ModuleNotFoundError”或“Command not found”。可能原因未在正确的Python虚拟环境中。未安装CLI依赖包.[cli]。deeptutor命令未正确安装到PATH。排查与解决激活环境 确保你已经通过conda activate deeptutor或source .venv/bin/activate激活了虚拟环境。重新安装CLI 在项目根目录下运行pip install -e .[cli]。检查安装 运行which deeptutorLinux/Mac或where deeptutorWindows确认命令指向虚拟环境内的正确位置。DeepTutor代表了一种趋势AI应用正从单次、孤立的交互向具有记忆、身份和主动性的“数字实体”演进。它不再是一个工具而是一个可以共同成长的学习伙伴。从部署、配置到深度使用整个过程本身也是一次关于现代AI工程化应用的学习。我最深的体会是它的价值随着你投入的“数据”个人知识库和“时间”交互记忆而指数级增长。初期可能觉得它只是一个功能丰富的聊天界面但当你构建起专属的知识库训练出几个不同风格的TutorBot并开始依赖它进行系统性的研究和学习规划时你会发现自己获得了一个前所未有的、高度个性化的认知增强外脑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2553588.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…