feat(bigquery): add conversational analytics tools for Data Agents#2517
feat(bigquery): add conversational analytics tools for Data Agents#2517Genesis929 wants to merge 7 commits intogoogleapis:mainfrom
Conversation
Implements new tools to interact with BigQuery Data Agents and aligns BigQuery source method names with other sources for future cross-source compatibility. - Add three new tools: 'ask_data_agent', 'get_data_agent_info', and 'list_accessible_data_agents' under 'conversationalanalytics'. - Rename BigQuery source methods to 'GoogleCloudProject' and 'GoogleCloudLocation' to unify interface with other source types. - Update 'GoogleCloudTokenSourceWithScope' to support flexible scope parameterization. - Update existing BigQuery tools to use consistent source method names. - Add 'bigquery-conversational-analytics-with-data-agent' prebuilt config. - Include comprehensive integration tests for Data Agent tools. - Update documentation for the new prebuilt toolset.
- Update test YAML format to use standard 'kind' and 'type' fields. - Switch to 'server.UnmarshalResourceConfig' for correct interface decoding. - Fix struct field names from 'Kind' to 'Type'.
Summary of ChangesHello @Genesis929, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly enhances the BigQuery integration by introducing a suite of conversational analytics tools that leverage BigQuery Data Agents. The primary goal is to enable natural language interaction with BigQuery data, facilitating data analysis and insights through AI agents. Concurrently, it refactors BigQuery source method names to align with a more generic 'GoogleCloud' prefix, improving consistency and paving the way for broader cloud service compatibility. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces new tools for interacting with BigQuery Data Agents and unifies BigQuery source method names. A high-severity path traversal vulnerability was identified in the URL construction of the get-data-agent-info tool, along with information leakage in error handling and a lack of dataset-level access controls, which could lead to unauthorized resource access. Additionally, the review identified areas for improvement related to redundant location fallback logic, inconsistent constant usage, and the format of returned data.
...analytics/conversationalanalyticsgetdataagentinfo/conversationalanalyticsgetdataagentinfo.go
Outdated
Show resolved
Hide resolved
...analytics/conversationalanalyticsgetdataagentinfo/conversationalanalyticsgetdataagentinfo.go
Outdated
Show resolved
Hide resolved
...sationalanalytics/conversationalanalyticsaskdataagent/conversationalanalyticsaskdataagent.go
Outdated
Show resolved
Hide resolved
...sationalanalyticslistaccessibledataagents/conversationalanalyticslistaccessibledataagents.go
Outdated
Show resolved
Hide resolved
...sationalanalytics/conversationalanalyticsaskdataagent/conversationalanalyticsaskdataagent.go
Show resolved
Hide resolved
...sationalanalytics/conversationalanalyticsaskdataagent/conversationalanalyticsaskdataagent.go
Show resolved
Hide resolved
...sationalanalytics/conversationalanalyticsaskdataagent/conversationalanalyticsaskdataagent.go
Outdated
Show resolved
Hide resolved
...sationalanalytics/conversationalanalyticsaskdataagent/conversationalanalyticsaskdataagent.go
Show resolved
Hide resolved
...sationalanalyticslistaccessibledataagents/conversationalanalyticslistaccessibledataagents.go
Show resolved
Hide resolved
...sationalanalyticslistaccessibledataagents/conversationalanalyticslistaccessibledataagents.go
Outdated
Show resolved
Hide resolved
Fixed sensitive info leaks in errors, added URL escaping, and unified client identification headers across new tools.
…ry conversational analytics This fix addresses a failure in the prebuiltconfigs unit tests caused by adding the new BigQuery Data Agent configuration file.
Implements new tools to interact with BigQuery Data Agents and aligns BigQuery source method names with other sources for future cross-source compatibility.
Description
PR Checklist
CONTRIBUTING.md
bug/issue
before writing your code! That way we can discuss the change, evaluate
designs, and agree on the general idea
!if this involve a breaking change🛠️ Fixes #<issue_number_goes_here>