自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 (六)构建多智能体旅行客服-如何切换智能体角色

本文探讨了多智能体旅行客服系统中的智能体切换问题。系统包含主助手和四个专业助手(租车、旅行、航班、酒店),通过共享对话上下文实现协作。切换方案主要解决三个问题:1) 使用dialog_state变量标记当前助手;2) 通过提示词引导助手在无法处理时调用CompleteOrEscalate工具转交主助手;3) 采用角色转换消息分隔不同助手的对话内容。该方法虽然能实现基本切换功能,但存在上下文膨胀和LLM决策错误的风险,未来需要通过上下文工程技术进一步优化。

2025-10-17 18:45:58 941

原创 RocketMQ如何使用Netty

RocketMQ的Netty网络连接服务端实现分析: 采用主从Reactor多线程模型,BossGroup使用单线程处理连接请求,WorkerGroup通过配置决定线程数(默认3) 根据操作系统自动选择事件循环组实现(Linux优先使用EpollEventLoopGroup提升性能) 网络参数配置合理: SO_BACKLOG设置等待队列 SO_REUSEADDR支持端口重用 TCP_NODELAY禁用Nagle算法 采用线程池处理业务请求,避免阻塞EventLoop线程 架构设计体现了关注点分离原则,不同职

2025-10-09 22:54:29 1049

原创 Dubbo如何使用Netty

Apache Dubbo是一款高性能RPC框架,支持多语言开发,提供完善的服务治理能力。其底层采用Netty实现网络通信,通过主从Reactor多线程模型优化性能:1)使用BossGroup单线程处理连接请求;2)WorkerGroup根据CPU核心数动态调整线程数;3)采用Epoll/NIO事件循环组提升性能;4)通过内存池和TCP参数优化降低GC开销;5)业务处理采用独立线程池避免阻塞事件循环。Dubbo的网络层设计体现了职责分离和资源合理分配的原则,默认配置即可满足高性能需求。

2025-10-08 09:40:39 1256

原创 (五)构建多智能体旅行客服-让多智能体跑起来

本文介绍了一个基于多智能体的旅行客服系统开发。系统通过多个专业智能体(航班、酒店、租车、游览)协作处理用户旅行需求,后端使用langgraph-py-agent实现,前端基于langgraph-chat项目。核心功能包括数据工具开发、智能体构建和交互流程设计,采用SQLite数据库存储旅行数据,通过LangChain框架实现智能体间的协作。系统运行步骤包括环境配置、数据初始化、智能体测试等环节,最终实现了机票查询/改签、酒店预订等旅行服务的自动化处理。项目展示了多智能体系统在旅行服务领域的应用潜力。

2025-09-30 23:14:39 1169

原创 (七)读写数据时如何找到对应连接

Socket连接通过TCP四元组(源/目标IP和端口)唯一标识。客户端与服务端各自维护SocketChannel数据结构,在操作系统内核中形成匹配的TCP连接表。连接建立时,客户端随机端口与服务端监听端口形成绑定关系;数据收发时,系统根据四元组查找对应Socket结构进行数据传输。整个过程类似快递系统:建立连接相当于记录通信地址,数据传输则如同包裹的封装、路由和拆解过程,通过协议栈分层处理实现可靠通信。

2025-09-29 23:05:48 1044

原创 (四)基于LangChain自定义Embedding模型

本文介绍了如何为LangGraph智能体自定义嵌入模型的方法。以智谱AI为例,分别展示了Python和JavaScript的实现方式:Python版本通过安装智谱SDK并实现LangChain的Embeddings接口;JavaScript版本则直接调用API实现。两种方式都需完成embed_documents和embed_query方法,前者处理文本列表,后者处理单个查询。这种自定义方式适用于连接社区未提供的嵌入模型或本地模型,为智能体开发提供了灵活性。

2025-09-27 22:58:35 931

原创 (三)初始化langgraph-py-agent项目

本文介绍了使用Poetry构建langgraph-py-agent项目的完整过程。主要内容包括:1)通过Poetry初始化项目、配置国内源和安装依赖;2)使用FastAPI搭建基础Web服务并简化启动命令;3)集成LangGraph环境,配置大模型API密钥并测试接口;4)对比分析Gunicorn和Uvicorn两种服务器的特性差异,给出异步框架的部署建议。该项目实现了LangGraph案例的后端服务,采用现代Python开发工具链,适合构建基于大模型的AI应用。

2025-09-25 12:30:25 1345

原创 (二)初始化langgraph-js-agent项目

本文介绍了如何使用Node.js和Koa框架搭建LangGraph官方代理服务的后端实现。主要内容包括:1) 初始化项目并配置TypeScript环境;2) 创建Koa服务框架;3) 集成LangGraph相关依赖,配置LLM模型接口;4) 设置环境变量和LangSmith监控;5) 实现基础API接口并测试模型调用。项目使用了Yarn包管理工具,支持开发热更新,并可通过LangSmith进行调用追踪。该实现为LangGraph官方案例提供了可运行的JavaScript服务端基础。

2025-09-24 19:52:11 631

原创 (一)初始化langgraph-chat项目

摘要:langgraph-chat是基于LangGraph官方案例实践的前端项目,使用React、AntDesignX和Vite等技术栈构建。项目初始化包括创建Vite工程、引入@ant-design/x组件库及相关依赖。核心功能实现了一个独立式对话框组件,包含会话管理、消息列表和输入框等功能模块,并集成了AI对话能力。该项目为后续LangGraph官方案例的前端实践提供了基础框架,支持快速构建AI驱动的交互界面。

2025-09-23 17:38:39 695

原创 (七)理解网络编程中的几种线程模型

本文对比分析了四种主流网络编程模型:Thread-Per-Connection(单线程单连接)、单Reactor单线程、单Reactor多线程和主从Reactor多线程,以及Proactor异步模式。Thread-Per-Connection在高并发场景下资源消耗过大;单Reactor单线程模型简单但无法利用多核;单Reactor多线程通过线程池处理业务逻辑;主从Reactor多线程性能最优,职责分离明确。Proactor模式通过操作系统内核接管I/O操作实现完全异步,但实现复杂且Linux支持有限。文章从

2025-09-19 17:31:23 1525

原创 (八)Tomcat中的网络架构(上)

本文介绍了Web容器的由来及Tomcat系统架构。随着用户需求从静态浏览转向动态交互,Sun公司推出Servlet技术,需依赖Servlet容器管理其生命周期。Tomcat作为经典Web容器,整合HTTP服务器与Servlet容器功能,形成"HTTP服务器+Servlet容器"一体化架构。Tomcat系统架构分为连接器(Connector)和容器(Container)两大核心组件:连接器处理网络连接,支持多种IO模型和协议;容器负责业务逻辑处理。这种架构设计体现了网络连接处理与业务逻辑分

2025-09-18 20:01:34 975

原创 (六)网络编程中的系统调用

本文介绍了系统调用的概念及其重要性。系统调用是应用程序请求操作系统内核服务的接口,具有安全性、硬件抽象和权限管理等功能。文章详细阐述了系统调用执行流程,包括参数准备、模式切换和内核处理等步骤。最后列举了网络编程中常用的系统调用,如socket、bind、connect等,并指出这些调用在Java网络编程中的底层应用。

2025-09-15 17:55:43 1141

原创 (五)理解网络编程中的几种IO模型

文章摘要:本文详细解析了数据从网卡到应用程序的IO处理流程,包括硬件层面的网卡接收、内核空间处理以及用户态应用读取三个主要阶段。重点比较了BIO、NIO和AIO三种IO模型的特点与实现差异:BIO采用同步阻塞方式,NIO通过非阻塞和IO多路复用提升性能,AIO则基于异步回调机制。文章还指出用户态与内核态频繁切换的系统开销问题,并介绍了Java堆外内存、Netty零拷贝等优化方案。最后强调好的架构是逐步演进出来的,需要持续的架构治理。

2025-09-14 22:28:18 1230

原创 (四)用户态与内核态

操作系统区分用户态和内核态,目的是保护系统安全与稳定。用户态运行普通程序,权限受限;内核态运行系统核心,拥有最高权限。这种隔离机制防止程序错误或恶意行为破坏系统。切换通过系统调用、中断和异常实现,如读文件时需从用户态切换到内核态。这种设计是现代操作系统的安全基石,确保多任务环境稳定运行,同时网络编程中的数据传输也依赖这种切换机制。

2025-09-10 23:25:04 1156

原创 (三)一切皆文件

Linux系统采用"一切皆文件"的设计理念,将设备、进程、网络等资源抽象为文件形式,通过文件描述符(FD)进行统一管理。标准输入/输出/错误分别对应FD 0/1/2,系统调用open/write/read/close通过VFS虚拟文件系统实现接口标准化。这种抽象工厂模式支持多种设备驱动,网络编程中socket也被视为文件,通过FD实现通信。代码示例展示了使用FD 1向标准输出写入数据。

2025-09-06 23:35:48 324

原创 (二)操作系统启动流程

计算机系统启动流程遵循固定架构约定,通过预置的BIOS程序从磁盘固定位置加载Bootloader,实现系统初始化。该过程体现了生命周期管理思想,采用start→init→load→bind→install的标准化流程,并在关键节点抛出事件支持扩展。良好的架构约定解决了程序定位和启动顺序问题,为系统可靠运行奠定了基础。

2025-09-05 17:13:13 156 1

原创 (一)为什么需要操作系统

操作系统通过分层架构解决了早期应用程序直接与硬件交互的复杂度问题。它将系统划分为用户态和内核态,实现安全隔离和职责划分:用户态运行应用程序,内核态管理硬件资源。这种分层设计既屏蔽了底层设备调用的复杂性,又避免了重复建设,同时满足不同层级在安全性、性能和功能需求上的差异。操作系统的出现本质上是"通过加一层"来解决系统复杂度问题的经典架构实践。

2025-09-05 12:35:11 207 1

基于LangGraph的多智能体客服

项目介绍:通过多智能体的方式帮助用户研究和安排旅行,如航班预订、酒店预订、租车和游览等。 技术介绍:基于LangGraph实现多智能体协同交互。 适合人群:智能体开发相关人员,LangGraph框架学习实现人员

2025-09-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除