网站建设经费放哪个经济科目南京网站建设苏icp备

张小明 2026/1/3 3:21:54
网站建设经费放哪个经济科目,南京网站建设苏icp备,建站之星切换模板,南昌网站忧化Google的A2A智能体群聊 针对Google的A2A智能体群聊#xff0c;进行一个基础的Demo演示 1-核心知识点 1-开发一个最简单的A2A大模型demo示例2-熟悉A2A代码框架和基础使用 2-参考网址 A2A代码示例仓库#xff1a;https://gitee.com/enzoism/python_a2a_travel 3-动手实操 1-…Google的A2A智能体群聊针对Google的A2A智能体群聊进行一个基础的Demo演示1-核心知识点1-开发一个最简单的A2A大模型demo示例2-熟悉A2A代码框架和基础使用2-参考网址A2A代码示例仓库https://gitee.com/enzoism/python_a2a_travel3-动手实操1-UV环境搭建# 1-uv环境搭建uv python pin3.11.4 uv init python_a2acdpython_a2a uv venvsource.venv/bin/activate uvaddpython-dotenv pydantic# 2-uv安装requirements.txtuv python pin3.11.4 uv venvsource.venv/bin/activate uv pipinstall-r requirements.txt uvadd-r requirements.txt2-A2A项目3-启动A2Aadk web打印日志(python_a2a)(base)MacBook-Pro:python_a2a rong$ adk web INFO: Started server process[31551]INFO: Waitingforapplication startup. -----------------------------------------------------------------------------|ADK Web Server started||||Forlocaltesting, access at http://127.0.0.1:8000.|----------------------------------------------------------------------------- INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000(Press CTRLC to quit)4-访问网址拷贝控制台的地址http://127.0.0.1:80004-代码说明目录项目概述技术架构项目结构环境配置核心代码解析运行方式扩展开发项目概述本项目是一个基于 Google ADK (Agent Development Kit) 的Agent-to-Agent (A2A)通信框架示例。通过多代理协作模式实现了一个智能旅行规划系统展示了主代理如何与多个子代理协同工作以完成复杂任务。核心特性多代理协作主代理 (Coordinator) 与子代理 (Flight Agent、Hotel Agent) 协同工作自然语言处理通过 LLM 理解用户意图并提取结构化信息分布式任务执行不同代理专注于特定领域的任务处理统一状态管理自动管理会话状态和代理间通信应用场景用户输入 → 协调员代理 → [航班代理 酒店代理] → 综合结果技术架构架构分层┌─────────────────────────────────────────────────────────┐ │ 用户交互层 │ │ (自然语言输入/输出) │ └────────────────────┬────────────────────────────────────┘ │ ┌────────────────────▼────────────────────────────────────┐ │ 协调员代理 (Coordinator) │ │ • 信息收集与验证 │ │ • 任务分发与协调 │ │ • 结果聚合与呈现 │ └─────┬──────────────────────────┬────────────────────────┘ │ │ ┌─────▼────────┐ ┌──────▼─────────┐ │ 航班代理 │ │ 酒店代理 │ │ (Flight Agent)│ │ (Hotel Agent) │ │ │ │ │ │ • 航班查询 │ │ • 酒店查询 │ │ • 价格计算 │ │ • 房间推荐 │ │ • 时刻匹配 │ │ • 设施展示 │ └──────────────┘ └────────────────┘技术栈组件技术版本要求说明Agent 框架google-adk≥1.21.0Google Agent Development KitLLM 集成lite-llm-统一的 LLM 接口层数据验证pydantic≥2.12.5数据模型与验证环境管理python-dotenv≥1.2.1环境变量加载代码执行rawdog-ai≥0.1.6动态代码执行 (可选)Python-≥3.11.4运行环境项目结构目录树python_a2a/ ├── .env # 环境变量配置 (API密钥等) ├── .gitignore # Git忽略规则 ├── pyproject.toml # 项目元数据与依赖声明 ├── requirements.txt # 简化的依赖列表 ├── settings.py # 全局配置模块 ├── uv.lock # 依赖锁定文件 (UV包管理器) │ ├── travel_planner_agent/ # 主应用包 │ ├── agent.py # 【核心】主协调员代理定义 │ ├── subagents/ # 子代理模块 │ │ ├── flight_agent.py # 航班查询代理 │ │ └── hotel_agent.py # 酒店推荐代理 │ └── .adk/ │ └── session.db # 会话持久化存储 │ └── .venv/ # Python虚拟环境关键文件说明文件作用关键点agent.py定义协调员代理整合子代理导出root_agent作为入口subagents/flight_agent.py航班查询子代理导出flight_agent实例subagents/hotel_agent.py酒店推荐子代理导出hotel_agent实例settings.py全局配置环境变量管理统一加载.env.env敏感信息存储不提交到版本控制环境配置1. 安装依赖使用 UV (推荐快速)# 安装 UV (如果尚未安装)curl-LsSf https://astral.sh/uv/install.sh|sh# 同步依赖uvsync# 激活虚拟环境source.venv/bin/activate# Linux/Mac# 或.venv\Scripts\activate# Windows使用传统 pip# 创建虚拟环境python3.11 -m venv .venv# 激活虚拟环境source.venv/bin/activate# Linux/Mac# 安装依赖pipinstall-r requirements.txt2. 配置环境变量创建.env文件已包含在项目中# OpenAI 兼容 API 配置OPENAI_API_KEYyour_api_key_hereOPENAI_BASE_URLhttps://api.openai.com/v1OPENAI_MODELopenai/gpt-4# 或使用其他兼容服务 (例如 DeepSeek)OPENAI_API_KEYsk-xxxxxxxxxxxxOPENAI_BASE_URLhttps://api.deepseek.com/v1OPENAI_MODELopenai/deepseek-chat注意.env文件已在.gitignore中不会提交到代码仓库3. 验证安装# test_setup.pyfromgoogle.adk.agentsimportLlmAgentfromgoogle.adk.models.lite_llmimportLiteLlmfromsettingsimportOPENAI_MODELprint(f✓ ADK 已安装)print(f✓ 模型配置:{OPENAI_MODEL})# 测试模型连接modelLiteLlm(modelOPENAI_MODEL)print(✓ 环境配置完成)核心代码解析1. 配置管理 (settings.py)importosfrompathlibimportPathfromdotenvimportload_dotenv# 显式指定 .env 路径避免路径问题load_dotenv(Path(__file__).resolve().parent/.env)# 导出环境变量OPENAI_BASE_URLos.getenv(OPENAI_BASE_URL)OPENAI_API_KEYos.getenv(OPENAI_API_KEY)OPENAI_MODELos.getenv(OPENAI_MODEL)设计原则单一职责配置管理独立于业务逻辑路径安全使用Path对象确保跨平台兼容集中管理所有环境变量统一加载2. 子代理实现航班代理 (flight_agent.py)fromgoogle.adk.agentsimportLlmAgentfromgoogle.adk.models.lite_llmimportLiteLlmfromsettingsimportOPENAI_MODEL# 初始化模型openai_modelLiteLlm(modelOPENAI_MODEL)# 定义航班代理flight_agentLlmAgent(nameflight_agent,modelopenai_model,description根据出发地、目的地、旅行日期和预算提供建议的航班。,instruction 你是一个航班预订代理。协调员会给你以下信息 - 出发地 - 目的地 - 起始日期 - 结束日期 - 预算金额 - 预算货币 返回1-2个模拟航班选项包括 - 航空公司名称 - 出发和返回日期/时间 - 价格以指定货币表示 - 班级经济舱/商务舱 确保总价格在预算范围内。 )关键设计参数作用示例name代理的唯一标识flight_agentmodelLLM 模型实例LiteLlm(model...)description功能描述用于代理发现“提供建议的航班”instruction详细的行为指令Markdown格式的提示词酒店代理 (hotel_agent.py)fromgoogle.adk.agentsimportLlmAgentfromgoogle.adk.models.lite_llmimportLiteLlmfromsettingsimportOPENAI_MODEL openai_modelLiteLlm(modelOPENAI_MODEL)hotel_agentLlmAgent(namehotel_agent,modelopenai_model,description在给定的旅行日期内找到符合目的地和预算的酒店。,instruction 你是一个酒店预订代理。协调员会给你以下信息 - 目的地 - 起始日期 - 结束日期 - 预算金额 - 预算货币 返回1-2个模拟酒店建议包括 - 酒店名称 - 每晚价格和总成本以给定货币表示 - 主要设施 确保总价格符合预算。 )3. 主协调员代理 (agent.py)fromdatetimeimportdatetimefromdotenvimportload_dotenvfromgoogle.adk.agentsimportLlmAgentfromgoogle.adk.models.lite_llmimportLiteLlmfromsettingsimportOPENAI_MODELfromtravel_planner_agent.subagents.flight_agentimportflight_agentfromtravel_planner_agent.subagents.hotel_agentimporthotel_agent load_dotenv()openai_modelLiteLlm(modelOPENAI_MODEL)todaydatetime.today().date()# 协调员代理coordinator_agentLlmAgent(nameTravelCoordinator,modelopenai_model,description主要的协调员代理收集旅行偏好并查询子代理。,instructionf 你是一个旅行规划协调员。 你的任务是从用户那里收集旅行偏好并与子代理协调 提供航班、酒店建议和日程安排。 步骤1提取信息 - 出发地、目的地 - 起始日期、结束日期 (格式: YYYY-MM-DD) - 预算金额、预算货币 步骤2处理缺失信息 - 起始日期缺失建议使用{today}- 结束日期缺失根据天数计算 - 货币缺失默认为 USD 步骤3确认信息 向用户确认旅行偏好 步骤4调用子代理 - flight_agent 用于航班建议 - hotel_agent 用于酒店建议 步骤5呈现结果 - 旅行摘要 - 航班建议 - 酒店建议 - 总估算成本 - 一日行程计划示例 ,sub_agents[flight_agent,hotel_agent]# 关键子代理列表)# 导出根代理 (ADK 框架约定)root_agentcoordinator_agent核心机制sub_agents参数声明子代理列表框架自动处理代理间通信模板字符串使用f{today}动态插入当前日期导出约定必须导出root_agent变量作为入口点运行方式方式 1使用 ADK CLI (推荐)# 安装 ADK CLI (如果需要)pipinstallgoogle-adk# 启动交互式会话adk start travel_planner_agent# 或者指定配置文件adk start --config travel_planner_agent/.adk/config.json方式 2程序化调用# run_agent.pyimportasynciofromgoogle.adk.agentsimportLlmAgentfromtravel_planner_agent.agentimportroot_agentasyncdefmain():# 用户输入user_message 我想从北京到上海旅行从 2025-01-15 到 2025-01-20 预算是 5000 元人民币 # 调用代理responseawaitroot_agent.arun(user_message)# 输出结果print(response.content)if__name____main__:asyncio.run(main())方式 3作为服务运行# server.pyfromgoogle.adk.serverimportAgentServerfromtravel_planner_agent.agentimportroot_agent# 启动 FastAPI 服务器serverAgentServer(agentroot_agent)server.run(host0.0.0.0,port8000)然后通过 HTTP 调用curl-X POST http://localhost:8000/chat\-HContent-Type: application/json\-d{message: 帮我计划从纽约到洛杉矶的旅行}扩展开发添加新的子代理假设要添加一个租车代理1. 创建新文件travel_planner_agent/subagents/car_rental_agent.pyfromgoogle.adk.agentsimportLlmAgentfromgoogle.adk.models.lite_llmimportLiteLlmfromsettingsimportOPENAI_MODEL openai_modelLiteLlm(modelOPENAI_MODEL)car_rental_agentLlmAgent(namecar_rental_agent,modelopenai_model,description提供目的地租车服务建议,instruction 你是一个租车代理。你会收到 - 目的地 - 起始日期 - 结束日期 - 预算 返回 1-2 个租车选项包括 - 租车公司 - 车型 - 每日租金和总价 - 保险选项 )2. 修改agent.py集成新代理fromtravel_planner_agent.subagents.car_rental_agentimportcar_rental_agent coordinator_agentLlmAgent(# ... 其他参数不变 ...instruction ... 现有指令 ... 步骤4调用子代理 - flight_agent 用于航班建议 - hotel_agent 用于酒店建议 - car_rental_agent 用于租车建议 # 新增 步骤5呈现结果 ... 现有内容 ... - 租车建议 # 新增 ,sub_agents[flight_agent,hotel_agent,car_rental_agent]# 添加新代理)集成外部 API使用工具 (Tools)扩展代理能力fromgoogle.adk.toolsimporttooltooldefsearch_flights(origin:str,destination:str,date:str)-dict:调用真实航班 API# 示例使用 requests 调用外部 APIimportrequests responserequests.get(https://api.example.com/flights,params{origin:origin,destination:destination,date:date})returnresponse.json()# 将工具绑定到代理flight_agentLlmAgent(nameflight_agent,modelopenai_model,tools[search_flights],# 添加工具列表instruction...)数据持久化ADK 自动将会话状态存储在.adk/session.db(SQLite)。自定义持久化配置fromgoogle.adk.storageimportSQLiteStorage# 自定义存储路径storageSQLiteStorage(db_path/path/to/custom.db)coordinator_agentLlmAgent(nameTravelCoordinator,modelopenai_model,storagestorage,# 注入自定义存储# ...)最佳实践1. 提示词工程# ✅ 推荐结构化、清晰的指令instruction 你是航班代理。请按以下步骤操作 步骤1解析输入 - 提取出发地、目的地、日期 - 验证日期格式 (YYYY-MM-DD) 步骤2生成建议 - 返回 2-3 个选项 - 包含价格、时间、航空公司 步骤3验证预算 - 确保总价不超过预算 # ❌ 避免模糊、冗长的指令instruction你是一个很棒的航班代理请帮助用户找到最好的航班...2. 代理职责分离# ✅ 推荐单一职责flight_agentLlmAgent(nameflight_agent,...)hotel_agentLlmAgent(namehotel_agent,...)car_agentLlmAgent(namecar_agent,...)# ❌ 避免全能代理super_agentLlmAgent(namesuper_agent,...)# 处理所有任务3. 错误处理fromgoogle.adk.agentsimportLlmAgentfromgoogle.adk.exceptionsimportAgentErrortry:responseawaitroot_agent.arun(user_input)exceptAgentErrorase:print(f代理执行失败:{e})# 实现回退逻辑或用户通知依赖项详解核心依赖# pyproject.toml [project] name python-a2a version 0.1.0 requires-python 3.11.4 dependencies [ google-adk1.21.0, # Agent 框架核心 pydantic2.12.5, # 数据验证 python-dotenv1.2.1, # 环境变量 rawdog-ai0.1.6, # 代码执行能力 ]依赖关系图python-a2a ├── google-adk (Agent Development Kit) │ ├── llm-models (LiteLLM 集成) │ ├── storage (SQLite 持久化) │ └── communication (Agent 间消息传递) │ ├── pydantic (数据验证) │ ├── 类型检查 │ └── 序列化/反序列化 │ ├── python-dotenv │ └── .env 文件解析 │ └── rawdog-ai (可选) └── 动态代码执行沙箱常见问题Q1: 如何切换 LLM 提供商?修改.env文件# OpenAIOPENAI_MODELopenai/gpt-4# Anthropic ClaudeOPENAI_MODELanthropic/claude-3-sonnetOPENAI_BASE_URLhttps://api.anthropic.com# 本地模型 (Ollama)OPENAI_MODELollama/llama2OPENAI_BASE_URLhttp://localhost:11434Q2: 代理间如何传递数据?ADK 框架自动处理。在instruction中使用变量引用instruction 将以下信息传递给 flight_agent: - {origin} # 自动从上下文提取 - {destination} - {budget} Q3: 如何调试代理行为?启用详细日志importlogging logging.basicConfig(levellogging.DEBUG)loggerlogging.getLogger(google.adk)logger.setLevel(logging.DEBUG)进阶话题1. 流式响应asyncforchunkinroot_agent.astream(帮我规划旅行):print(chunk.content,end,flushTrue)2. 并行代理调用fromgoogle.adk.agentsimportParallelAgent# 并行组parallel_agentParallelAgent(nameparallel_search,sub_agents[flight_agent,hotel_agent],modeall# 同时调用所有子代理)3. 条件路由fromgoogle.adk.agentsimportConditionalAgent routerConditionalAgent(nametask_router,rules{flight:flight_agent,hotel:hotel_agent},defaultcoordinator_agent)资源链接Google ADK 文档: https://github.com/google/adkLiteLLM 文档: https://docs.litellm.ai/Pydantic 文档: https://docs.pydantic.dev/总结A2A 框架通过代理协作模式简化了复杂 AI 应用的开发优势说明模块化每个代理专注于单一任务可扩展轻松添加新的子代理可维护代码结构清晰职责分离生产就绪内置持久化、错误处理通过本指南你应该能够✅ 理解 A2A 架构设计✅ 创建自己的多代理系统✅ 集成外部 API 和工具✅ 部署到生产环境
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

新手seo网站做什么类型好wordpress 评论点赞

反射计数 华为OD机考 - 华为OD上机考试 200分题型 华为OD机考真题目录点击查看: 华为OD机考真题题库目录|机考题库 算法考点详解 题目描述 给定一个包含 0 和 1 的二维矩阵。 给定一个初始位置和速度,一个物体从给定的初始位置出发,在给…

张小明 2025/12/27 17:38:46 网站建设

智慧旅游网站建设wordpress双域名

系列文章目录 第一篇 AI 数据治理:LangChain4J 文本分类器在字段对标中的高级玩法 第二篇 LangChain4J + OpenTelemetry:AI 调用全链路可观测方案 第三篇 企业级 Neo4j GraphRAG:向量检索 + 图谱扩散怎么融合?Neo4j GraphRAG 给你答案 第四篇 多模型路由 + Resilience4j 熔…

张小明 2025/12/28 12:20:08 网站建设

上海嘉定建设局官方网站游戏推广是干什么的

深度解析Navicat密码解密:从技术原理到实战应用 【免费下载链接】navicat_password_decrypt 忘记navicat密码时,此工具可以帮您查看密码 项目地址: https://gitcode.com/gh_mirrors/na/navicat_password_decrypt 当您面对Navicat中保存的重要数据库密码却无法…

张小明 2025/12/28 10:58:12 网站建设

连锁加盟网络营销公司seo管理员

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

张小明 2025/12/29 7:12:06 网站建设

庆阳建设局网站最近手机中文字幕高清大全

原文:towardsdatascience.com/handling-hierarchies-in-dimensional-modeling-176156f20f61 对于层级,存在各种建模技术。它们在数据仓库的维度建模中哪一个表现最佳?以及如何使用它们来处理各种类型的层级?让我们来探究一下。 层…

张小明 2025/12/28 14:48:09 网站建设

网站营销学多久陕西中洋建设工程有限公司网站

WebGLStudio.js作为一款功能强大的开源3D图形编辑器,为用户提供了丰富的界面定制功能。无论你是3D设计新手还是资深开发者,都可以通过本指南快速掌握界面个性化配置的核心技巧,打造专属的高效工作环境。 【免费下载链接】webglstudio.js A fu…

张小明 2025/12/28 17:08:34 网站建设