Log setup complete: /tmp/agents_log/agent.20260330_102040.log
To access latest log: tail -F /tmp/agents_log/agent.latest.log
/home/xbill/.pyenv/versions/3.13.12/lib/python3.13/site-packages/google/adk/cli/utils/agent_loader.py:277: UserWarning: [EXPERIMENTAL] _load_from_yaml_config: This feature is experimental and may change or be removed in future versions without notice. It may introduce breaking changes at any time.
if root_agent := self._load_from_yaml_config(actual_agent_name, agents_dir):
/home/xbill/.pyenv/versions/3.13.12/lib/python3.13/site-packages/google/adk/features/_feature_decorator.py:81: UserWarning: [EXPERIMENTAL] feature FeatureName.AGENT_CONFIG is enabled.
check_feature_enabled()
/home/xbill/.pyenv/versions/3.13.12/lib/python3.13/site-packages/google/adk/cli/cli.py:204: UserWarning: [EXPERIMENTAL] InMemoryCredentialService: This feature is experimental and may change or be removed in future versions without notice. It may introduce breaking changes at any time.
credential_service = InMemoryCredentialService()
/home/xbill/.pyenv/versions/3.13.12/lib/python3.13/site-packages/google/adk/auth/credential_service/in_memory_credential_service.py:33: UserWarning: [EXPERIMENTAL] BaseCredentialService: This feature is experimental and may change or be removed in future versions without notice. It may introduce breaking changes at any time.
super(). __init__ ()
Running agent Agent1, type exit to exit.
[user]: what is the weather in Weehawken NJ?
[Agent1]: The weather in Weehawken, NJ is currently mostly cloudy with a temperature of 58°F (14°C), feeling like 56°F (13°C). There is an 8% chance of rain, and the humidity is around 56%.
For today, Monday, March 30, 2026, the forecast for Weehawken includes mostly cloudy skies during the day with a high of 64°F, and occasional showers late at night with a low of 58°F. There is a 50% chance of rain tonight. Winds will be from the southwest at 10 to 15 mph, with gusts up to 30 mph.
Running the ADK Web Interface
First- start the ADK interface:
xbill@penguin:~/gemini-cli-azure/adkui-appservice$adk web --host 0.0.0.0
2026年03月30日 10:21:46,051 - INFO - service_factory.py:266 - Using in-memory memory service
2026年03月30日 10:21:46,051 - INFO - local_storage.py:84 - Using per-agent session storage rooted at /home/xbill/gemini-cli-azure/adkui-appservice
2026年03月30日 10:21:46,051 - INFO - local_storage.py:110 - Using file artifact service at /home/xbill/gemini-cli-azure/adkui-appservice/.adk/artifacts
/home/xbill/.pyenv/versions/3.13.12/lib/python3.13/site-packages/google/adk/cli/fast_api.py:192: UserWarning: [EXPERIMENTAL] InMemoryCredentialService: This feature is experimental and may change or be removed in future versions without notice. It may introduce breaking changes at any time.
credential_service = InMemoryCredentialService()
/home/xbill/.pyenv/versions/3.13.12/lib/python3.13/site-packages/google/adk/auth/credential_service/in_memory_credential_service.py:33: UserWarning: [EXPERIMENTAL] BaseCredentialService: This feature is experimental and may change or be removed in future versions without notice. It may introduce breaking changes at any time.
super(). __init__ ()
INFO: Started server process [11701]
INFO: Waiting for application startup.
+-----------------------------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://0.0.0.0:8000. |
+-----------------------------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
Connecting to the ADK
The ADK web interface is started with the place holder 0.0.0.0 address — which tells the service to listen on all interfaces. Depending on your local environment setup- you may need to use the actual local interface. There are 2 potential options:
http://0.0.0.0:8000
http://127.0.0.1:8000
This will bring up the ADK UI:
Run a Sub Agent
Connect to the ADK and select "Agent2":
The first interaction just verifies the connection to the agent:
what do you do?
I am Agent2, the primary agent for high-quality image generation. I coordinate prompt refinement and image synthesis via specialized sub-agents. Essentially, I help users create high-quality images based on their ideas by delegating the task to my sub-agent, 'sub_agent_2', which refines the prompt and then generates the image.
Give the Agent this prompt:
Create an image of a cat.
The sub agent will then generate the cat image:
Visual Build an Agent
To use the ADK visual builder- select the pencil Icon next to Agent 2. You can drill down into the Agent design:
What did I just do?
The initial steps validate that the Python code and the ADK environment is functional and that the Agent code will run correctly. The next step is to deploy this environment to the Azure App Service.
Deploying to Azure App Service
To start the deployment:
xbill@penguin:~/gemini-cli-azure/adkui-appservice$make deploy
Building the Docker image...
docker build -t adk-image .
You can validate the final result by checking the messages:
Deploying to Azure App Service...
Updating Web App adk-app-penguin with image adkacrpenguinv2.azurecr.io/adk-image:latest...
Deployment complete. Visit: http://adk-app-penguin.azurewebsites.net
xbill@penguin:~/gemini-cli-azure/adkui-appservice$
You can then get the endpoint:
xbill@penguin:~/gemini-cli-azure/adkui-appservice$make endpoint
--- Azure Endpoint ---
adk-app-penguin.azurewebsites.net
xbill@penguin:~/gemini-cli-azure/adkui-appservice$make status
Checking Azure App Service status for adk-app-penguin...
Name State Host
--------------- ------- ---------------------------------
adk-app-penguin Running adk-app-penguin.azurewebsites.net
The service will be visible in the Azure console:
Running the ADK Web Interface
Start a connection to the Azure Deployed ADK:
http://adk-app-penguin.azurewebsites.net
This will bring up the ADK UI.
Select the sub-agent "Agent1":
Run a Second Sub Agent
Connect to the ADK and select "Agent2". Give the Agent this prompt:
Bit the Raccoon is a popular, unofficial community mascot for Microsoft Azure, specifically representing the Cloud Advocate team and open-source initiatives. Created by Ashley McNamara, Bit is often depicted in tech-related, helpful scenarios to make complex cloud concepts more accessible and approachable to developers. X X +2 Role: Known as the "Developer Advocate Mascot," Bit is often used in presentations and content to represent the "open" aspect of Azure. Context: While Azure has an official anime-style mascot in Japan (Claudia Madobe), Bit is beloved within the broader developer community as a fun, tech-savvy character. Appearance: Bit is usually styled as an adorable, helpful raccoon, sometimes accompanied by other community mascots like "Brady the Ninja Sloth." GitHub GitHub Bit is a favorite for stickers and frequently appears on social media to highlight new Azure features. create an image of bit
The sub agent will then generate the Bit image:
Log: Conceptualizing Bit the Raccoon's friendly, tech-savvy essence for a digital illustration.
Detailed Analysis:
Style & Medium: Modern digital illustration, characterized by clean lines, vibrant colors, and a slightly stylized, Pixar-esque rendering of the character. The aesthetic should be inviting and approachable, suitable for a beloved mascot, with an emphasis on soft textures and intelligent expressiveness.
Camera & Lighting: A medium close-up shot, capturing Bit from the chest up, at a slightly low angle to convey a sense of helpful presence. The lighting will be soft, warm, and volumetric, with a gentle key light illuminating Bit's face and chest, emphasizing the texture of the fur and the sparkle in the eyes. A subtle, cool-toned rim light will separate Bit from the background, creating depth. The overall lighting should evoke a sense of clarity and friendly illumination.
Subject & Composition: Bit the Raccoon is the central figure, positioned slightly off-center for dynamic balance, looking directly at the viewer with an intelligent, engaging, and friendly expression. Bit's paws are held up in a welcoming gesture, as if presenting or explaining something. The fur is rendered with meticulous detail, showing its softness and distinct raccoon markings. In the background, subtly blurred to maintain focus on Bit, are elements of a futuristic, clean server room or a glowing holographic interface, using a palette of blues, purples, and subtle teals to hint at the Azure cloud environment without distracting. The composition should convey competence, accessibility, and a warm, inviting atmosphere.
The Final Optimized Prompt: A captivating digital illustration of Bit the Raccoon, rendered in a modern, stylized aesthetic reminiscent of Pixar character art. Bit, a friendly and intelligent raccoon, stands in a medium close-up shot, looking directly at the viewer with an inviting, helpful expression. Its soft, detailed fur displays classic raccoon markings, and its small, expressive paws are gently held up in a welcoming, explanatory gesture. The scene is bathed in soft, warm volumetric lighting, with a subtle rim light defining Bit against a subtly blurred background. The backdrop features futuristic, clean server racks with soft blue and purple glows, hinting at a sophisticated cloud environment, creating a sense of clarity and approachable technology. The overall mood is one of friendly expertise and innovation.Visual Build an Agent
The Image will be generated:
Say Hello to Bit!
Summary
The Agent Development Kit was used to visually define a basic agent and added the Google Search Tool. This Agent was tested locally with the CLI and then with the ADK web tool. Then, the Agent was packaged and deployed to the Azure App Service. Several sample ADK agents were run directly from the App Service deployment in Azure. This approach validates that cross cloud tools can be used — even with more complex agents.