用途:帮助智能体引导用户用 Looker Conversational Analytics(CA)API 与 Google Agent Development Kit(ADK)搭建流式、数据驱动的代理应用。主要能力:流式返回实时响应;编排多步工作流,把数据获取与分析、可视化或外部工具调用串联;用 run_when 谓词实现条件逻辑,仅在满足数据条件时执行子代理;通过 ADK 的 session.state 在代理间共享数据。使用方式:前置条件包括已启用 CA API 并配置 IAM 角色的 Looker 实例、安装 Google ADK(pip install google-adk)、启用 Vertex AI 与 Gemini Data Analytics API 的 GCP 项目,以及环境变量 LOOKERSDK_BASE_URL、LOOKERSDK_CLIENT_ID、LOOKERSDK_CLIENT_SECRET、GCP_PROJECT_ID、GCP_LOCATION。核心模式是以 ConversationalAnalyticsQueryAgent 桥接 CA API 与 ADK 流式接口,用 DataChatServiceClient 构建 ChatRequest(parent 为 projects/{PROJECT_ID}/locations/{LOCATION}),从流中提取文本并推送到 ADK 输出,数据结果存入 session.state;RootAgent 以确定性 CA-First 流程为先执行 CA 查询代理,再按 run_when 谓词顺序执行可选子代理。流式过程中需做实时清洗,如将内联字节转换为 Markdown 图片 URI、去除多余代码块或格式。最佳实践:保证可选子代理失败时 RootAgent 仍继续;run_when 逻辑保持简单并聚焦状态键;测试用 inline_context,多轮有状态对话用 ConversationReference;标准化 session.state 数据结构以便子代理复用。限制与排错:中间代理或网关需支持长连接 HTTP/2 流,否则流式中断;run_when 键须与主代理设置完全一致,否则状态不匹配;服务账号需同时具备 roles/geminidataanalytics.user 与 Looker access_data 权限,否则报权限错误。费用与价格暂未提供。
ca-adk-streaming
编程与开发
更新于 10-16 00:01