seo网站托管ps网站logo制作教程

张小明 2026/1/10 18:20:05
seo网站托管,ps网站logo制作教程,如何利用建站平台服务客户,wordpress 载入特别慢在上篇[《多智能体协作案例实践#xff08;一#xff09;#xff1a;基于AgentScope框架》]文章中#xff0c;Chaiys同学围绕高考信息查询智能助手业务场景#xff0c;采用AgentScope框架进行多智能体协作的验证。 本文基于同样的业务场景和案例#xff0c;采用LangGrap…在上篇[《多智能体协作案例实践一基于AgentScope框架》]文章中Chaiys同学围绕高考信息查询智能助手业务场景采用AgentScope框架进行多智能体协作的验证。本文基于同样的业务场景和案例采用LangGraph框架进行对比实践和验证以便更深入地理解。 多智能体协作实现逻辑首先回顾一下业务场景和上篇文章保持一致还是支撑用户进行高考信息查询并且要支持多轮对话后续会基于以下案例来进行验证第一轮提问2016年考生人数有多少第二轮追问年份2018年呢第三轮追问其他录取人数呢针对该业务场景四个智能体之间的协作逻辑和AgentScope案例也完全保持一致1用户输入问题2TemplateAgent判断是否有上下文历史如果没有则转4有则进一步匹配历史问题模板如未匹配到则转3如匹配到则基于模板SQL从用户当前问题中提取查询参数植入模板SQL执行后带查询结果转53有上下文历史但没有匹配的历史问题则进入意图识别改写RewriteAgent利用上下文对话背景对用户当前问题做改写然后进入SQLAgentRAG检索元数据、生成SQL、查询数据最后进入AnalysisAgent分析回答4无上下文历史代表用户是首次提问则直接进入SQLAgentRAG检索元数据、生成SQL、查询数据最后进入AnalysisAgent分析回答5根据查询结果直接进入AnalysisAgent分析回答这个协作逻辑基于 LangGraph框架的自定义状态图StataGraph实现# # 路由函数# def route_to_next_agent(state: State) - Literal[sql, analysis, rewrite, __end__]: if state.get(next_agent) sql: return sql if state.get(next_agent) analysis: return analysis if state.get(next_agent) rewrite: return rewrite return __end__ workflow StateGraph(State)workflow.add_node(template, template_agent)workflow.add_node(rewrite, rewrite_agent) # 新增改写智能体workflow.add_node(sql, sql_agent)workflow.add_node(analysis, analysis_agent)workflow.add_edge(START, template)# Template 之后根据条件流向workflow.add_conditional_edges( template, route_to_next_agent, { rewrite: rewrite, # 新增 rewrite 分支 sql: sql, analysis: analysis, __end__: END })# 改写智能体完成后交给 SQLworkflow.add_edge(rewrite, sql)# SQL 执行后流向分析workflow.add_edge(sql, analysis)workflow.add_edge(analysis, END)# # ▶️ 主流程# if __name__ __main__: from uuid import uuid4 print( 智能数据助手支持追问、多轮上下文) print( *80) print( 输入问题开始对话输入 exit 退出。) print( *80) # 每次启动生成唯一 thread_id上下文记忆关键 thread_id str(uuid4()) config {configurable: {thread_id: thread_id}} while True: user_input input(\n 你: ).strip() if not user_input: continue if user_input.lower() in {exit, quit}: print( 再见会话已结束。) break # 构造输入 input_data { messages: [HumanMessage(contentuser_input)], } try: # 流式执行 for chunk in app.stream(input_data, configconfig): if analysis in chunk: msg chunk[analysis][messages][0] print(f 助手: {msg.content.strip()}) print(- *60) elif sql in chunk and messages in chunk[sql]: # SQL 生成失败的情况 for m in chunk[sql][messages]: if isinstance(m, AIMessage): print(f 助手: {m.content.strip()}) print(- *60) elif __end__ in chunk: print(✅ 对话结束) except json.JSONDecodeError: print(⚠️ JSON 解析失败可能是 LLM 返回了非结构化内容。) except KeyboardInterrupt: print(\n⏹️ 中断。输入 exit 可退出。) except Exception as e: print(f 出错{e})如以上代码所示通过“workflow.add_node”方式添加四个Node节点template、rewrite、sql、analysis分别代表四个智能体。通过“workflow.add_edge”方式添加对应节点之间的跳转关系其中“workflow.add_conditional_edges”是添加条件边通过调用route_to_next_agent()路由函数根据智能体返回的next_agent字段决定流转到哪一个节点。多轮对话之上下文记忆和状态机LangGraph上下文记忆的相关机制主要通过官方提供的 MemorySaver() 实现# 启用记忆支持多轮对话memory MemorySaver()app workflow.compile(checkpointermemory)MemorySaver会将每一个节点执行后的 State 存储到检查点checkpoint中使得下一次调用可以从之前的对话状态继续执行。其特点是原样存 储state状态机不裁剪、不删减、不合并历史真正关键的是你在 State 状态机中设计的业务逻辑。使用“ StateGraph(State)”方式在状态图StateGraph初始化时就将自定义State状态机对象注入并绑定# # 增强状态定义# class State(TypedDict): messages: Annotated[list[BaseMessage], add_messages] original_intent: Optional[str] # 如 考生人数 known_table_struct: Optional[List] # 已确认的表结构 last_sql_template: Optional[str] # 带占位符的 SQL 模板如 SELECT ... WHERE year {year} query_result: Optional[list] # 最近一次查询结果 next_agent: str每轮对话都会在全局统一状态机中保存以下信息key含义messages历史消息列表original_intent用户的核心意图如“考生人数”known_table_struct已识别的数据表结构last_sql_template参数化 SQL 模板便于复用query_result查询结果next_agent下一步路由方向其中当我们使用 Annotated[list[BaseMessage], add_messages] 来定义 State 中的 messages 字段时新的消息会自动被追加到现有的消息列表之后这是 LangGraph 为管理对话历史等序列化数据提供的一种便捷且强大的状态更新机制。LangGraph所有智能体Agent都要遵循统一规范将Stata对象作为输入输出对象如以下“模板匹配智能体”templateAgent的代码所示# # 模板匹配 智能体支持追问模板复用# def template_agent(state: State): print( Template Agent ) current_query state[messages][-1].content # ─────────────────────────────────────── # 情况1无上下文 → SQL Agent # ─────────────────────────────────────── if (not state.get(known_table_struct) or not state.get(original_intent) or not state.get(last_sql_template)): print(⚠️ 不存在上下文进入SQL Agent流程) return { messages: state[messages], next_agent: sql } # ─────────────────────────────────────── # 情况2已有上下文 → 尝试参数化追问处理 # ─────────────────────────────────────── print( 检测到历史上下文尝试参数化追问) try: # 具体业务代码跳过 plaintext print(f✅ 追问查询成功进入分析流程) return { query_result: result, next_agent: analysis } plaintext except Exception as e: print(f参数提取失败: {e}) print(⚠️ 追问处理失败进入改写流程) return { messages: state[messages], next_agent: rewrite }案例测试结果我们测试一下LangGraph实现多智能体协作的效果 智能数据助手支持追问、多轮上下文 输入问题开始对话输入 exit 退出。 你: 2016年考生人数有多少 Template Agent ⚠️ 不存在上下文进入SQL Agent流程 Sql Agent 启动完整查询流程调用大模型llama2向量化2016年考生人数有多少 匹配表结构: [{表名: college_entrance_examination, 表备注: 考生人数与复读人数信息表包含字段高考年份(主键)、考生人数(万人)、复读人数(万人), 字段列表: [{字段名: examination_year, 字段类型: int, 字段备注: 高考年份}, {字段名: candidates_count, 字段类型: decimal(10,2), 字段备注: 考生人数(万人)}, {字段名: retake_count, 字段类型: decimal(10,2), 字段备注: 复读人数(万人)}]}] 原始意图: 2016年考生人数有多少 保存 SQL 模板: SELECT candidates_count AS 考生人数 FROM college_entrance_examination WHERE examination_year {year}; Analysis Agent 助手: **2016年高考考生人数分析报告** **事实陈述** 2016年高考考生人数为 **940.00万人**数据来源考生人数与复读人数信息表。**简要洞察** 当前数据仅包含单一时间点的记录暂无法直接推导趋势变化。若需分析考生人数增减规律建议结合相邻年份数据如2015年及2017年进行对比。**备注** 数据单位为“万人”数值保留两位小数统计口径可能包含应届生与复读生。如需进一步解读可补充复读人数或分省数据辅助分析。--- 报告基于提供的数据生成内容简洁客观避免过度推测。------------------------------------------------------------ 你: 2018年呢 Template Agent 检测到历史上下文尝试参数化追问 提取参数: {year: 2018}️ 生成新 SQL: SELECT candidates_count AS 考生人数 FROM college_entrance_examination WHERE examination_year 2018;✅ 追问查询成功返回 1 行 Analysis Agent 助手: **2016年高考考生人数分析报告** **事实陈述** 2016年高考考生人数为 **975.0万人**数据来源考生人数与复读人数信息表。**简要洞察** 1. 当前数据仅包含单一时间点的记录暂无法分析趋势变化。若需观察考生人数增减趋势建议补充相邻年份数据如2015年及2017年数据。 2. 表中还包含“复读人数”字段若需进一步分析复读对考生总数的影响可提供对应数据后补充说明。**备注** 数据单位为“万人”实际考生人数为9,750,000人。如需更深入的统计分析如增长率、区域对比等请提供扩展数据集。--- **报告说明**本报告基于提供的数据直接呈现核心结论避免对单一数据点进行推测性解读。------------------------------------------------------------ 你: 录取人数呢 Template Agent 检测到历史上下文尝试参数化追问 提取参数: {}⚠️ 年份参数提取失败进入改写流程 Rewrite Agent ✍️ 改写后问题: 2018年全国高考录取人数是多少 Sql Agent 启动完整查询流程调用大模型llama2向量化2018年全国高考录取人数是多少 匹配表结构: [{表名: college_entrance_admission, 表备注: 录取人数与普通高校数信息表包含字段录取年份(主键)、录取人数(万人)、招生高校数、本科录取人数(万人)、专科录取人数(万人), 字段列表: [{字段名: admission_year, 字段类型: int, 字段备注: 录取年份}, {字段名: admission_count, 字段类型: decimal(10,2), 字段备注: 录取人数(万人)}, {字段名: university_count, 字段类型: int, 字段备注: 招生高校数}, {字段名: undergraduate_admission_count, 字段类型: decimal(10,2), 字段备注: 本科录取人数(万人)}, {字段名: specialty_admission_count, 字段类型: decimal(10,2), 字段备注: 专科录取人数(万人)}]}] 原始意图: 2018年全国高考录取人数是多少 保存 SQL 模板: SELECT admission_count AS 考生人数 FROM college_entrance_admission WHERE admission_year {year}; Analysis Agent 助手: **2018年全国高考录取人数分析报告** **事实陈述** 根据数据表 college_entrance_admission 记录**2018年全国高考录取人数为 790.99 万人**。**简要洞察** 1. **数据背景**该数据反映当年普通高校含本科及专科录取总规模但未提供与考生人数、录取率的对比信息。 2. **趋势参考**若结合近年数据需补充可进一步分析录取人数变化趋势当前单一数据点建议谨慎用于预测。 3. **结构细化**表中包含本科与专科分层数据字段未在本次结果中体现后续可针对学历层次结构进行深入分析。**注意事项** - 当前数据为单一数值分析需避免过度推论。 - 如需评估录取竞争程度需补充同年高考报名人数或招生计划数据。--- **报告说明**本分析基于提供的数据表结构及查询结果确保表述与原始数据一致。------------------------------------------------------------ 你:第一轮问题2016年考生人数有多少第一轮没有上下文也没有全局变量模板所以直接走SQL Agent Analysis AgentRAG检索、生成SQL、查数、分析。同时SQL Agent生成成功后记录SQL模板到全局state。第二轮问题2018年呢第二轮我们追问2018年这时存在全局变量模板所以走模板匹配提取年份参数直接查数然后通过业务判断存在数据走Analysis Agent分析。第三轮问题录取人数呢第三轮我们追问录取人数但是匹配不到模板所以上层业务判断走Rewrite Agent SQL Agent Analysis Agent改写问题完善条件。改写时参考Memory中上下文2016和2018年回答改写为2018年全国高考录取人数是多少然后走RAG检索、生成SQL、查数、分析。LangGraph实现小结本文使用LangGraph的Custom图模式实现我们的多智能体协作处理业务通过StataGraph状态图来管理Node节点对应智能体Agentedge边对应执行路径通过Checkpoint Memory实现长时记忆管理上下文和结构化参数消息、SQL 模板、表结构、查询结果等所有agent都要遵循一定规范将状态机作为输入和输出。相对来说上一篇文章中介绍AgentScope框架更松散其多Agent协作机制是通过自定义控制逻辑管道pipeline来串联通过框架提供的memory只能管理多轮对话的上下文多智能体多轮次之间的参数传递需要通过自定义全局变量来实现。附录LangGraph几种典型协作模式LangGraph 是基于LangChain生态构建它强调「状态图StateGraph」和「可追溯记忆Checkpoint Memory」它提出了几种Multi-Agent模式适用于不同的调用逻辑和控制流需求网络Network模式各Agent节点彼此多对多通信每个Agent有权限决定接下来调用哪个其他Agent。适用于“没有固定顺序”“较灵活的调用关系”的场景。代码示例中Agent agent_1、agent_2、agent_3 均可跳转至其他两个或结束。主管Supervisor模式一个“主管Agent”负责决定下一步调用哪个子Agent。子Agent执行后再回到主管。适用于“中央调度控制”“明确谁来决定流程”的场景。示例supervisor 决定调用 agent_1 或 agent_2。主管Supervisor as Tools 工具调用模式是“主管”模式的一个特例子Agent被暴露为“工具”tool主管Agent像工具调用系统一样决定调用哪个工具子Agent。典型流程主管以 ReAct 思考→行动→思考方式循环调用工具直到决策结束。提供了 create_react_agent 等预置组件。分层Hierarchical模式当Agent数量增多、流程更复杂时用“主管的主管”来管理团队子系统形成层级结构。每个团队内有自己的主管子Agent再由顶层主管决定调用哪个团队。适合更大规模、跨领域、多团队协作的系统。自定义Custom Workflow模式对应本文案例你也可以手动定义Agent节点及其顺序显式控制流或部分由 LLM 决定动态控制流。显式控制流在图中预先定义边 agent_1 → agent_2 → agent_3。适合需要「强控制流」「复杂状态管理」「上下文复用」的场景。源码参考参与协作的四个智能体以及具体协作控制逻辑代码详见https://github.com/MuKunZiAI/college_entrance_ai/blob/main/langchain_code/agent_service_graph.py。本文总结本文针对高考信息智能查询的业务场景采用LangGraph框架验证多智能体协作机制通过状态图StataGraph来管理节点条件边组成协作执行路径通过Checkpoint Memory来管理多轮对话上下文和跨智能体结构化参数传递最后分享了LangGraph官网的几种典型协作模式。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

厦门网站建设方案策划制作书签怎么做

第一章:Open-AutoGLM模型在安卓系统上的运行Open-AutoGLM 是一种轻量化的大语言模型,专为边缘设备优化设计,能够在资源受限的安卓设备上实现本地推理。通过模型量化与算子融合技术,该模型可在不依赖云端服务的前提下完成自然语言理…

张小明 2026/1/8 5:20:34 网站建设

靓号注册网站免费网站建设文字内容

在企业数字化转型深入推进的当下,订货系统作为供应链协同的核心枢纽,其稳定性、安全性与适配性直接影响业务运转。一、传统SaaS订货系统在实际应用中逐渐暴露出诸多问题1. 数据安全风险高:核心业务数据存储于第三方服务器,归属权不…

张小明 2026/1/7 5:03:26 网站建设

和县网站定制在北京注册公司在哪个网站上

Langchain-Chatchat问答系统冷启动阶段优化建议 在企业智能化转型的浪潮中,越来越多组织开始尝试构建基于大语言模型(LLM)的私有知识问答系统。然而,当团队满怀期待地部署完一套开源方案,比如热门的 Langchain-Chatcha…

张小明 2026/1/7 5:03:24 网站建设

做淘宝客的的网站有什么要求上海招聘网 58同城

Windows平台Btrfs驱动完全配置手册:从入门到精通 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 还在为Windows系统无法直接访问Btrfs文件系统而困扰吗?WinBtrf…

张小明 2026/1/10 7:16:44 网站建设

h5彩票网站怎么做旅游电子商务平台有哪些

目录一、Session 管理基础1.1 Session 是什么1.2 Session 工作原理1.3 Session 的作用二、分布式 Session 管理的挑战2.1 Session 一致性问题2.2 高可用与持久化2.3 性能与访问延迟2.4 安全问题三、Session 管理常见实现方案3.1 Session 复制3.2 Session 绑定(Stick…

张小明 2026/1/7 7:06:10 网站建设