Skip to content

feat(market-research-agent): add multi-agent market research sample - #1391

Merged
happyhuman merged 8 commits into
google:mainfrom
nikhithajoy:feat/market-research-agent
Jul 29, 2026
Merged

feat(market-research-agent): add multi-agent market research sample#1391
happyhuman merged 8 commits into
google:mainfrom
nikhithajoy:feat/market-research-agent

Conversation

@nikhithajoy

Copy link
Copy Markdown
Contributor

Summary

  • Adds a new multi-agent market research sample using Google ADK
  • Orchestrator LlmAgent coordinates 4 specialist agents (competitor, location, traffic, gap analysis) in parallel via AgentTool
  • Uses Google Places API as FunctionTools for real-world location data

Agent Details

Feature Description
Interaction Type Conversational
Complexity Advanced
Agent Type Multi Agent
Components LlmAgent, AgentTool, FunctionTool, Google Places API
Vertical Retail / Business Analytics

Test plan

  • uv sync installs without errors
  • uv run adk web starts the agent successfully
  • Agent geocodes address, runs 4 sub-agents in parallel, returns market report
  • uv run pytest tests/ -v passes

@nikhithajoy

Copy link
Copy Markdown
Contributor Author

Hi @norarfilali, @hupili, would appreciate a review when you get a chance! This adds a multi-agent market research sample using Google Places API + ADK.

@happyhuman

Copy link
Copy Markdown
Collaborator

Hi @nikhithajoy, this PR has been open for 106 days without recent activity. Some of the files it touches have been restructured on main in the interim. Are you still interested in continuing this? If we don't hear back within the next 14 days, we'll close this PR for housekeeping — please feel free to reopen anytime if you'd like to pick it back up. Thanks for the contribution!

(auto-managed by repo housekeeping — nudge id: cloudcode-2wk-nudge-2026-07-28)

@nikhithajoy
nikhithajoy requested a review from happyhuman as a code owner July 29, 2026 04:19
@happyhuman

Copy link
Copy Markdown
Collaborator

Please take a look at the docs to learn more about the new quality standards for the samples/recipes. There has been a ton of changes and the old samples are not acceptable anymore.

happyhuman

This comment was marked as duplicate.

@nikhithajoy

Copy link
Copy Markdown
Contributor Author

Hi @happyhuman,
Thanks for the pointer to the docs. I've updated this PR to match the new contrib/ recipe standard:

  • Moved the recipe from python/agents/market-research-agent to contrib/python/market-research-agent
  • Added manifest.yaml and tests/test_runnability.py
  • Renamed the package to app/ per the new convention
  • Aligned pyproject.toml (Python 3.11 floor, no local ruff config, public PyPI index)
  • Moved load_dotenv() into app/__init__.py

Ran uv run validate structure/manifest/readme, ruff format/ruff check, and pytest locally against the current repo tooling - all passing. Also rebased onto current main since the branch was quite far behind.

Ready for another look whenever you get a chance. Please let me know if I've missed anything from the new checklist.

@happyhuman

Copy link
Copy Markdown
Collaborator

Great work. Thanks. Just left 1 minor comment.

- "Vertex AI"

ownership:
team: "nikhithajoy"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you please add a real team here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm contributing this as an individual, not on behalf of a formal team. Could you elaborate on what kind of team name I should add here?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I see. The reason we introduced team was to make sure no sample/recipe will become orphaned (since we had to deal with a number of them before). We wanted to make sure a team owns the recipe in case the poc leaves. If you think you will be able to remain the owner and continue to maintain it, we can accept you as the team.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

That makes sense, thanks for explaining. Yes, I plan to remain the owner and maintain this recipe going forward.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Oh okay. Sounds good. I will approve your PR.
Congratulations on submitting the very first recipe to our newly restructured contrib/python by the way. :-)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thank you so much. Really appreciate you taking the time to review and guide me.

happyhuman
happyhuman previously approved these changes Jul 29, 2026
@@ -0,0 +1,17 @@
# Copyright 2025 Google LLC

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Perhaps you want to change these 2025 years to 2026?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah, updated to 2026 across all files in the recipe. Please check.

@happyhuman
happyhuman merged commit efd4687 into google:main Jul 29, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants