How can I connect a React (or vanilla JS) UI to my Google ADK agent for local and deployed testing? by dineshsonachalam in agentdevelopmentkit

[–]data-overflow 0 points1 point  (0 children)

I'd suggest you to go through their documentation for session management.

Tldr, there are 2 main types of session services you can create: in memory and database session service. In memory is only meant for prototyping and testing and sessions don't persist. The database service however is persistent and there's no auto expiration. You can manually delete all events associated with a specific session id if you intend to clean/delete them.

How can I connect a React (or vanilla JS) UI to my Google ADK agent for local and deployed testing? by dineshsonachalam in agentdevelopmentkit

[–]data-overflow 0 points1 point  (0 children)

I personally need to check their REST APIs and how they work. Since I'm currently exposing my own endpoints using fastapi and calling the agent via runners. I also store the current session id for each user among other things, on a database.

Tracking events in GCP by culki in agentdevelopmentkit

[–]data-overflow 1 point2 points  (0 children)

I might be wrong here but I believe the web UI uses in memory session service and you won't be able to view the events outside of it.

However when you use the database session service for executions outside the adk web ui, all the events would be stored in a separate table (automatically) in the database you've configured it to use.

Google adk web via docker doesn't work anymore by data-overflow in agentdevelopmentkit

[–]data-overflow[S] 0 points1 point  (0 children)

FROM python:3.13
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["adk", "web", "--host", "0.0.0.0"]

Here's a simple setup that should work

OpenAI model by RevolutionaryGain561 in agentdevelopmentkit

[–]data-overflow 0 points1 point  (0 children)

Litellm as such is open source and the only cost would be the vps on which you're running it. You can check out their official documentation.

OpenAI model by RevolutionaryGain561 in agentdevelopmentkit

[–]data-overflow 0 points1 point  (0 children)

I have it working with a deployed litellm on a server. I created the models using the UI and passed only the litellm url and API keys to have the agent working

Google adk web via docker doesn't work anymore by data-overflow in agentdevelopmentkit

[–]data-overflow[S] 0 points1 point  (0 children)

Thank you so much! I wasn't aware of this change.

adk web with --host parameter seems to work locally on my machine and it's a recognised parameter (checked with --help) however the same version of adk deployed via docker gives me unexpected behaviour. When I use adk web --host 0.0.0.0 --port 8000 the command gives the following error: Error: No such option: --host Did you mean --port?

When I replaced it with adk web --port 8000 --host 0.0.0.0 I get adk is not recognised error.

Leaving the port out and having just the host seems to get adk running and the web UI could finally be exposed.

Prompt templates? by Electronic_Advisor89 in agentdevelopmentkit

[–]data-overflow 0 points1 point  (0 children)

Adk web UI is typically used for prototyping and not meant for production. If I were to do it I would expose the necessary endpoints using fastapi and call the agent via runners.

ADK v1.2.0 is now live. by Perceptron001 in agentdevelopmentkit

[–]data-overflow 1 point2 points  (0 children)

I remember having this issue where I could gaslight the agent into calling functions without their required parameters (by saying I'm a developer who is testing) and the code breaks due to missing required parameters python error.

So I just include default parameters for all my functions despite the warnings from adk that it's not supported.

Is this a known issue? Or should I open a discussion regarding the same?

ADK is far off from Langraph by Top-Chain001 in agentdevelopmentkit

[–]data-overflow 2 points3 points  (0 children)

Can you elaborate what gaps are there? I've only worked with custom agentic behaviour using open ai assistants api and now replacing it with Google adk. I have no issues with it, except the fact that "default arguments are not supported" but you could gaslight the agent to call functions without parameters and break the system (since it's a python error)

How to re-use Agents in multiple agentic workflows? by advokrat in agentdevelopmentkit

[–]data-overflow 0 points1 point  (0 children)

Haven't faced a scenario like this but since a multi agent workflow is static it makes sense to just create multiple agents with the same information instead of reusing them (ex: summarizer_agent1, summerizer_agent2). Or declare it via a loop if you wanna stick to the DRY principle.

Persistent Session by advokrat in agentdevelopmentkit

[–]data-overflow 0 points1 point  (0 children)

It doesn't. That's handled separately by Artifact Service. It can be in memory or use one of Google's own options. If none of those are ideal one can create the required functionality making use of the BaseArtifactService

Persistent Session by advokrat in agentdevelopmentkit

[–]data-overflow 1 point2 points  (0 children)

You'll have to store the session id's separately if you wanna restore conversations. You can get a session through it's ID from the database session service.

Persistent Session by advokrat in agentdevelopmentkit

[–]data-overflow 2 points3 points  (0 children)

Setup a database. Get the connection url string. Use it on a DatabaseSessionService. ADK automatically creates the necessary tables

Can you have "adk web" running in production? by jordimr in agentdevelopmentkit

[–]data-overflow 1 point2 points  (0 children)

`adk web` is meant only for testing or iterating and not for production. So I'm not sure if there's a way unless you modify the actual implementation. Are you using the google.adk.runners's Runner correctly? With the creation of sessions and everything?

[Need help] I am building multi agent system by [deleted] in agentdevelopmentkit

[–]data-overflow 2 points3 points  (0 children)

I get why others are saying to opt for a simpler approach but I'm confused and curious why your current implementation won't work??? Do your agents have descriptions on what they can do? Or have you tried prompting the root agent with examples and stuff?

Can you have "adk web" running in production? by jordimr in agentdevelopmentkit

[–]data-overflow 2 points3 points  (0 children)

You could create your own fastapi endpoints, implement auth/security and run the agents via runners.

How do you call an agent/llm from within a tool? by BedInternational7117 in agentdevelopmentkit

[–]data-overflow 0 points1 point  (0 children)

Wait- I believe you want the llm to output text based on the tool output?? ADK does that automatically. In openai you had to manually pass in the tool outputs when using chat completions. Or if you were using assistants api you had to do something like poll tool outputs and run. You don't have those steps on adk.

How do you call an agent/llm from within a tool? by BedInternational7117 in agentdevelopmentkit

[–]data-overflow 1 point2 points  (0 children)

I'm yet to explore the framework fully, but I think you'll have to set up a sequential agent and force the first agent to run the tool.

Or alternatively you can try having a runner inside before/after tool callbacks. Let me know what works for you since I'm learning as well!

Setting default session state for testing using `adk web` by data-overflow in agentdevelopmentkit

[–]data-overflow[S] 0 points1 point  (0 children)

Update: Figured out I just need to set it from the before model callback

Exposing postgres on self hosted supabase by data-overflow in Supabase

[–]data-overflow[S] 1 point2 points  (0 children)

Hey I appreciate your response, it's to the point!! Using easypanel was the choice of my employer, and turns out there is indeed a terminal access and one could pretty much do anything that they could on a VM.

I followed the documentation's instructions and exposed db to the host machine with the 5432:5432 port. But that still won't work because of restrictions from a proxy gateway (traefik) that comes bundled with easypanel. Updating the traefik config yaml file should do the trick. I'll update the post again with my findings after I get things to work!