logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

开发日志13-【studyAgent】-操作数据库

我决定为 Agent 赋予真正的“行动能力(Action)”——让它在征得用户同意后,自动推算日期,将庞大的学习计划精准拆解,并写入数据库的 TodoList 中。:我之前的思维导图生成工具,严格限制了输出结构:一级节点(天数) -> 二级节点(核心章节) -> 三级节点(具体知识点),我们需要让用户“所见即所得”,也就是用户得到的思维导图是什么样,加入todolist的任务就是什么样。现在,它知

文章图片
#数据库#python#人工智能 +1
开发日志15-【studyAgent】-语音模态实现

考研复习本来就很费脑子,如果能直接语音输入而非打字,用户会有更好的体验感。因此我决定给研途 Buddy 装上接入语音输入功能。这篇博客将完整复盘我在这项工作中的架构思考、模型选型纠结,以及在前后端联调时踩过的坑。

文章图片
#阿里云#python#个人开发
开发日志12-【studyAgent】-有状态会话实现

持久化存储的时候把raw JSON绘图数据一并存入数据库,在前端的 switchSession 获取历史记录时,对每条message尝试提取JSON数据,将提取出来的 extractMindmap 挂载到当前这条消息的对象上,对mindmap赋值,mindmap被赋值后动态思维导图的div会监听到这个值,从而触发渲染。之后用户再次query:“你的这份学习规划每天强度有点大,帮我每天的任务减少一些

文章图片
#状态模式
开发日志14-【studyAgent】-文件传输

在开发我发现单纯的文本和语音交互已经无法满足考研党的需求了。面对复习大纲、知识点总结,如果能让 AI 直接“阅读”用户上传的文档,并结合系统内置的“学习计划规划”能力,可以进一步满足用户的需求。市面上的 Kimi、ChatGPT 都有很棒的文件解析能力。为了在我的项目中复刻这一体验,同时不破坏现有的 Tool Calling(工具调用)逻辑,我摸索出了一套解决方案。本文将复盘这一功能的完整实现过程

文章图片
#python#人工智能#个人开发
开发日志14-【studyAgent】-文件传输

在开发我发现单纯的文本和语音交互已经无法满足考研党的需求了。面对复习大纲、知识点总结,如果能让 AI 直接“阅读”用户上传的文档,并结合系统内置的“学习计划规划”能力,可以进一步满足用户的需求。市面上的 Kimi、ChatGPT 都有很棒的文件解析能力。为了在我的项目中复刻这一体验,同时不破坏现有的 Tool Calling(工具调用)逻辑,我摸索出了一套解决方案。本文将复盘这一功能的完整实现过程

文章图片
#python#人工智能#个人开发
开发日志8-学习模块【智能规划-迭代】

对于Agent的思维导图绘图TOOL,其实现不再依赖于ClipMind API调用,而是再调用一次大模型,这个模型和大脑LLMu不是同一个。工具中模型暂时使用qwen-max。定义一个maptool_service.py,在其中写一个generate_mindmap函数,该函数调用大模型并根据严格的prompt生成json结构化数据,将这份结构化数据解析后作为函数返回。

文章图片
#学习#python#自然语言处理
开发日志8-学习模块【智能规划-迭代】

对于Agent的思维导图绘图TOOL,其实现不再依赖于ClipMind API调用,而是再调用一次大模型,这个模型和大脑LLMu不是同一个。工具中模型暂时使用qwen-max。定义一个maptool_service.py,在其中写一个generate_mindmap函数,该函数调用大模型并根据严格的prompt生成json结构化数据,将这份结构化数据解析后作为函数返回。

文章图片
#学习#python#自然语言处理
开发日志6-RAG知识库构建step3-向量化

我们的用户群体是408备考生,需要匹配的是中文语义,所以不能用英文模型,这会造成对408 专业术语比如死锁、流水线、平衡二叉树、页式虚拟内存 理解极差。其次,模型的上下文长度要需要 ≥ Chunk 大小,我的切块是450字符,如果模型输入长度必须小于450字符,会造成切块塞不进去,直接截断,语义丢失。,存在大量问题:同义不同词搜不到,比如,原文:进程饥饿现象;可以看到回答的内容明显受到了知识点作为

文章图片
#机器学习#人工智能
开发日志5-RAG知识库构建step2-切块

在之前清洗数据的时候我有意识地让数据比较规整,按照二级标题##、三级标题###等等划分,并且在用视觉模型VLM生成文本替换图片的时候用图表分析开始和结束标签包裹了内容,所以在这里按照层级划分基本能够满足知识点完整性的要求,图标的起始结束标签也可以作为切块的一句,保证一张图的描述不会从中间断开。,也就是块和块之间字符重叠为0,这主要是因为数据清洗后结构比较规整,加上切块逻辑的完善,一个chunk基本

文章图片
#python#RAG
开发日志4-RAG知识库构建step1-爬取数据+清洗

它用OpenAI的Vision模型(比如LLaVA)自动生成图片描述,把图片内容变成“可检索的文本”,然后把所有文本块和图片描述都转成向量(embedding),统一放进向量数据库。之后用户在与模型的交互中,系统会将用户的搜索内容编码成向量,并查询向量数据库,比较查询向量和数据库向量之间的相似度,并返回最相似的几条数据。爬取的数据中除了纯文本知识外,还包括图片,对于图片在上一步爬取时我们是将其UR

文章图片
#python#个人开发
到底了