NVIDIA / NVIDIA/SkillSpector

feat(providers): Support Google Gemini via Application Default Credentials (ADC) and Workload Identity

Open
#494 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
17.9k
Forks
1.5k
Avg merge
5d 10h
Merged PRs (30d)
66

Description

SkillSpector supports hosted providers like OpenAI, Anthropic, Bedrock, and NVIDIA Build, but does not support Google Gemini out of the box.

Currently, Google's Gemini platform (or whatever the current naming is) is not supported without some cumbersome workarounds and static API keys outside IAM controls.

Proposed Solution:

Add a native SKILLSPECTOR_PROVIDER=gemini provider that:

  1. Authenticates using Google Cloud ADC (google-auth), supporting local development (gcloud auth application-default login) and GKE Workload Identity seamlessly
  2. Connects to Google Cloud's OpenAI-compatible Gemini endpoint (aiplatform.googleapis.com/v1/.../endpoints/openapi), reusing the existing chat-model plumbing
  3. Automatically applies the google/ wire prefix while keeping bare model names in registries and user config
  4. Correctly routes global, us, eu, and regional endpoints
  5. Fails closed with an actionable error when GOOGLE_CLOUD_PROJECT is missing (without silently falling back to OPENAI_API_KEY)
  6. Ships a bundled model_registry.yaml with current Gemini 3.x/2.5 token limits

(Note: PR #12 previously explored Vertex AI support, but has become stale and conflicting, uses their old naming, outdated models, and doesn't cover as many cases. I think that fresh implementation targeting Google's current v1 Gemini endpoint and modern conventions would resolve this cleanly.)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing hosted-provider and chat-model plumbing, then inspect model_registry.yaml for the provider and model-limit conventions. Done means Gemini works through ADC with regional endpoints, prefixes model names correctly, requires GOOGLE_CLOUD_PROJECT, and includes current Gemini model limits without using OPENAI_API_KEY as a fallback.

Written by the indexing model from the issue text.

Assessment

Tech stack
gcp, python
Domain
api, authentication, backend, cloud
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.