# Gemini API voor enterprise [[TOC]] ## Gemini Developer API versus Vertex AI Je kunt Gemini op twee manieren aanroepen: via de Gemini Developer API (voor experimenteren en kleinschalig gebruik) en via Vertex AI op Google Cloud (voor enterprise-productieomgevingen). Voor gevoelige bedrijfsdata, compliance en SLA-garanties kies je Vertex AI. | Aspect | Developer API | Vertex AI | |---|---|---| | Authenticatie | API-sleutel | Google Cloud IAM | | Data residency | Beperkt, vooral globaal | Keuze uit EU, US, APAC | | SLA | Geen | Uptime-SLA (zie SLA-doc) | | Data voor modeltraining | Standaard niet, lichtere garanties | Nee, contractueel | | VPC Service Controls | Nee | Ja | | CMEK | Nee | Ja | | Audit logging | Beperkt | Cloud Audit Logs | | Support | Community | Enterprise support | :::info title="Vertex AI heet nu ook Gemini Enterprise Agent Platform" Google brengt de enterprise-AI-diensten samen onder de naam Gemini Enterprise Agent Platform. De API-endpoints, IAM-rollen en de hier beschreven SDK blijven werken zoals je gewend bent; het is vooral een product- en documentatienaam. ::: ## Welke SDK gebruik je in 2026 Gebruik de google-genai SDK (`from google import genai`). De oudere module `vertexai.generative_models` met `vertexai.init()` is door Google gedeprecate sinds 24 juni 2025 en per 24 juni 2026 verwijderd. Nieuwe projecten moeten dus de google-genai SDK gebruiken, die werkt met een `Client`-object in plaats van globale init-state. ```bash pip install google-genai ``` ```python from google import genai client = genai.Client( vertexai=True, project="mijn-gcp-project", location="europe-west4", ) response = client.models.generate_content( model="gemini-2.5-flash", contents="Wat zijn de voordelen van cloud computing?", ) print(response.text) ``` Je kunt dezelfde configuratie ook via omgevingsvariabelen zetten en de `Client()` zonder argumenten aanroepen: ```bash export GOOGLE_GENAI_USE_VERTEXAI=true export GOOGLE_CLOUD_PROJECT="mijn-gcp-project" export GOOGLE_CLOUD_LOCATION="europe-west4" ``` :::warn title="Geen API-sleutel gebruiken voor enterprise" Voor Vertex AI authenticeer je met Google Cloud IAM, niet met een losse Gemini-API-sleutel. Zo houd je toegang, rotatie en audit binnen je Google Cloud-omgeving en voorkom je rondslingerende sleutels in code of CI. ::: ## Modelkeuze in 2026 Kies een model dat algemeen beschikbaar (GA) is en past bij je workload: - `gemini-2.5-flash`: hoge doorvoer en lage latency voor samenvatten, chat en data-extractie. - `gemini-2.5-pro`: complex redeneren, geavanceerde codegeneratie en diep multimodaal begrip. - `gemini-2.5-flash-lite`: kostenefficient voor grote volumes. Let op: `gemini-2.0-flash-001` en `gemini-2.0-flash-lite-001` zijn sinds 6 maart 2026 alleen nog beschikbaar voor bestaande klanten. Gebruik ze niet meer voor nieuwe projecten. Google brengt daarnaast nieuwere modellen uit (zoals de Gemini 3-reeks); controleer altijd de actuele modelpagina voordat je een versie vastlegt, want modelnamen en levenscyclus veranderen regelmatig. :::tip title="Pin je modelversie bewust" Gebruik in productie een specifieke modelnaam in plaats van een alias, zodat een nieuwe Google-release je gedrag niet onverwacht wijzigt. Plan tegelijk een vast moment in om naar een nieuwer GA-model te migreren voordat je huidige model wordt uitgefaseerd. ::: ## Authenticatie configureren Authenticeer lokaal via Application Default Credentials: ```bash gcloud auth application-default login ``` Of, voor servers en CI, via een service account. Geef de voorkeur aan Workload Identity boven gedownloade sleutelbestanden; gebruik een keyfile alleen waar dat echt niet anders kan: ```bash export GOOGLE_APPLICATION_CREDENTIALS="/pad/naar/service-account.json" ``` ## Data residency instellen Voor EU-data residency kies je een EU-regio als `location`, bijvoorbeeld `europe-west4` (Nederland) of `europe-west1` (Belgie): ```python client = genai.Client( vertexai=True, project="mijn-gcp-project", location="europe-west4", ) ``` :::warn title="Niet elk model is in elke regio beschikbaar" Modelbeschikbaarheid verschilt per regio. Bijvoorbeeld: `gemini-2.5-flash` draait onder andere als regionaal endpoint in `europe-west4`, maar niet elke EU-regio biedt elk model. Controleer de pagina Deployments and endpoints in de Vertex AI-documentatie voordat je een regio vastlegt, anders krijg je een foutmelding dat het model daar niet bestaat. ::: ## IAM-rollen toekennen Ken de minimaal benodigde rol toe, volgens least privilege. Voor het aanroepen van modellen volstaat `roles/aiplatform.user`: ```bash gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:gemini-sa@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/aiplatform.user" ``` | Rol | Geeft toegang tot | |---|---| | `roles/aiplatform.viewer` | Alleen lezen | | `roles/aiplatform.user` | Modellen aanroepen en jobs bekijken | | `roles/aiplatform.admin` | Volledig beheer, inclusief tuning | ## VPC Service Controls VPC Service Controls leggen een beveiligingsperimeter om je Google Cloud-services, zodat data de perimeter niet kan verlaten via exfiltratie. Je richt dit in op organisatieniveau via Access Context Manager, niet in je applicatiecode. Voeg `aiplatform.googleapis.com` toe aan de beschermde services van je service-perimeter. ```bash gcloud access-context-manager perimeters update mijn-perimeter \ --add-restricted-services="aiplatform.googleapis.com" \ --policy=POLICY_ID ``` Roep vanuit de perimeter het regionale endpoint aan, zodat verkeer binnen de juiste regio en perimeter blijft: ```python from google import genai from google.genai.types import HttpOptions client = genai.Client( vertexai=True, project="mijn-gcp-project", location="europe-west4", http_options=HttpOptions( base_url="https://europe-west4-aiplatform.googleapis.com" ), ) ``` ## Customer-managed encryption keys (CMEK) Met CMEK versleutel je data-at-rest met je eigen sleutel uit Cloud KMS in plaats van een door Google beheerde sleutel. CMEK stel je in op de Vertex AI-resources die data opslaan (zoals tuning- of batchresources). Maak eerst een keyring en sleutel in dezelfde regio als je workload: ```bash gcloud kms keyrings create mijn-ring \ --location=europe-west4 gcloud kms keys create mijn-sleutel \ --location=europe-west4 \ --keyring=mijn-ring \ --purpose=encryption ``` Verwijs daarna naar de sleutel via de volledige resource-naam, bijvoorbeeld `projects/mijn-project/locations/europe-west4/keyRings/mijn-ring/cryptoKeys/mijn-sleutel`, bij het aanmaken van de betreffende resource. Geef het Vertex AI-serviceaccount de rol `roles/cloudkms.cryptoKeyEncrypterDecrypter` op die sleutel, anders mislukt de operatie. ## Audit logging inschakelen Zet Data Access-audit logs aan voor Vertex AI, zodat lees- en schrijfacties traceerbaar zijn: ```bash gcloud projects get-iam-policy PROJECT_ID > policy.yaml ``` Voeg het volgende `auditConfigs`-blok toe aan `policy.yaml` en pas de policy daarna toe: ```yaml auditConfigs: - service: aiplatform.googleapis.com auditLogConfigs: - logType: DATA_READ - logType: DATA_WRITE ``` ```bash gcloud projects set-iam-policy PROJECT_ID policy.yaml ``` De logs verschijnen in Cloud Logging en zijn op te vragen met: ```bash gcloud logging read \ 'protoPayload.serviceName="aiplatform.googleapis.com" AND logName:"cloudaudit.googleapis.com"' \ --limit=10 ``` ## Kosten beheersen Stel budgetalerts in met de Cloud Billing Budgets API, zodat je een melding krijgt bij bijvoorbeeld 80 procent van je budget: ```bash gcloud billing budgets create \ --billing-account=BILLING_ACCOUNT_ID \ --display-name="Gemini API budget" \ --budget-amount=1000EUR \ --threshold-rule=percent=0.8 ``` Voor gedetailleerde kostenanalyse exporteer je Cloud Billing naar BigQuery. Gebruik aparte projecten of labels per team, zodat je verbruik en kosten per team of feature kunt uitsplitsen. :::tip title="Reken vooraf je kosten door" Gemini rekent per token (apart voor invoer en uitvoer), en prijzen verschillen per model en regio. Schat je maandverbruik vooraf in op basis van gemiddelde prompt- en antwoordlengte, en bevestig de actuele tarieven op de Vertex AI-prijzenpagina voordat je grootschalig uitrolt. ::: :::faq ### Worden mijn Vertex AI-verzoeken gebruikt om Google's modellen te trainen? Nee. Google gebruikt prompts en antwoorden van Vertex AI niet om zijn foundation-modellen te trainen. De Gemini Developer API heeft lichtere garanties, dus voor gevoelige of gereguleerde data gebruik je Vertex AI. ### Welke modellen kan ik in 2026 het beste kiezen? Gebruik een GA-model zoals gemini-2.5-flash voor hoge doorvoer of gemini-2.5-pro voor complex redeneren. Vermijd gemini-2.0-flash voor nieuwe projecten, want dat is sinds 6 maart 2026 alleen nog voor bestaande klanten beschikbaar. Controleer de modelpagina, want Google brengt regelmatig nieuwere versies uit. ### Moet ik mijn bestaande code aanpassen? Waarschijnlijk wel. De oude module vertexai.generative_models met vertexai.init() is per 24 juni 2026 verwijderd. Migreer naar de google-genai SDK met genai.Client(vertexai=True, project, location) en client.models.generate_content. Raadpleeg de officiele migratiegids voor function calling en multi-turn gesprekken. ### Wat is de SLA van Vertex AI voor Gemini? Vertex AI biedt een maandelijkse uptime-SLA met financiele credits als Google de afgesproken Monthly Uptime Percentage niet haalt. De SLA dekt de generateContent en streamGenerateContent methodes. Lees de actuele SLA-pagina voor het exacte percentage en de uitsluitingen. ### Kan ik Gemini via Vertex AI on-premise draaien? Nee, de Gemini-modellen draaien op Google's infrastructuur. Voor strikte netwerkisolatie combineer je Vertex AI met VPC Service Controls en Private Service Connect. Wil je echt lokaal draaien, dan kijk je naar open source modellen op je eigen hardware. ### Hoe stel ik budgetwaarschuwingen per team in? Gebruik aparte Google Cloud-projecten per team met eigen budgetten, of label je verbruik en exporteer Cloud Billing naar BigQuery voor kostenanalyse per team of feature. Zo zie je precies waar het budget heen gaat. :::