文章目录

  • 说明
  • ADK内置前端
  • ADK内置前端开启流程

说明

  • 本文学自赋范社区公开课,仅供学习和交流使用,不用作任何商业用途!

ADK内置前端

  • ADK作为最新一代Agent开发框架,不仅功能特性非常领先,而且还内置了非常多的工具,包括Gemini系列模型自带的谷歌搜索、文件检索和代码解释器等功能,同时ADK还拥有内置对话前端,方便开发者更加直观的感受Agent的对话流程,并且实时追踪Agent的events流。
  • 如果Agent中存在外部工具调用,则在内置前端中,还能进一步观察到Agent调用外部工具完整流程,以及各环节调用信息,方便开发者即时debug。如果是使用Gemini模型,这个前端还支持语音和视频实时交互。
    在这里插入图片描述

ADK内置前端开启流程

  • 需要创建一个项目文件,如创建一个ADK_Chat文件夹。然后,创建基本文件结构。
  • 注意,如果是Windows系统,官方推荐手动创建项目文件基本结构,而不是采用IDE如Cursor等进行创建,以避免出现字符乱码情况。
ADK_Chat/
├── test_agent/
│   ├── agent.py
│   ├── __init__.py
│   ├── .env
├── __init__.py
└── ...
  • ADK_Chat目录下,创建虚拟环境,并安装adk和litellm库
uv venv
.venv\Scripts\activate
pip install litellm google-adk
  • test_gent/__init__.py文件中写入:
    from . import agent
    
  • 然后在.env中写入如下内容:
    OPENAI_API_BASE="https://dashscope.aliyuncs.com/compatible-mode/v1"
    OPENAI_API_KEY="sk-xxx"
    MODEL="deepseek/deepseek-r1-0528"
    
  • agent.py文件代码如下:
from google.adk.agents import Agent
from google.adk.models.lite_llm import LiteLlmimport os
from dotenv import load_dotenv
load_dotenv(override=True)DS_API_KEY = os.getenv("DS_API_KEY")
DS_BASE_URL = os.getenv("DS_BASE_URL")
MODEL=os.getenv("MODEL")
model = LiteLlm(model=MODEL,  api_base=DS_BASE_URL,api_key=DS_API_KEY
)root_agent = Agent(name="helpful_agent",model=model,instruction="你是一个乐于助人的中文助手。",description="回答用户的问题。"
)
  • 在根目录下输入,使用adk命令先进行Agent测试。
    (ADK_Chat) D:\Code\ADK_Chat>adk run test_agent
    

在这里插入图片描述

  • adk其实是伴随着安装包一起安装的调用测试命令。在使用adk命令时,无需单独设置主函数,只需要按照要求创建一个名为root_agent的主agent,即可顺利开启对话。同时当前项目结构中,.env文件用于保存一些关键变量信息,而__init__.py则负责将当前项目文件test_agent包装为一个可执行的Python文件。这也就是为何可以直接输入adk run test_agent的原因。
  • 在项目根目录下输入,在浏览器输入:http://127.0.0.1:8002/即可开启对话
adk web --port 8002

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 借助ADK run或者web等工具,则可以不进行任何额外其他设置,快速调用已经创建好的Agent并进行功能测试,期间关于会话ID、用户ID和APP ID等参数都会自动设置,且支持多轮对话并能打印详细的每个event信息,是非常高效的开发工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/95058.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/95058.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/95058.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLMs之GPT-5:OpenAI 发布更智能、更快速、更有用的 AI 模型—内置思考能力,赋能人人专家级智能—技术突破、性能评估与安全保障全面解读

LLMs之GPT-5:OpenAI 发布更智能、更快速、更有用的 AI 模型—内置思考能力,赋能人人专家级智能—技术突破、性能评估与安全保障全面解读 导读:2025年8月7日,OpenAI 发布了 GPT-5,这是他们目前最智能的 AI 系统。它在编…

Java 中操作 R 的全面指南

Java 中操作 R 的全面指南 引言 Java作为一种广泛使用的编程语言,具有跨平台、高性能、可扩展等特点。随着大数据和机器学习的兴起,Java在处理和分析复杂数据集方面发挥着越来越重要的作用。R语言,作为一种专门用于统计计算和图形展示的语言,同样在数据分析领域有着举足轻…

数据结构——优先级队列(PriorityQueue):一文解决 Top K 问题!

目录 1.优先级队列 2. 堆的概念 3. 堆的存储方式 4. 堆的创建 4.1 向下调整 4.2 堆的创建 4.3 堆的插入 4.4 堆的删除 5.用堆模拟实现优先级队列 6.常用接口的介绍 6.1 PriorityQueue 的特性 6.2 PriorityQueue 的方法 7. Top K问题 1.优先级队列 队列是一种先进先…

C语言自定义类型深度解析:联合体与枚举

在C语言中,自定义类型为数据组织提供了极大的灵活性。除了常用的结构体,联合体(共用体)和枚举也是非常重要的自定义类型。本文将结合实例,详细解析联合体和枚举的特性、用法及实际应用场景。 一、联合体(Un…

Numpy科学计算与数据分析:Numpy数据分析基础之统计函数应用

Numpy统计函数实战:数据的聚合与分析 学习目标 通过本课程的学习,学员将掌握Numpy中用于统计分析的关键函数,如求和(sum)、平均值(mean)、标准差(std)等,能够熟练地在实际数据集中应用这些函数进行数据的聚合与分析。 相关知识…

从引导加载程序到sysfs:Linux设备树的完整解析与驱动绑定机制

摘要本报告旨在为嵌入式Linux开发者详细梳理设备树(Device Tree, DT)在系统启动中的完整解析流程。报告将从引导加载程序(Bootloader)如何准备和传递设备树二进制文件(DTB)开始,逐步深入到内核如…

基于深度学习的污水新冠RNA测序数据分析系统

基于深度学习的污水新冠RNA测序数据分析系统 摘要 本文介绍了一个完整的基于深度学习技术的污水新冠RNA测序数据分析系统,该系统能够从未经处理的污水样本中识别新冠病毒变种、监测病毒动态变化并构建传播网络。我们详细阐述了数据处理流程、深度学习模型架构、训练…

宝塔面板配置Nacos集群

一、环境准备 准备三台及以上的服务器,我这里准备了3台服务器,172.31.5.123~125;分别安装好宝塔面板,软件商店里安装nacos;二、Nacos集群配置 配置数据库连接:​ 进入每台服务器上 Nacos 解压后…

Spring Boot 3.x 全新特性解析

Spring Boot 是企业级 Java 开发中最常用的框架之一。自 Spring Boot 3.x 发布以来,其引入的一系列重大变更与优化,为开发者提供了更现代、更高效的开发体验。本文将重点解析 Spring Boot 3.x 的关键特性及其对项目架构的影响。 一、基于 Jakarta EE 10 …

2025.8.10总结

今天晚上去跑了2公里,跑完还挺爽的,然后花了1.5个小时去公司刷题,没有进行限时练,花了一周的时间才做完这题,共找了20个bug,虽然没有进行限时练,但我仿佛对测试技术掌握得更好了,知道…

qt中实现QListWidget列表

使用最基本的QListWidgetItem来创建列表项,具体使用下面setText、setIcon、addItem这三个方法#include "mainwindow.h" #include "ui_mainwindow.h" #include "QDebug"enum CustomRoles {IdRole Qt::UserRole, // 存储IDPhoneR…

nginx-主配置文件

nginx-主配置文件一、主配置文件nginx.conf内容二、修改配置的文件后的操作三、配置虚拟主机的域名1. 修改nignx.conf配置文件2. 新建域名对应的网页根目录3. 重载nginx配置4. 验证一、主配置文件nginx.conf内容 [rootweb1 conf]# cat nginx.conf#user nobody; # nginx woke…

DBSACN算法的一些应用

以下是 DBSCAN 算法在 Python 中的几个典型应用示例,涵盖了基础使用、参数调优和可视化等方面:import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import DBSCAN from sklearn.datasets import make_moons, make_blobs from skl…

java9学习笔记-part1

G1 成为默认垃圾回收器在 Java 8 的时候,默认垃圾回收器是 Parallel Scavenge(新生代)Parallel Old(老年代)。到了 Java 9, CMS 垃圾回收器被废弃了,G1(Garbage-First Garbage Collector&#x…

【github.io静态网页 怎么使用 github.io 搭建一个简单的网页?】

这里是一张展示 GitHub Pages 静态网站架构与部署流程的示意图,可以帮助你更直观理解整个流程。 要使用 github.io(GitHub Pages)搭建一个简单的网页,你可以按照以下步骤操作: 快速入门:个人网站&#xff…

记录一次ubuntu20.04 解决gmock not found问题的过程

在电脑上源码编译moveit,系统是ubuntu20.04,有三个电脑,分别叫做A,B,C好了,A和C都可以很顺畅地走流程编译通过,但是B遇到了gmock not found的问题,一开始没当回事,感觉重装下库,或者…

Java基础编程核心案例:从逻辑到应用

Java编程的核心在于将逻辑思维转化为可执行的代码。本专栏通过8个实用案例,覆盖条件判断、循环结构、数组操作、用户交互等基础知识点,展示如何用Java解决实际问题,从简单游戏到数据计算,逐步构建编程思维。 案例一:剪…

Starlink卫星终端对星策略是终端自主执行的还是网管中心调度的?

以下文章首先来源于Google Gemini的Deep Research的内容,在Deep Research的报告参考了SpaceX公开信息、FCC技术报告、相关专利(如US9906292B2)以及学术研究的综合分析,并参考了RFWirelessWorld和APNIC博客等二次来源。 文章完成之后,前后发给了Grok和deepseek,让Grok和d…

【CDA案例】数据分析案例拆解:解锁数据分析全流程!

在当今数字化时代,数据如同一座座金矿,蕴含着巨大的价值。企业、组织乃至个人都渴望从海量的数据中挖掘出有用的信息,以指导决策、优化运营、提升竞争力。今天我们以一个实际的数据分析案例为蓝本,深入拆解其全过程,带…

vulnhub-drippingblues靶场攻略

1.打开靶场,我们将网络连接方式改为NAT模式2.然后使用nmap扫描一下nat的网段3.存在21,22,80端口我们先来看一下21端口的ftp协议,发现可以直接匿名登录,并且可以下载存在的东西4.但是这个压缩包被加密了,我们…