Skip to content

Conversation

@fcogidi
Copy link
Collaborator

@fcogidi fcogidi commented Nov 5, 2025

PR Type

Feature

Short Description

  • Add a new multi-agent implementation that uses both a knowledge base and open web search (using Gemini Grounding with Google Search).

Tests Added

...

fcogidi and others added 11 commits October 31, 2025 12:33
- Updated .env.example to include WEB_SEARCH_BASE_URL and WEB_SEARCH_API_KEY.
- Introduced web_search.py to implement a tool for fetching Google Search grounded responses from the Gemini model.
…h query extraction

- Introduced RETRYABLE_STATUS for managing retryable HTTP status codes.
- Updated the _post method to _post_payload for clarity and added a docstring.
- Enhanced error handling in the backoff decorator to include specific exceptions and retry logic based on RETRYABLE_STATUS.
…ValueError for missing environment variables.
- Updated the add_citations function to return a tuple of synthesized text and a mapping of citation IDs to source labels.
- Enhanced the GroundedResponse class to include a citations field.
- Improved error handling and type checks throughout the citation processing logic.
- Introduced a new _collect_citations function to streamline citation ID collection from candidates.
@fcogidi fcogidi self-assigned this Nov 5, 2025
@fcogidi fcogidi added the enhancement New feature or request label Nov 5, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds a multi-agent implementation that combines knowledge base search with web search capabilities through Gemini's grounding feature. The implementation uses a planner-worker architecture where a main agent coordinates between a knowledge base agent and a web search tool to answer complex queries that may require both historical and current information.

Key Changes:

  • Implements GeminiGroundingWithGoogleSearch tool for web search with automatic citation generation
  • Creates a multi-agent system with dedicated knowledge base and web search capabilities
  • Adds test coverage for the web search integration

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
src/utils/tools/gemini_grounding.py Implements the Gemini grounding tool with Google Search integration, including citation parsing and error handling
src/2_frameworks/2_multi_agent/efficient_multiple_kbs.py Creates a planner-worker multi-agent system that routes queries between knowledge base and web search tools
tests/tool_tests/test_gemini_grounding.py Adds integration test for the web search grounding functionality
.env.example Adds required environment variables for web search API configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

try:
response.raise_for_status()
except httpx.HTTPStatusError as exc:
raise exc from exc
Copy link

Copilot AI Nov 5, 2025

Choose a reason for hiding this comment

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

Re-raising the exception with itself as the cause (raise exc from exc) is redundant. Either raise without the from clause or re-raise as a different exception type with the original as the cause.

Suggested change
raise exc from exc
raise exc

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants