Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

feat(alloydb): PoC create basic sample for 'Vector Search'#13453

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
eapl-gemugami wants to merge4 commits intoGoogleCloudPlatform:main
base:main
Choose a base branch
Loading
fromeapl-gemugami:paradalicea/feat/alloydb/vector-search/create-sample

Conversation

eapl-gemugami
Copy link
Contributor

Description

  • Validate Kokoro CI test environment
  • Preparation for Vector Search Demo Web App on Flask. Based onPerform a vector search.

Checklist

@product-auto-labelproduct-auto-labelbot added api: alloydbIssues related to the AlloyDB API. samplesIssues that are directly related to samples. labelsJun 23, 2025
@eapl-gemugamieapl-gemugami added the snippet-bot:force-runForce snippet-bot runs its logic labelJun 23, 2025
@snippet-botsnippet-botbot removed the snippet-bot:force-runForce snippet-bot runs its logic labelJun 23, 2025
Copy link
Contributor

@gemini-code-assistgemini-code-assistbot left a comment

Choose a reason for hiding this comment

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

Summary of Changes

Hello@eapl-gemugami, 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 establishes a foundational Proof of Concept for integrating AlloyDB's vector search capabilities within a Python application, specifically as a precursor to a Flask web application demo. It encompasses the necessary database schema definition, data population, and the core Python logic required to connect to AlloyDB, execute SQL commands, and perform vector similarity searches. The changes also include the addition of relevant dependencies and a robust test suite to ensure the functionality works as expected.

Highlights

  • Vector Search PoC: Introduced a foundational Proof of Concept (PoC) for performing vector searches using AlloyDB, laying the groundwork for a Flask web application demo.
  • Dependency Management: Added new Python dependencies inrequirements.txt for Flask, AlloyDB connectivity, andrequirements-test.txt for testing withpytest.
  • Database Schema & Data: Defined a sample database schema inexample_data.sql includingproduct andproduct_inventory tables, with theproduct table featuring avector column and ascann index for efficient similarity search.
  • AlloyDB Integration Logic: Implemented core Python functions invector_search.py for establishing secure connections to AlloyDB, executing arbitrary SQL queries, and specifically performing vector similarity searches.
  • Automated Testing: Included a comprehensive test suite invector_search_test.py utilizingpytest to validate the end-to-end vector search functionality, including database setup and data insertion.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on ourdocumentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either/gemini <command> or@gemini-code-assist <command>. Below is a summary of the supported commands.

FeatureCommandDescription
Code Review/gemini reviewPerforms a code review for the current pull request in its current state.
Pull Request Summary/gemini summaryProvides a summary of the current pull request in its current state.
Comment@gemini-code-assistResponds in comments when explicitly tagged, both in issue comments and review comments.
Help/gemini helpDisplays a list of available commands.

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.gemini/ folder in the base of the repository. Detailed instructions can be foundhere.

Limitations & Feedback

Gemini Code Assist is currently in preview and 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 to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with theGemini Code Assist IDE Extension.

Footnotes

  1. Review thePrivacy Notices,Generative AI Prohibited Use Policy,Terms of Service, and learn how to configure Gemini Code Assist in GitHubhere. Gemini can make mistakes, so double check it anduse code with caution.

Copy link
Contributor

@gemini-code-assistgemini-code-assistbot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a proof-of-concept for AlloyDB's Vector Search feature. I've identified a potential resource leak in the database handling logic and a bug in the test data. Additionally, I've provided suggestions to improve type hinting and file paths in tests. Addressing these points will enhance the quality and reliability of this new sample.

@eapl-gemugamieapl-gemugami added the snippet-bot:force-runForce snippet-bot runs its logic labelJun 23, 2025
@snippet-botsnippet-botbot removed the snippet-bot:force-runForce snippet-bot runs its logic labelJun 23, 2025
@eapl-gemugami
Copy link
ContributorAuthor

This PR requires new permissions for thegoogle_ml_integration as inGrant Vertex AI user permission to AlloyDB service agent

Kokoro CI - Python 3.9 Log:

pg8000.exceptions.DatabaseError:{  'S': 'ERROR',  'V': 'ERROR',  'C': 'GAV07',  'M': 'Permission denied on the resource.',  'D': 'Prediction request failed with \n HTTPError[403]: {\n  "error": {\n    "code": 403,\n    "message": "Permission \'aiplatform.endpoints.predict\' denied on resource \'//[aiplatform.googleapis.com/projects/1012616486416/locations/us-central1/publishers/google/models/text-embedding-005\](http://aiplatform.googleapis.com/projects/1012616486416/locations/us-central1/publishers/google/models/text-embedding-005%5C)' (or it may not exist).",\n    "status": "PERMISSION_DENIED",\n    "details": [\n      {\n        "@type": "[type.googleapis.com/google.rpc.ErrorInfo](http://type.googleapis.com/google.rpc.ErrorInfo)",\n        "reason": "IAM_PERMISSION_DENIED",\n        "domain": "[aiplatform.googleapis.com](http://aiplatform.googleapis.com/)",\n        "metadata": {\n          "resource": "projects/1012616486416/locations/us-central1/publishers/google/models/text-embedding-005",\n          "permission": "aiplatform.endpoints.predict"\n        }\n      }\n    ]\n  }\n}\n',    'H': 'Verify and set required permissions to secret manager, Vertex AI endpoint and/ or third party models.',  'W': 'SQL statement "SELECT ml_predict_row(FORMAT(\'publishers/google/models/%s\', model_id), json_build_object(\'instances\', json_build_array(json_build_object(\'content\', content))))"\nPL/pgSQL function google_ml._call_vertex_embedding(text,text) line 6 at SQL statement\nPL/pgSQL function embedding(text,text) line 13 at RETURN',  'F': 'google_ml_integration.cc',  'L': '397',  'R': 'ml_predict_row_impl'}

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@gemini-code-assistgemini-code-assist[bot]gemini-code-assist[bot] left review comments

At least 1 approving review is required to merge this pull request.

Assignees
No one assigned
Labels
api: alloydbIssues related to the AlloyDB API.samplesIssues that are directly related to samples.
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@eapl-gemugami

[8]ページ先頭

©2009-2025 Movatter.jp