Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@GabrielBianconi
Copy link
Member

@GabrielBianconi GabrielBianconi commented Dec 23, 2025

Important

Move GCP SFT configuration to files and update UI and backend to support this change, including Docker setup and tests.

  • Configuration:
    • Move GCP SFT configuration to provider_types.gcp_vertex_gemini.sft in tensorzero.toml and tensorzero.mock_optimization.toml.
    • Update Docker files to mount GCP JWT key file for GCP providers.
  • UI:
    • Update SFTForm.tsx to disable submit button if form is invalid.
    • Add GCP Vertex Gemini SFT support in client.ts.
    • Update GatewayRequiredState.tsx for clearer messaging.
  • Testing:
    • Add e2e tests for GCP Vertex Gemini SFT in optimization.supervised-fine-tuning.spec.ts.
    • Update mock tests in mock_tests.rs to include GCP Vertex Gemini SFT.
  • Misc:
    • Update environment variable handling in env.server.ts and postgres.server.ts.
    • Remove unused code in tensorzero.ts.

This description was created by Ellipsis for 7fc3785. You can customize this summary. It will automatically update as commits are pushed.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Copilot AI review requested due to automatic review settings December 23, 2025 17:00
@GabrielBianconi GabrielBianconi changed the title Fix GCP SFT in UI Fix SFT in UI Dec 23, 2025
Copy link
Contributor

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 pull request adds support for GCP Vertex AI Gemini supervised fine-tuning (SFT) in the TensorZero UI. The changes enable users to fine-tune models using GCP's Vertex AI service by configuring GCP-specific parameters (project ID, region, and bucket name) through the UI.

  • Integrates GCP Vertex AI Gemini SFT configuration into the UI form with validation
  • Adds mock GCP SFT server implementation for E2E testing
  • Updates TypeScript bindings to use optional fields instead of nullable fields for optimizer configurations

Reviewed changes

Copilot reviewed 38 out of 39 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
ui/fixtures/regenerate-model-inference-cache.sh Adds GCP_VERTEX_BASE_URL environment variable for cache regeneration
ui/fixtures/docker-compose*.yml Mounts GCP JWT key file and configures GCP credentials environment variables across test fixtures
ui/fixtures/.gitignore Adds .env-gateway to gitignore to prevent accidental commit of credentials
ui/fixtures/.env-gateway Empty placeholder file for gateway environment variables
ui/e2e_tests/optimization.supervised-fine-tuning.spec.ts Adds E2E test for GCP Vertex Gemini SFT workflow
ui/app/utils/tensorzero/tensorzero.ts Simplifies TensorZeroClient constructor parameter type (removes null union)
ui/app/utils/supervised_fine_tuning/native.test.ts Removes explicitly null fields from test configuration
ui/app/utils/supervised_fine_tuning/client.ts Refactors optimizer configuration to use switch statement and adds GCP Vertex Gemini case
ui/app/utils/postgres.server.ts Changes null check to use double negation operator for consistency
ui/app/utils/env.server.ts Adds GCP_VERTEX_BASE_URL and changes optional environment variables from null to undefined
ui/app/routes/optimization/supervised-fine-tuning/types.ts Adds GCP-specific form fields with conditional validation
ui/app/routes/optimization/supervised-fine-tuning/route.tsx Adds capitalize className to job status badge
ui/app/routes/optimization/supervised-fine-tuning/SFTForm.tsx Adds conditional GCP Vertex AI configuration form fields and disables submit button based on form validity
ui/app/components/ui/GatewayRequiredState.tsx Improves formatting and capitalization of error message text
tensorzero-optimizers/src/gcp_vertex_gemini_sft.rs Updates GCP SFT implementation to use mock server when api_base is provided and generates console URLs
tensorzero-core/tests/mock-inference-provider/src/main.rs Adds routes for mock GCP SFT endpoints
tensorzero-core/tests/mock-inference-provider/src/gcp_sft.rs New file implementing mock GCP tuning job creation and polling
tensorzero-core/src/optimization/*/mod.rs Adds optional_fields attribute to ts_rs exports for cleaner TypeScript bindings
internal/tensorzero-node/lib/bindings/*.ts Updates TypeScript bindings to use optional (?) instead of nullable (
.github/workflows/ui-tests-e2e.yml Adds GCP_JWT_KEY secret handling and environment variable setup for E2E tests
.github/workflows/general.yml Adds GCP_JWT_KEY secret to ui-tests-e2e job and removes extraneous empty line

Copilot AI review requested due to automatic review settings December 23, 2025 18:50
Copy link
Contributor

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

Copilot reviewed 54 out of 55 changed files in this pull request and generated 6 comments.

@GabrielBianconi
Copy link
Member Author

/merge-queue

@github-actions
Copy link
Contributor

🚀 Merge queue workflow triggered!

View the run: https://github.com/tensorzero/tensorzero/actions/runs/20469312523

Copilot AI review requested due to automatic review settings December 23, 2025 19:19
Copy link
Contributor

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

Copilot reviewed 56 out of 57 changed files in this pull request and generated 7 comments.

Comments suppressed due to low confidence (1)

tensorzero-optimizers/tests/common/gcp_vertex_gemini_sft.rs:9

  • The comment says "Currently unused in 'mock_tests.rs'" and the struct is marked with dead_code allow. This suggests this test case may not be properly integrated into the test suite. Consider either removing this if it's genuinely not needed, or ensuring it's properly tested as part of the GCP Vertex Gemini SFT functionality.

@GabrielBianconi
Copy link
Member Author

/merge-queue

@github-actions
Copy link
Contributor

🚀 Merge queue workflow triggered!

View the run: https://github.com/tensorzero/tensorzero/actions/runs/20470379527

Copilot AI review requested due to automatic review settings December 23, 2025 20:26
@GabrielBianconi
Copy link
Member Author

/merge-queue

@github-actions
Copy link
Contributor

🚀 Merge queue workflow triggered!

View the run: https://github.com/tensorzero/tensorzero/actions/runs/20470876751

Copy link
Contributor

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

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

Copy link
Contributor

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

Copilot reviewed 61 out of 62 changed files in this pull request and generated no new comments.

@GabrielBianconi
Copy link
Member Author

/merge-queue

@github-actions
Copy link
Contributor

🚀 Merge queue workflow triggered!

View the run: https://github.com/tensorzero/tensorzero/actions/runs/20471508099

@GabrielBianconi GabrielBianconi marked this pull request as ready for review December 23, 2025 21:37
Copilot AI review requested due to automatic review settings December 23, 2025 21:37
Copy link
Contributor

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

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

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Member

@shuyangli shuyangli left a comment

Choose a reason for hiding this comment

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

I think putting the provider-specific config options for region, data upload, and encryption into the config is correct. I just have a question about mocking.

shuyangli
shuyangli previously approved these changes Dec 23, 2025
@GabrielBianconi GabrielBianconi added this pull request to the merge queue Dec 23, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 23, 2025
@virajmehta
Copy link
Member

blind

Copilot AI review requested due to automatic review settings December 24, 2025 21:22
Copy link
Contributor

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

Copilot reviewed 62 out of 63 changed files in this pull request and generated no new comments.

@GabrielBianconi GabrielBianconi added this pull request to the merge queue Dec 24, 2025
@GabrielBianconi GabrielBianconi removed this pull request from the merge queue due to a manual request Dec 24, 2025
@GabrielBianconi GabrielBianconi added this pull request to the merge queue Dec 24, 2025
Merged via the queue into main with commit 94645be Dec 24, 2025
61 checks passed
@GabrielBianconi GabrielBianconi deleted the gb/fix-gcp-ui branch December 24, 2025 22:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants