- 博客(85)
- 收藏
- 关注
原创 langgraph快速入门 —— 从本地脚本到 HTTP 服务
本文总结从本地脚本到HTTP服务的部署实践,通过test8.py与test21项目展示如何启用LangSmith追踪、优化密钥管理、确保图常驻运行,并借助langgraph.json与checkpointer实现状态持久化。重点解决连接关闭、状态覆盖、中断失效等五大坑点,最终以SQLite/MySQL为后端,通过langgraphdev启动HTTP服务,实现可调用、可追踪、可回溯的Agent系统。系列收官强调:流程图是骨架,状态与检查点让其“活”起来,从散点脚本到完整项目才是掌握核心。
2026-11-02 14:19:44
88
原创 LangGraph快速入门 —— 多个 Agent 怎么分工
第四篇探讨多Agent协作的分工机制,提出从简单轮询到Supervisor调度的演进。通过test14.py引入结构化路由,实现意图识别与任务分配;test15.py加入长期记忆插件,分离状态管理;test19.py采用子图封装复杂逻辑,实现模块隔离与独立测试;test7.py则用Send支持动态并发任务。四者各适场景:轮询简但难扩展,Supervisor易维护,子图保内聚,Send促并行。强调分工清晰、职责分离,避免图结构混乱。下一篇将对接LangSmith并部署为HTTP服务。
2026-11-02 14:18:00
67
原创 LangGraph快速入门 —— 让图记住,也让它停下来
本文介绍如何通过可落盘的Checkpointer实现图状态持久化与动态中断,支持快照存储、历史回溯(timetravel)及人工干预。结合SQLite、MySQL等后端,实现多会话隔离与状态管理。通过interrupt和compile(interrupt_before),可在节点间暂停并等待用户决策,适用于审批流程。示例展示从生成到人工审核再到结果保存的完整流程,强调Checkpointer是实现记忆、调试与交互的核心基础。
2026-10-31 11:07:07
157
原创 LangGraph快速入门 —— Agent 是怎么转起来的
本文详解Agent的运行机制:通过ReAct循环实现模型自主决策与工具调用,利用条件边控制流程,结合ToolNode并行执行工具、异常自动回传,辅以递归限制、重试策略、结构化输出和流式传输等工程护栏。配合MemorySaver实现多轮对话记忆,完整演示了从状态图到可交互Agent的构建过程,为下一讲持久化与中断恢复奠定基础。
2026-10-31 11:02:14
241
原创 LangGraph快速入门 —— 一张状态图是怎么跑起来的
本文介绍了LangGraph状态图的构建与运行原理,通过五个实践脚本逐步解析其核心机制:状态定义、节点函数、边连接(含条件边)、编译与流式执行。重点强调节点仅返回增量更新,依赖Annotated和reducer(如add_messages、operator.add)实现并行合并;stream_mode="updates"可追踪中间状态,便于调试。示例展示订单审核流程,涵盖自动路由、复核循环与结果汇总。掌握骨架后,后续将扩展至Agent决策、记忆管理与分布式协作。
2026-10-31 10:56:00
174
原创 我用原生 JS 做了一个「会呼吸」的博客:Canvas 水境 + 合成音效 + 会破裂的留言气泡(vibe coding)
本文分享了一个纯原生JS打造的沉浸式水境博客,无框架、无构建、零素材。通过Canvas实时绘制水波、游鱼与气泡,用WebAudio合成7种音效,实现留言变气泡浮上海面并破裂的交互体验。全屏翻页联动场景变化,配合渐进动画与本地存储留言,营造出“潜水”般的空间感。部署时避坑用户站点与项目站点命名冲突,代码简洁可复用。项目仅三个文件,却以极致克制展现浏览器底层能力,打造独特记忆点。
2026-10-19 23:23:01
368
1
原创 MCP \
MCP(模型上下文协议)旨在统一AI应用与外部工具、数据源的连接方式。通过Host(如Claude Code)、MCPClient与MCPServer架构,实现能力发现、调用与上下文交互。Client与Server通过握手建立连接,支持Tools、Resources、Prompts三类能力。相比OpenAI FunctionCalling仅定义输出格式,MCP提供端到端协议,涵盖调用细节。故障时采用超时处理与隔离设计,单个Server宕机不影响其他连接,保障系统稳定性。
2026-10-19 23:06:35
210
原创 Agent上下文窗口
大模型上下文窗口受限,导致长任务中信息丢失与推理成本升高。核心问题在于系统提示、对话历史、工具调用结果等累积过量。解决路径包括:分层记忆(外部存储关键信息)、记忆压缩(模型摘要早期对话)、动态加载工具(按需引入)、精简描述与分阶段调用;工具结果采用事前控制、结构化截断、多级压缩及分页加载,并结合事后摘要。通过监控上下文使用,优先压缩早期内容,关键信息置尾,提升注意力效率,实现高效长程Agent运行。
2026-10-19 23:05:31
173
原创 agent工具
AIAgent工具调用通过提示词定义工具功能与参数,使大模型自主决定调用时机与参数,由应用层解析JSON并执行工具,再将结果反馈给模型继续推理。实现方式包括原生FunctionCalling(稳定)、提示词注入(易错)和MCP协议(统一标准,支持并行调用)。为防误调或危险操作,可设安全网关进行校验与用户确认。针对参数格式错误,可通过容错解析与重试机制解决;数据过量时,宜用摘要模型压缩信息。RAG本质是特殊工具调用,大模型可自主触发知识检索。
2026-10-19 23:04:30
128
原创 agentloop
所以一般在提示词里会有让大模型自己判断循环次数:简单任务给少一点循环次数,复杂的给多一点,看看执行进展来决定要不要继续。AgentLoop(智能体循环)是AiAgent的核心机制,是思考->行动->观察的循环,直到任务完成或出发终止条件。Open ai 的tool calling 可以做到,Agent可以一块 调用工具然后把所有结果一起放进上下文里。设置太小复杂任务做不完,设置太大如果Agent陷入了错误的循环,会浪费token。如果Agent在自我循环中一直做错误决策怎么办?AgentLoop的并发。
2026-09-16 23:26:18
171
原创 agent
AI Agent 与 LLM API 及 Workflow 核心区别在于:Agent 具备循环执行、记忆能力与工具调用功能,可自主感知环境、规划决策、执行任务并持续优化。其核心组件包括感知(信息输入)、决策(大脑)、执行(调用工具)与记忆(短期上下文与长期存储)。相比一次性响应的 LLM API 与固定流程的 Workflow,Agent 能动态适应任务变化,实现自主闭环,真正具备智能体特性。
2026-09-16 23:24:58
71
原创 我做了个「图片转拼豆图纸」开源工具 BeadPixel(Node.js + Canvas 实战)
BeadPixel是一款开源的图片转拼豆图纸工具,专为解决手工爱好者配色和排版难题而设计。它支持将任意图片自动转换为精确网格图纸,使用Perler/Artkal/Hama真实色板匹配颜色,避免理论色无法购买的困扰。工具提供PNG(带编号)、PDF(可打印)和CSV三种导出格式,支持画笔微调和操作回退功能。技术层面采用Node.js+Canvas实现,核心算法包含Lab色彩空间匹配和抖动优化,并解决了PDF中文乱码等实际问题。项目已开源(MIT协议),本地即可运行,适合拼豆爱好者和开发者二次开发。
2026-08-21 13:28:22
380
原创 Node.js 项目发布到 NPM
本文介绍了如何将Node.js项目发布到NPM的完整流程。主要内容包括:1)准备Node.js环境和NPM官方账号;2)规范项目结构,配置.npmignore和package.json关键字段;3)CLI命令项目的特殊配置;4)发布前的本地测试流程;5)两种登录方式(交互式/AuthToken)及发布步骤。特别强调了版本号管理、文件过滤、shebang格式等易错点,并提供了发布后的验证方法。文章以"piano-agent-ai"项目为例,展示了从配置到发布的完整操作链路。
2026-08-07 18:25:25
300
原创 PianoAgent:开源 AI 钢琴作曲 Agent,用自然语言谱写钢琴曲
【摘要】PianoAgent是一款开源AI钢琴作曲Agent,通过自然语言描述生成专业钢琴曲。与传统AI音乐项目不同,它采用差异化设计:LLM仅负责乐曲构思和结构规划,专业音乐引擎处理音符生成和乐理校验,有效解决音符错乱等常见问题。项目提供Web界面和CLI工具两种使用方式,内置RAG乐理知识库,支持流式响应和草稿保存。技术栈涵盖Node.js、Vue3和大语言模型,具有开箱即用的特点,适合开发者学习Agent技术或普通用户体验AI作曲。未来计划拓展多乐器支持和优化生成质量。
2026-08-07 18:18:37
538
原创 MiMo-V2.5-Pro-UltraSpeed实测
【实测MiMo-V2.5-Pro-UltraSpeed代码生成能力】该AI在三个前端开发测试中表现惊艳:1)10秒生成SaaS官网单页(现代风格HTML/CSS/JS);2)20秒输出深色科技风AI运营大屏(含动态图表/KPI动画/60分钟明细浮层);3)快速创建Three.js体素游戏(支持WASD移动和方块编辑)。实测生成速度峰值达1600+/分钟,代码一次成型且布局合理,仅高频请求时需重试。初步验证其可实现"10秒建站,20秒做小游戏"的高效开发能力。(注:本次仅测试前端场景)
2026-07-06 16:41:40
375
原创 hermes agent 本地部署
在大模型应用逐渐从“对话工具”走向“自主执行系统”的背景下,AI Agent 正在成为新的开发范式。相比传统只负责生成文本的模型调用方式,Agent 更像是一个具备“思考、决策与执行能力”的智能体。Hermes Agent 正是在这一趋势下诞生的开源框架。它不仅提供了对大模型的统一封装,更重要的是,构建了一套完整的 Agent 运行机制,使 AI 能够从“被动响应”转向“主动完成任务”。Hermes Agent 的几个核心特点,使其在众多 Agent 框架中具备较强的实用性:首先是。
2026-05-18 09:18:53
434
原创 我的开源项目-SoulAgent 具有人格进化能力的 AI 角色扮演系统
SoulAgent是一款具有人格进化能力的AI角色扮演系统,支持导入微信/QQ聊天记录自动生成AI分身。核心功能包括:1)人格模拟系统,可分析聊天记录生成人格画像并持续进化;2)智能对话系统,具备流式回复、记忆召回和自动摘要功能;3)关系建模系统,量化亲密度和信任度;4)随机事件系统,按性格生成生活事件;5)多角色独立管理。系统采用JDK17+、Node.js18+等技术栈,支持Docker部署向量数据库,提供完整的前后端解决方案。开源地址:YoyuDev/SoulAgent。
2026-05-18 09:15:39
822
原创 PyWxDump导出微信聊天记录
本文介绍了使用PyWxDump工具导出微信聊天记录的方法。首先需安装PyWxDump并初始化微信信息获取key和存储路径,然后执行解密命令将数据库文件导出。最后通过Python脚本将聊天记录按联系人分类导出为txt文件。文章强调该技术仅限学习交流,禁止非法用途,并提醒操作前备份原始数据以防丢失。整个过程支持多账户信息获取,适用于微信3.9.5版本。
2026-05-16 10:47:38
402
原创 NapCat导出qq聊天记录
摘要:本文介绍了使用开源工具NapCat导出QQ聊天记录的技术方法,仅供学习交流用途。操作步骤包括:1.下载最新版NapCat压缩包;2.运行launcher-user.bat启动程序;3.通过手机QQ扫码登录获取token;4.在UI界面选择用户导出聊天记录。作者特别强调该技术不得用于非法用途。全文提供了详细的操作指引,但省略了部分具体参数设置内容。
2026-05-16 10:45:18
893
原创 langchain4j+mysql+历史记录
本文介绍了在LangChain4j中实现聊天历史记录存储的方案。系统采用MySQL作为持久化存储,与Redis实现的短期记忆形成互补架构。关键技术点包括:1. 使用MyBatis-Plus实现数据访问层;2. 设计ChatHistory实体类记录会话ID、用户角色和消息内容;3. 通过分页查询接口支持历史消息浏览。实现过程中,将消息存储逻辑嵌入到SSE响应流处理中,确保用户提问和AI回复都能实时入库。该方案既满足了聊天记录的长期保存需求,又保持了对话系统的实时响应特性,为构建完整的AI聊天系统提供了可靠的数
2026-04-17 10:24:39
127
原创 langchain4j+redis+持久化存储记忆
本文介绍了如何利用Redis持久化存储解决Langchain4j默认内存存储导致的记忆丢失问题。通过配置Redis的RDB+AOF机制,实现了高效稳定的记忆存储方案。文章详细说明了Java17环境下的依赖配置(包括langchain4j、redis等),提供了Redis连接配置和ChatMemoryStore的实现代码。核心部分展示了如何将ChatMessage转换为DTO进行Redis存储,并通过RedisChatMemoryStore类实现消息的增删改查。最后,在AiCodeHelperServiceF
2026-04-17 10:21:40
73
原创 langchain4j+可观测性+第三方集成Arize Phoenix
本文介绍了如何通过Arize Phoenix为LangChain4j应用添加可观测性。主要内容包括:1) LLM应用可观测性的重要性,涉及Prompt追踪、RAG分析等关键指标;2) 开源工具Arize Phoenix的功能优势,支持本地部署和可视化分析;3) 具体实现方案,通过OpenTelemetry导出数据到Phoenix平台。文章提供了完整的依赖配置和初始化代码示例,帮助开发者监控对话流程、评估检索质量,解决大模型应用中的调试难题。
2026-04-14 09:07:10
703
原创 langchain4j+rag+qdrant空向量报错解决
打开qdrant UI点击相关collection 查看是否有空向量。在终端打印相关变量查看是否为空。在用户发消息(向量检索时)可能会报错。b.数据文档插入向量数据库有空向量。a.用户发送的消息为空。
2026-04-14 09:05:42
86
原创 langchain4j+rag+qdrant
本文介绍了基于LangChain4j、RAG架构和Qdrant向量数据库的AI应用开发方案。该方案通过检索增强生成(RAG)机制,有效解决了大模型在私有数据访问和幻觉问题上的局限性。文章详细说明了技术组件的作用:LangChain4j作为开发框架负责模型调用和流程管理,Qdrant用于存储和检索向量数据。实战部分提供了完整的Java配置示例,包括Qdrant的Docker部署、向量数据初始化流程和API接口实现。该方案通过将文档转换为向量存储,实现了基于语义的智能问答功能,显著提升了AI应用的准确性和可控性
2026-04-13 11:28:03
732
原创 如何让本地的敏感配置文件不上传到git仓库
摘要:为防止敏感配置文件上传到Git仓库,可在.gitignore文件中添加application-local.yml来忽略本地配置文件。创建application-local.yml存放敏感信息,并在application.yml中设置spring.profiles.active:local以启用本地配置。完成后,IDEA中链接到仓库的项目文件会显示为黄色。
2026-04-13 11:23:50
107
原创 Clawdbot/moltbot安装与实践
摘要:Clawdbot(现更名为moltbot)是一个本地优先、插件化的AI智能体框架,通过命令行运行,可连接大模型和工具实现自动化操作。安装需Node.js环境,使用npm安装(npm install -g moltbot@latest),通过moltbot onboard初始化配置。启动网关服务(moltbot gateway --port 18789 --verbose)后,可在浏览器访问本地端口进行交互。该框架支持跨平台使用,保持原有功能的同时进行了名称更新。(150字)
2026-01-29 01:14:20
504
原创 opencode+skill
OpenCode是一个AI驱动的命令行工具,将AI能力与工程化开发结合,能直接在代码环境中执行任务。不同于聊天式AI,它可以生成/修改代码、读写文件、执行命令,并完成完整开发任务。其核心概念是"Skill" - 可复用、可预测的AI能力模块,包含明确输入输出和执行流程。安装后可通过命令操作,支持集成各类Skills(如文档处理),并能加载到项目或全局。还支持与IDE(如IDEA)集成,通过在终端启动即可使用。该工具将AI能力深度整合到开发流程中,实现自动化编程辅助。
2026-01-26 20:25:01
2764
原创 uniapp快速入门
UniApp是一款基于Vue.js的跨平台开发框架,支持一次编写代码生成iOS、Android、H5及小程序等多端应用。其项目结构包含pages(页面)、static(静态资源)、components(组件)等核心目录,采用Vue语法开发页面。通过pages.json配置路由,无需vue-router,并提供了uni.navigateTo等原生API实现页面跳转。特色功能包括条件编译(针对不同平台显示不同内容)、easycom组件自动引入机制、App-Plus原生模块配置等。开发工具推荐使用HBuilder
2026-01-02 17:06:01
976
原创 Vue + springboot实现拼图人机验证
摘要:本文介绍基于Vue+SpringBoot的拼图人机验证实现方案。系统采用双图块防脚本机制,后端随机生成真假两个抠图位置但只保留真实位置信息于Redis中。前端记录用户拖动轨迹并提交后端校验,通过位置偏差(≤5px)和轨迹特征(60%前移+30%回拉)双重验证。技术实现包含:1)后端使用Hutool工具生成验证码图片;2)Redis存储验证信息;3)前端通过鼠标/触摸事件采集拖动数据。该方案在常规位置验证基础上增加行为分析,有效提升防自动化攻击能力。(149字)
2026-01-02 16:56:27
440
原创 Docker部署微服务
本文介绍了使用Docker部署微服务的完整流程。首先解决Windows环境下Docker安装时常见的虚拟化报错问题,需开启Hyper-V或WSL2支持。然后详细说明如何通过Dockerfile构建微服务镜像,包括镜像源配置、打包导出和服务器部署。重点讲解了docker-compose.yml文件的编写要点,涵盖服务定义、端口映射、环境变量等关键配置。最后总结了部署过程中遇到的典型问题:环境地址解析(需使用容器名而非localhost)、容器网络隔离问题(需确保服务在同一网络)以及端口映射注意事项。文章提供了
2025-12-10 12:15:01
890
原创 我的第一个微服务项目cy-fang1.0
Cy-fang1.0是一个基于微服务架构的动漫网站项目,主要实现了动漫资源获取、播放、弹幕评论、用户行为分析等功能。项目采用SpringCloud+Vue3技术栈,包含10个微服务模块,涵盖用户服务、资源管理、评论弹幕、AI审核等工作流程。特色功能包括:AES+RSA数据加密、QQ邮箱验证码登录、成长型资源获取策略、AI工作流审核、Spark离线计算等。项目部署采用Docker容器化,并实现了响应式前端设计。虽然存在部分未完成功能,但该项目作为微服务学习实践,涵盖了服务注册、负载均衡、熔断降级等核心知识点,
2025-12-10 12:13:12
892
原创 spark3版本和java17版本不兼容导致的报错解决方法
摘要:Spark 3与Java 17不兼容会导致"java.lang.IllegalAccessError"错误,原因是Java 17的模块系统限制了Spark对sun.nio.ch等内部API的访问。解决方法是在VM options中添加--add-opens参数,开放java.base模块中的多个内部包(如java.lang、java.nio、sun.nio.ch等)给未命名模块访问。具体操作路径为:Edit Configuration → Modify options → Add
2025-12-01 23:14:35
600
原创 Linux单机部署spark
本文介绍了在Linux系统上单机部署Spark的步骤:首先确保已安装Java17环境,然后从官网或镜像站下载Spark安装包并上传至服务器解压。接着通过修改/etc/profile文件配置环境变量,添加SPARK_HOME和PATH路径。最后执行source命令刷新环境变量,并通过运行spark-shell命令验证安装是否成功。该部署流程适用于Spark 3.5.7版本,帮助用户快速搭建本地Spark开发环境。
2025-12-01 23:13:16
335
1
原创 idea上传git报错git@ssh.github.com: Permission denied (publickey). fatal: Could not read from remote 。。。
摘要:作者在Idea上使用Git上传代码时遇到SSH密钥认证失败的错误"Permission denied (publickey)"。解决方法是配置SSH密钥,可通过修改用户目录下的.ssh/config文件,添加GitHub主机配置,指定密钥文件路径。此外,也可以选择不使用SSH而采用其他认证方式上传代码。该问题是由于SSH公钥认证未正确设置导致的连接权限问题。
2025-11-15 11:37:42
227
原创 spring boot获取Ip地址
本文介绍了使用ip2region离线库查询IP地址地理位置的方法。首先通过Maven引入ip2region依赖,下载ip2region_v4.xdb离线数据库并放置在项目resources目录下。然后创建IpUtil工具类,初始化时加载xdb文件到内存中,提供getCityInfo方法根据IP查询地理位置(格式:国家|省份|城市|运营商)。最后通过测试类验证,输入IP"175.167.139.221"即可返回对应的地理位置信息。该方法相比第三方API更轻量且无需网络请求。
2025-11-15 11:29:57
361
原创 Springboot+BannerBanner(启动横幅)
摘要:Spring Boot允许自定义启动横幅(Banner)替换默认信息。可通过ASCII艺术生成网站(如devops.datenkollektiv.de、patorjk.com)创建文本,保存到src/main/resources/banner.txt文件中。横幅支持变量引用,如在application.properties设置application.title和version后,在banner.txt中使用${变量名}引用。还能显示Spring Boot版本(${spring-boot.version
2025-11-03 22:30:14
739
原创 抖音上的用python实现激励弹窗
摘要:这个Python程序实现了一个美观的激励弹窗功能,使用tkinter和pygame库创建。主要特点包括:随机播放背景音乐;窗口以心形排列渐入显示;提供多种配色方案和激励语;支持淡入淡出动画效果。程序运行时会在屏幕随机位置弹出激励弹窗,最多显示8个窗口,按空格键可退出。使用方法简单,只需将音频文件与源码放同一目录后运行即可。
2025-11-03 22:28:38
3434
原创 邮件登录之自定义邮件
本文介绍了如何实现自定义邮件验证码功能。首先添加Thymeleaf模板引擎依赖,然后改造MailUtil工具类,使用模板引擎处理邮件内容并添加logo资源。控制器改造包括生成验证码、设置Redis缓存防刷机制和邮件发送逻辑。最后创建mail.html模板文件,通过Thymeleaf绑定验证码变量,并以cid方式引用嵌入的图片资源。需要注意邮箱对HTML样式的兼容性问题,建议采用响应式布局确保显示效果。该实现使验证码邮件具有自定义样式,提升用户体验。
2025-11-02 19:55:35
302
原创 实现qq邮箱发送验证码登录
摘要:本文介绍了使用QQ邮箱发送验证码实现登录功能的完整流程。首先需要获取QQ邮箱授权码并配置Spring Boot邮件服务。核心实现包括:1)使用MailUtil工具类发送邮件;2)通过Redis存储验证码并实现60秒发送间隔限制;3)创建用户服务自动注册新用户。文章还展示了API测试方法,并提到可扩展为自定义邮件样式。整个过程涉及控制器、服务层、Redis缓存和邮件发送的完整集成方案。
2025-11-02 19:51:25
1164
原创 Vue3快速入门
《Vue3快速入门指南》摘要:本文系统介绍了Vue3框架的核心知识与开发实践。主要内容包括:Vue3的响应式特性与组件化优势;使用Vite/Vue CLI创建项目的两种方式;项目结构分析与核心概念(组件、路由、状态管理);Options API与Composition API的对比使用;响应式数据(ref/reactive)的详细用法;组件通信的多种实现方案;完整的生命周期钩子解析;Vue Router的路由配置与传参技巧;以及Pinia状态管理库的应用。教程通过丰富的代码示例演示了双向绑定、组件传参等核心
2025-10-20 13:05:40
1219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅