Feat(vertex): add prefix field#1302
Conversation
Summary of ChangesHello @dinhkarate, 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 enhances the Vertex AI integration by adding the capability to namespace models during the service account import process. Users can now define a custom prefix via a new CLI flag, which is then stored with the credentials and applied to Vertex model names, improving model management and clarity within the system. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. 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 adds a --vertex-import-prefix flag to allow namespacing for Vertex models, which is a useful feature. The implementation is straightforward. I've left a few comments with suggestions for improvement, mainly around consistency with the existing codebase, clarifying comments, and ensuring all relevant data structures are populated with the new prefix. I also noted a minor issue in the .gitignore file.
| .beads/ | ||
| .opencode/ | ||
| .cli-proxy-api/ | ||
| .venv/ No newline at end of file |
| // Type is the provider identifier stored alongside credentials. Always "vertex". | ||
| Type string `json:"type"` | ||
|
|
||
| // Prefix optionally namespaces models for this credential (e.g., "teamA/gemini-2.0-flash"). |
There was a problem hiding this comment.
The example in this comment is a bit confusing as it appears to show a full namespaced model name instead of just a prefix. To improve clarity, consider rephrasing it to show an example prefix and the resulting model name.
| // Prefix optionally namespaces models for this credential (e.g., "teamA/gemini-2.0-flash"). | |
| // Prefix optionally namespaces models for this credential (e.g., "teamA"). This will result in model names like "teamA/gemini-2.0-flash". |
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
1 similar comment
This comment was marked as spam.
This comment was marked as spam.
luispater
left a comment
There was a problem hiding this comment.
Summary:
This adds a useful --vertex-import-prefix flag, but I don't think the implementation is safe to merge yet. I found two correctness issues in the persistence/validation path.
Key findings:
- Blocking:
DoVertexImport()still names the auth file fromproject_idonly, so importing the same Vertex project twice with different prefixes will overwrite the previous credential instead of creating a separate namespaced auth file. - Blocking: the new CLI flag accepts raw prefixes, but the auth synthesizer only accepts single-segment prefixes. Values containing an internal
/will import successfully and then be silently ignored at runtime. - Non-blocking: I couldn't find targeted automated coverage for the new flag, overwrite behavior, or invalid-prefix handling.
Test plan:
- Not run locally; reviewed the diff and the surrounding persistence/loading code paths.
Address two blocking issues from PR review:
- Auth file now named vertex-{prefix}-{project}.json so importing the
same project with different prefixes no longer overwrites credentials
- Prefix containing "/" is rejected at import time instead of being
silently ignored at runtime
- Add prefix to in-memory metadata map for consistency
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Addressed review feedbackThanks for the thorough review @luispater! Pushed a fix ( 1. Auth file overwrite (fixed)Auth filename now includes prefix when provided:
Importing the same Vertex project with different prefixes now creates separate credential files. 2. Prefix validation at import time (fixed)
Additional fixes
|
Summary
--vertex-import-prefixCLI flag to specify a prefix when importing Vertex service account credentialsimagen-fast/gemini-2.0-flash)Changes
cmd/server/main.go: Add--vertex-import-prefixflag and pass toDoVertexImport()internal/cmd/vertex_import.go: Accept prefix parameter and setPrefixfield in storageUsage
Import with prefix
./cli-proxy-api -vertex-import=service-account.json -vertex-import-prefix=imagen-fast
Models will appear as:
test/imagen-4.0-ultra-generate-001

imagen/imagen-4.0-generate-001
Testing