So verwenden Sie die Gemini Decisions API

Ein praktisches Tutorial zur Gemini Decisions API: Ihre erste noul-Frage, Auswahl- und Bewertungsaufgaben, Bild- und PDF-Eingabe, konfidenzbasiertes Routing sowie eine CI-Regressionssuite, die Ihr Coding-Agent mit der Apidog CLI erstellt.

INEZA Felin-Michel

INEZA Felin-Michel

12 November 2026

So verwenden Sie die Gemini Decisions API

Apidog fĂĽr Unternehmen

On-Premises Bereitstellung

SSO & RBAC

SOC 2 konform

Apidog Enterprise entdecken

Um die Gemini Decisions API zu verwenden, holen Sie sich einen Schlüssel in Google AI Studio, installieren Sie google-genai 3.2 oder höher und rufen Sie client.decisions.create() mit dem Modell gemini-decision-1, einer gemeinsamen input und einer Map aus typisierten questions auf (noul, choice oder score). Sie erhalten für jede Frage eine kalibrierte Wahrscheinlichkeit und einen confidence-Wert – bei null Output-Tokens.

Unten: jeder Schritt in Python, JavaScript und REST, von Ihrer ersten Ja/Nein-Frage bis hin zu Confidence-basiertem Routing und einer CI-Testsuite.

Was ist die Gemini Decisions API?

Die Gemini Decisions API ist ein Endpoint in der Gemini Developer API (v1beta), der Fragen mit geschlossener Antwortmenge beantwortet, statt Text zu generieren. Sie senden eine multimodale Eingabe und bis zu 1.000 unabhängige Fragen. Das Modell gemini-decision-1 bewertet jede Option in einem einzigen Forward-Pass und liefert kalibrierte Wahrscheinlichkeiten, mit denen Ihr Code direkt verzweigen kann.

Google hat sie am 11. November 2026 angekĂĽndigt. Die offizielle Dokumentation definiert drei Fragetypen:

Fragetyp Verwenden Sie ihn, um RĂĽckgabe
noul PrĂĽfen, ob eine Aussage zutrifft (Ja/Nein) noul (0,01 bis 0,99), confidence
choice Eine Option aus 2 bis 255 auswählen choice, probabilities, confidence
score Anhand von 2 bis 255 geordneten Stufen bewerten score, probabilities, legend, confidence

Laut der Preisseite der Gemini API kostet sie 0,10 $ pro 1M Input-Tokens, Output ist kostenlos. Die gemeinsame Eingabe wird pro Anfrage nur einmal abgerechnet, egal wie viele Fragen Sie stellen. Wenn Sie bereits unseren Leitfaden zur Verwendung der OpenAI Decisions API gelesen haben, wird Ihnen das Format vertraut vorkommen – die unten beschriebenen Felder sind aber Geminis eigene.

Schritt 1: API-SchlĂĽssel holen und SDK installieren

  1. Ă–ffnen Sie Google AI Studio und erstellen Sie einen API-SchlĂĽssel.
  2. Exportieren Sie ihn: export GEMINI_API_KEY="your-key".
  3. Installieren Sie SDK 3.2 oder höher: pip install -U google-genai oder npm install @google/genai@latest.

Sie können Fragen zunächst ohne Code im Decisions Playground ausprobieren, das lauffähigen Code exportiert.

Free-Tier, geprüft am 12. November 2026: Die Seite zu Rate Limits listet für den Free-Tier 200 Anfragen pro Minute, 50.000 Tokens pro Minute und 10.000 Anfragen pro Tag auf. Input ist dort kostenlos, aber die Preisseite markiert Free-Tier-Daten mit „Used to improve our products: Yes“, halten Sie echte Kundendaten also auf einem bezahlten Tier. Mehr zu Googles kostenlosen Kontingenten finden Sie in unserem Leitfaden zum Gemini API Free-Tier.

Tier RPM TPM RPD
Free 200 50.000 10.000
Tier 1 1.500 1.000.000 50.000
Tier 2 5.000 4.000.000 Unbegrenzt
Tier 3 15.000 10.000.000 Unbegrenzt

Schritt 2: Ihre erste noul-Frage (Ja/Nein) stellen

Eine noul-Frage liefert die Wahrscheinlichkeit, dass die Antwort „Ja“ lautet. Beachten Sie die API-Version v1beta: Der Endpoint ist nicht auf v1 verfügbar.

Python:

from google import genai

client = genai.Client(http_options={"api_version": "v1beta"})

result = client.decisions.create(
    model="gemini-decision-1",
    input="The blue mug I ordered on Monday arrived cracked on Wednesday.",
    questions={
        "is_damaged": {
            "type": "noul",
            "instructions": "Did the item arrive damaged?",
        },
    },
)

answer = result.answers["is_damaged"]
print(f"P(yes)={answer.noul:.2f} confidence={answer.confidence:.2f}")

JavaScript:

import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiVersion: "v1beta" });

const result = await ai.decisions.create({
  model: "gemini-decision-1",
  input: "The blue mug I ordered on Monday arrived cracked on Wednesday.",
  questions: {
    is_damaged: { type: "noul", instructions: "Did the item arrive damaged?" },
  },
});

const answer = result.answers?.is_damaged;
if (answer?.type === "noul") console.log(answer.noul, answer.confidence);

REST:

curl -X POST "https://generativelanguage.googleapis.com/v1beta/decisions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-decision-1",
    "input": "The blue mug I ordered on Monday arrived cracked on Wednesday.",
    "questions": {
      "is_damaged": { "type": "noul", "instructions": "Did the item arrive damaged?" }
    }
  }'

Die Dokumentation von Google zeigt diese Antwort (ein Beispiel aus der Doku, kein Durchlauf von uns):

{
  "answers": { "is_damaged": { "type": "noul", "noul": 0.99, "confidence": 0.99 } },
  "usage": { "total_input_tokens": 100, "total_output_tokens": 0, "total_tokens": 100 }
}

Wenn „Ja“ mehrdeutig ist, fügen Sie criteria mit einer true_description und einer false_description hinzu. Eine Regel, die Sie sich merken sollten: noul-Werte liegen immer zwischen 0,01 und 0,99, sodass ein Schwellenwert über 0,99 nie greift.

Schritt 3: choice- und score-Fragen hinzufĂĽgen

Fassen Sie unabhängige Fragen zur selben Eingabe in einer Anfrage zusammen. Die Eingabe wird einmal abgerechnet; jede Frage fügt nur ihre eigenen Tokens hinzu.

result = client.decisions.create(
    model="gemini-decision-1",
    input="I was charged twice for my order and the export page crashes in Safari.",
    questions={
        "department": {
            "type": "choice",
            "instructions": "Which department should handle this request?",
            "criteria": {
                "billing": "Payments, invoices, and refunds.",
                "technical": "Problems using the product.",
                "shipping": "Delivery and tracking.",
                "other": "Anything outside these categories.",
            },
        },
        "severity": {
            "type": "score",
            "instructions": "How severe is this issue for the user?",
            "criteria": [
                "Cosmetic: appearance only, no lost functionality.",
                "Workaround available: a task fails, but another way works.",
                "Fully blocked: a task fails with no workaround.",
            ],
        },
    },
)

Drei Details aus der Doku, an denen sich viele stoĂźen:

Um aus einem Score eine diskrete Stufe zu erhalten, nehmen Sie den Eintrag mit der höchsten Wahrscheinlichkeit:

sev = result.answers["severity"]
level = max(sev.probabilities, key=sev.probabilities.get)
print(sev.legend[level])

Schritt 4: Bilder, PDFs und Audio senden

input akzeptiert einen String, einen Content-Block oder eine Liste von Blöcken, im selben Blockformat wie die Interactions API. Unterstützte Blöcke sind text, image, audio, video und document (nur PDF).

import base64

with open("earcup.jpg", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode("utf-8")
with open("return-form.pdf", "rb") as f:
    pdf_b64 = base64.b64encode(f.read()).decode("utf-8")

result = client.decisions.create(
    model="gemini-decision-1",
    input=[
        {"type": "text", "text": "Customer photo and form for return #8821.\n"},
        {"type": "image", "data": image_b64, "mime_type": "image/jpeg", "resolution": "low"},
        {"type": "document", "data": pdf_b64, "mime_type": "application/pdf"},
    ],
    questions={
        "visible_damage": {
            "type": "noul",
            "instructions": "Does the photo show physical damage to the device? Ignore the packaging.",
        },
        "form_signed": {
            "type": "noul",
            "instructions": "Is the return form in the PDF signed by the customer?",
        },
    },
)

FĂĽr Audio ĂĽbergeben Sie einen Block wie {"type": "audio", "uri": "<https-url>", "mime_type": "audio/mp3"}. Grenzen, die Sie kennen sollten:

Schritt 5: Wahrscheinlichkeiten und Confidence lesen

Jede Antwort enthält einen confidence-Wert von 0 bis 1, die geschätzte Wahrscheinlichkeit, dass die Top-Antwort richtig ist. Bei choice und score entspricht sie der Wahrscheinlichkeit des Top-Ergebnisses. Bei noul gilt max(noul, 1 - noul).

Ein noul von 0,03 hat also eine Confidence von 0,97: Das Modell ist sicher, dass die Antwort „Nein“ lautet.

Schritt 6: Antworten mit niedriger Confidence an einen Fallback weiterleiten

Nutzen Sie den Wert, um eine Aktion zu wählen, und die Confidence, um zu entscheiden, ob automatisch gehandelt wird:

a = result.answers
dept = a["department"]

if dept.confidence >= 0.7 and dept.choice != "other":
    route_to(dept.choice)
elif dept.confidence >= 0.4:
    route_to_fallback_model(ticket)   # a bigger model reasons it out
else:
    route_to("human_review")

Die Grenzen 0,7 und 0,4 sind Platzhalter: Google empfiehlt, Schwellenwerte anhand gelabelter Beispiele Ihres eigenen Datenverkehrs festzulegen. Zwei weitere Regeln aus der Doku:

Flussdiagramm für Confidence-basiertes Routing: eine Decisions-API-Antwort mit Confidence von 0,7 oder höher wird automatisch ausgeführt, 0,4 bis 0,7 geht an ein Fallback-Modell, unter 0,4 an die menschliche Prüfung

Schritt 7: Testen mit dem Coding-Agent und Apidog CLI

Eine Routing-Schicht scheitert still. Jemand formuliert ein Kriterium um, billing wird für die Hälfte Ihrer Tickets zu technical, und nichts wirft einen Fehler. Die Lösung ist eine Regressionssuite, die erwartete Entscheidungen festhält – und Ihr Coding-Agent kann sie mit der Apidog CLI erstellen, während Sie das Ergebnis prüfen.

npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com   # pick your agent when prompted

Geben Sie Ihrem Agenten dann einen einzigen Prompt:

In Apidog project <id>, build a test suite for POST
https://generativelanguage.googleapis.com/v1beta/decisions (header x-goog-api-key
from env var GEMINI_API_KEY). Add one request per question type (noul, choice,
score) asserting status 200, confidence between 0 and 1 and zero output tokens.
Add a test data set of 20 tickets with expected departments and assert each
choice matches with confidence >= 0.7. Run it and summarize failures.

Der Agent liest jedes Payload-Schema, validiert es, schreibt die Ressourcen und fĂĽhrt die Suite aus:

apidog cli-schema get test-scenario-create
apidog cli-schema validate test-scenario-create --file scenario.json
apidog test-scenario create --project <id> --file scenario.json
apidog test-data create --project <id> --file tickets.json
apidog test-suite create --project <id> --file suite.json
apidog run --test-suite <suiteId> --project <id> -e <envId> -d <testDataId> -r cli,junit --out-dir reports

Jedes Flag oben stammt aus apidog run --help der CLI 2.2.12. Ab jetzt schlägt jeder Prompt- oder Kriterien-Change, der die Entscheidung eines Fixtures umwirft, den Lauf fehl. Integrieren Sie denselben Aufruf apidog run ... -r cli,junit in GitHub Actions, zeigt die JUnit-Datei, welches Ticket umgekippt ist; unser Apidog-CLI-CI/CD-Leitfaden enthält die Workflow-Datei, und Apidog CLI in Claude Code behandelt die Agent-Einrichtung. Der kostenlose Apidog-Plan umfasst bis zu 4 Nutzer.

Grenzen und was noch nicht unterstĂĽtzt wird

Aus den Grenzen der Decisions API, geprĂĽft am 12. November 2026:

Google meldet eine End-to-End-Latenz von 150 bis 250 ms, nahezu konstant von 1 bis 100 Fragen bei Eingaben bis 16K Tokens, und sagt, Gemini Decision 1 fĂĽhre seine eigene Benchmark-Suite mit dem niedrigsten Kalibrierungsfehler an. Das sind Googles Zahlen; messen Sie die Latenz auf Ihren eigenen Eingaben, bevor Sie darauf aufbauen.

FAQ

Ist die Gemini Decisions API kostenlos? Es gibt einen Free-Tier mit kostenlosen Eingaben, begrenzt auf 200 RPM, 50.000 TPM und 10.000 Anfragen pro Tag (geprĂĽft am 12. November 2026). Free-Tier-Daten dĂĽrfen zur Verbesserung von Googles Produkten genutzt werden. Das bezahlte Tier kostet 0,10 $ pro 1M Input-Tokens.

Was bedeutet noul? Das ist der Ja/Nein-Fragetyp. Das Feld noul ist die Wahrscheinlichkeit, dass die Antwort „Ja“ lautet, zwischen 0,01 und 0,99.

Welche API-Version brauche ich? v1beta. Setzen Sie http_options={"api_version": "v1beta"} in Python, apiVersion: "v1beta" in JavaScript, oder rufen Sie /v1beta/decisions ĂĽber REST auf.

Funktioniert es auf Vertex AI? Noch nicht. Es gibt sie nur in der Gemini Developer API; Google listet Gemini in Google Cloud als „demnächst verfügbar“.

Wie wähle ich einen Confidence-Schwellenwert? Labeln Sie ein paar hundert echte Eingaben, führen Sie sie durch die API und wählen Sie den Grenzwert, an dem die Kosten falscher automatischer Aktionen den Kosten der menschlichen Prüfung entsprechen.

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen