Vertex AI
Provider vertex. Adapter sobre a Vertex AI da Google Cloud — os mesmos
modelos Gemini (e parceiros, como Claude no Vertex), só que dentro do seu
projeto GCP, com IAM, billing e residência de dados da Google Cloud. Reaproveita
o SDK google-genai em modo Vertex; muda a autenticação (projeto + região, sem
GEMINI_API_KEY).
pip install "jangada-ai[gemini]"provider=:"vertex"- Variáveis de ambiente:
GOOGLE_CLOUD_PROJECT(ID do projeto),GOOGLE_CLOUD_LOCATION(ex.:us-central1) eGOOGLE_APPLICATION_CREDENTIALSapontando para o JSON da service account (ou ADC já configurado viagcloud auth application-default login). - Modelo: o nome do modelo Gemini, ex.:
gemini-2.5-flash,gemini-2.5-pro.
from jangada_ai import LLM
# usa GOOGLE_CLOUD_PROJECT / GOOGLE_CLOUD_LOCATION / ADC do ambiente
llm = LLM("vertex", "gemini-2.5-flash")
resp = llm.complete("Resuma {{ tema }} em uma frase.", tema="jangadas")
print(resp.text, resp.cost)Configuração via ambiente
GOOGLE_CLOUD_PROJECT=meu-projeto-123
GOOGLE_CLOUD_LOCATION=us-central1
GOOGLE_APPLICATION_CREDENTIALS=/caminho/para/service-account.jsonproject e location podem ir explícitos no construtor (via extra=) quando
você precisa de outro projeto/região sem mexer no ambiente. A autenticação é por
Application Default Credentials — não há chave de API como no Gemini direto.
O que faz
Tudo o que o provider gemini faz, já que compartilham o SDK google-genai:
- Texto, streaming e structured output (
parse) comconfig.response_schema. - Vision (
images=), documentos (files=) e áudio. - Embeddings (ex.:
gemini-embedding-001) para RAG.
Quando escolher Vertex AI
Quando o time já é Google Cloud e precisa dos modelos Gemini sob IAM, billing e
governança do GCP (e residência de dados por região), em vez da chave de API do
Gemini direto. O código é idêntico ao do Gemini — troque LLM("gemini", ...) por
LLM("vertex", ...). Veja Gemini e
Providers.
O que mudou na 1.9.0
- Para modelos
gemini-3*semlocation=explícito, a lib usalocation="global"(os modelos 3.x costumam não estar emus-central1);location=explícito sempre vence. - O Vertex herda as regras de perfil do Gemini (ex.:
thinking_budget→thinking_levelno 3.x). - Tools nativas funcionam, mas misturar tool nativa com function tool levanta
UnsupportedError(o campo que permite isso só existe na Gemini API).