Skip to content

Conversation

olex-snk
Copy link
Collaborator

@olex-snk olex-snk commented Jul 7, 2025

This pull request introduces an example of the notebook with guides on how to evaluate an ADK (Agent Development Kit) agent using Vertex AI Gen AI Evaluation for agent evaluation.

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@olex-snk olex-snk self-assigned this Jul 7, 2025
@olex-snk olex-snk marked this pull request as draft July 7, 2025 17:06
@olex-snk olex-snk marked this pull request as ready for review July 7, 2025 17:57
Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:17Z
----------------------------------------------------------------

PS: Clear all the output cells, to keep the notebook clean


olex-snk commented on 2025-07-14T09:01:57Z
----------------------------------------------------------------

Cleaned

Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:19Z
----------------------------------------------------------------

Format NOTE to be bold and don't make it a header


olex-snk commented on 2025-07-14T09:07:37Z
----------------------------------------------------------------

Reformatted

Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:20Z
----------------------------------------------------------------

Can you simplify the explanation to be more understandable? Here's an option, "Normally, asyncio doesn't let you start a new "event loop" (which is like the engine that runs asynchronous code) if one is already active. Jupyter Notebooks already have an event loop running in the background. So, when you try to run your asyncio code using functions like run_until_complete(), asyncio sees that a loop is already active and throws an error saying "This event loop is already running."

To fix this, you can use a library called nest_asyncio. It essentially "patches" asyncio to allow you to run new event loops even when one is already active. This lets your asyncio code work seamlessly within Jupyter Notebooks without getting that error."

Also please add links as hyperlinks instead of adding them directly.


olex-snk commented on 2025-07-14T12:40:51Z
----------------------------------------------------------------

Fixed explanation, added hyperlinks

Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:20Z
----------------------------------------------------------------

Update markdown to be more descriptive. "We'll define plotting helper functions to visualize the results from evaluation as bar, radar...etc."


Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:21Z
----------------------------------------------------------------

Update formate of NOTE to be bold and not a header.


olex-snk commented on 2025-07-14T09:05:58Z
----------------------------------------------------------------

Reformatted

Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:21Z
----------------------------------------------------------------

Remove this cell if you aren't going to use it.


Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:22Z
----------------------------------------------------------------

Remove the note regarding BYOD here since you'll cover that in the notebook later.


olex-snk commented on 2025-07-14T09:09:24Z
----------------------------------------------------------------

Removed

Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:22Z
----------------------------------------------------------------

Line #1.    EXPERIMENT_NAME = "evaluate-adk-agent-v1"  # @param {type:"string"}

Remove the comments regarding parameter type since we are not using colab, this isn't required. #param {type:"string"}


Copy link

review-notebook-app bot commented Jul 14, 2025

View / edit / reply to this conversation on ReviewNB

sanjanalreddy commented on 2025-07-14T00:40:23Z
----------------------------------------------------------------

Line #4.    !gsutil mb -l {LOCATION} {BUCKET_URI}

This throws an exception if the bucket already exists. Add a conditional statement to check if the bucket exists and only create the bucket if the bucket doesn't exist.


olex-snk commented on 2025-07-14T13:28:41Z
----------------------------------------------------------------

Added conditional statement to check if the bucket exists

Copy link
Collaborator Author

Cleaned


View entire conversation on ReviewNB

Copy link
Collaborator Author

Reformatted


View entire conversation on ReviewNB

Copy link
Collaborator Author

Reformatted


View entire conversation on ReviewNB

Copy link
Collaborator Author

Removed


View entire conversation on ReviewNB

Copy link
Collaborator Author

Fixed explanation, added hyperlinks


View entire conversation on ReviewNB

Copy link
Collaborator Author

Added conditional statement to check if the bucket exists


View entire conversation on ReviewNB

@@ -0,0 +1,1698 @@
{
Copy link
Collaborator

@sanjanalreddy sanjanalreddy Jul 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update NOTE to be bold and not header


Reply via ReviewNB

@@ -0,0 +1,1698 @@
{
Copy link
Collaborator

@sanjanalreddy sanjanalreddy Jul 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line #2.    BUCKET_NAME = "put_your_ai_agent_evaluation_adk_bucket"

This line will throw an error if a hard-coded bucket name is used since bucket names have to be unique for everyone. My recommendation is to use the PROJECT ID as the bucket name like this instead:

PROJECT = !gcloud config list --format 'value(core.project)'
PROJECT = PROJECT[0]
BUCKET_NAME = PROJECT
BUCKET_URI = f"gs://{BUCKET_NAME}"

Reply via ReviewNB

@takumiohym takumiohym added the new label Jul 15, 2025
@@ -0,0 +1,1713 @@
{
Copy link
Collaborator

@takumiohym takumiohym Jul 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use the uuid library instead of creating a this custom method for simplicity.

import uuid

uuid = uuid.uuid4()

Reply via ReviewNB

@takumiohym
Copy link
Collaborator

@olex-snk Here's my suggestion regarding nest_asyncio. #634
Let me know your thoughts. fyi @sanjanalreddy

@olex-snk olex-snk marked this pull request as draft August 12, 2025 09:55
@olex-snk olex-snk added duplicate This issue or pull request already exists and removed new labels Aug 12, 2025
@olex-snk olex-snk changed the title Evaluate your AI Agent using Vertex AI Gen AI Evaluation service Notebook DUPLICATE: Evaluate your AI Agent using Vertex AI Gen AI Evaluation service Notebook Aug 12, 2025
@olex-snk olex-snk force-pushed the adk_agent_evaluation_vertex_ai branch from ebdc431 to f4bb6b5 Compare August 12, 2025 12:17
@olex-snk olex-snk changed the title DUPLICATE: Evaluate your AI Agent using Vertex AI Gen AI Evaluation service Notebook Evaluate your AI Agent using Vertex AI Gen AI Evaluation service Notebook Aug 12, 2025
@olex-snk olex-snk removed the duplicate This issue or pull request already exists label Aug 18, 2025
@takumiohym takumiohym added the new label Oct 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants