Abschnitte der Wissensbasis ▾

Navigation

▸ Hier starten Nach Rollen

Kategorien

Werkzeuge 54
Glossar 12

Werkzeuge

PydanticAI + Gonka – typisierte KI-Agenten für kleines Geld

PydanticAI ist ein Python-Framework zur Erstellung von KI-Agenten vom Team hinter Pydantic (jener Validierungsbibliothek, auf der die halbe Python-Ökosystem basiert). Das Hauptmerkmal von PydanticAI ist die typisierte Ausgabe: Sie beschreiben das Ergebnis als normales Pydantic-Modell, und das Framework garantiert, dass das Modell genau diese Struktur zurückgibt – validiert und einsatzbereit. Hinzu kommen verständliches @agent.tool tool calling, dependency injection und Unterstützung für jeden Provider.

Das Problem ist dasselbe wie bei allen Agenten-Frameworks: die Token-Kosten. Ein Agent mit Tools lässt den Kontext im Kreis laufen: Anfrage → tool-Aufruf → Ergebnis → erneute Anfrage. Bei einer einzigen Aufgabe kommen leicht mehrere Millionen Tokens zusammen. Bei den Tarifen von OpenAI ($2.50–15 pro 1M) und Anthropic ($3–15 pro 1M) wird selbst ein Prototyp teuer, und eine Produktion mit Tausenden von Anfragen pro Tag unerschwinglich.

PydanticAI arbeitet nativ mit jedem OpenAI-kompatiblen Endpoint über die Klassen OpenAIChatModel und OpenAIProvider zusammen. Das bedeutet, dass sich das JoinGonka Gateway mit wenigen Zeilen verbinden lässt – ohne separate Pakete oder Adapter. Das Ergebnis: Typisierte Agenten, die für $0.0062 pro 1M Eingangstokens laufen, statt $2.50–15 bei OpenAI/Anthropic – hunderte bis tausende Male günstiger.

Schnellstart: Verbindung im Code

Zuerst den Schlüssel holen: registriere dich auf gate.joingonka.ai/register — bei der Anmeldung gibt es 3M kostenlose Tokens — und erstelle einen jg-xxx-Schlüssel im Dashboard → API Keys.

Installation:

pip install pydantic-ai
# or the slim variant with only the OpenAI dependencies:
# pip install "pydantic-ai-slim[openai]"

Minimales Beispiel — ein Agent über Gonka. PydanticAI setzt einen eigenen Endpoint über OpenAIProvider(base_url=..., api_key=...), der an OpenAIChatModel übergeben wird:

from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai import OpenAIProvider

model = OpenAIChatModel(
    "MiniMaxAI/MiniMax-M2.7",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-your-key",
    ),
)

agent = Agent(model)

result = agent.run_sync("Explain in two sentences what PoUW is")
print(result.output)

Das war's — dein PydanticAI-Agent läuft über das dezentrale Gonka-Netzwerk für ein paar Cent. Die Methode run_sync ist praktisch für Skripte; für Async-Code gibt es await agent.run(...).

Modellparameter: Das Kontextfenster von MiniMax M2.7 umfasst 180K Tokens (180000), das von DeepSeek V4 Flash 380K, das von GLM-5.3 Flash 390K; die maximale Antwortlänge über das Gateway liegt bei bis zu 8192 Tokens bei MiniMax und GLM-5.3 Flash, bis zu 32768 bei DeepSeek. Die Ausgabe lässt sich über die Modelleinstellungen begrenzen (OpenAIChatModelSettings(max_tokens=8192)). Verfügbar sind MiniMaxAI/MiniMax-M2.7, deepseek-ai/DeepSeek-V4-Flash-0731 und zai-org/GLM-5.3-Flash — es genügt, den Modellnamen im ersten Argument von OpenAIChatModel zu ändern.

PydanticAI-Funktion: typisierte Ausgabe

Der Hauptgrund für PydanticAI ist der strukturierte Output. Statt die Antwort mit regulären Ausdrücken zu parsen, beschreibst du das Ergebnis als Pydantic-Modell und übergibst es an den Parameter output_type. Das Framework nutzt das Tool Calling des Modells, um es zu zwingen, Daten streng nach Schema zurückzugeben, validiert sie und liefert dir ein fertiges Objekt über result.output.

from pydantic import BaseModel
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai import OpenAIProvider

model = OpenAIChatModel(
    "MiniMaxAI/MiniMax-M2.7",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-your-key",
    ),
)


class Profile(BaseModel):
    name: str
    role: str
    skills: list[str]


agent = Agent(model, output_type=Profile)

result = agent.run_sync(
    "Extract the data: Anna is a backend developer who knows Python, Go and Postgres"
)
print(result.output)
# name='Anna' role='backend developer' skills=['Python', 'Go', 'Postgres']
print(result.output.skills)  # ['Python', 'Go', 'Postgres'] — already a list[str], not text

Das funktioniert, weil alle drei Gonka-Modelle (MiniMax M2.7, DeepSeek V4 Flash und GLM-5.3 Flash) natives Tool Calling unterstützen — PydanticAI stützt sich darauf, um eine gültige JSON-Struktur zurückzugeben. Am Ende erhältst du ein typisiertes Python-Objekt statt eines Strings, den du manuell zerlegen müsstest. Perfekt für Datenextraktion, Klassifizierung, Formularausfüllung und RAG-Pipelines, bei denen das Ergebnis in einem strikten Format weiter durch den Code fließen muss.

Kostenvergleich

PydanticAI ist ein Framework für Agenten und Pipelines, die kontinuierlich laufen: Daten extrahieren, Tools aufrufen, Anfrageströme verarbeiten. Hier entscheidet die Kostenstruktur der Token darüber, ob ein Projekt ein Prototyp bleibt oder in die Produktion geht. Vergleichen wir typische Auslastungen:

SzenarioTokenOpenAI / AnthropicJoinGonka Gonka
Strukturextraktion aus Dokumenten~3K$0.008 — $0.045~$0.000028
Agent mit Tool Calling (ein Zyklus)~15K$0.04 — $0.22~$0.00014
RAG-Pipeline (1000 Anfragen/Tag)~5M/Tag$12 — $75/Tag~$0.048/Tag
Production-Agent (100K Anfragen/Tag)~500M/Tag$1,250 — $7,500/Tag~$4.80/Tag

Der Unterschied beträgt das Hundert- bis Tausendfache. Für einen Prototypen bedeutet dies, dass die 3M kostenlosen Token für die ersten Durchläufe des Agenten ausreichen. Für die Produktion, die Hunderttausende von Anfragen pro Tag verarbeitet, beträgt die Einsparung zehntausende Dollar pro Monat — bei gleichem PydanticAI-Code, nur mit einer anderen base_url.

Ein jg-xxx Key und ein Guthaben funktionieren sowohl für das OpenAI-Format (/v1) als auch für das Anthropic-Format (/v1/messages) — für PydanticAI reicht jedoch der oben gezeigte OpenAI-kompatible Endpunkt aus.

Tool-Aufruf und Modellauswahl

Die zweite Schlüsselfunktion von PydanticAI sind Tools. Eine Funktion lässt sich mit dem Decorator @agent.tool_plain (ohne Kontext) oder @agent.tool (mit Zugriff auf RunContext und Dependency Injection) registrieren. Das Modell entscheidet selbst, wann es das Tool aufruft, erhält das Ergebnis und führt die Überlegung fort:

import random
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai import OpenAIProvider

model = OpenAIChatModel(
    "MiniMaxAI/MiniMax-M2.7",
    provider=OpenAIProvider(
        base_url="https://gate.joingonka.ai/v1",
        api_key="jg-your-key",
    ),
)

agent = Agent(
    model,
    instructions="You are an assistant. Use the tools when needed.",
)


@agent.tool_plain
def roll_dice() -> str:
    """Rolls a six-sided die and returns the result."""
    return str(random.randint(1, 6))


@agent.tool_plain
def calculator(expression: str) -> str:
    """Evaluates a math expression."""
    return str(eval(expression))


result = agent.run_sync("Roll the die and multiply the result by 7")
print(result.output)

Da das Tool Calling bei Gonka nativ ist, werden Tools zuverlässig aufgerufen — ohne fragiles Parsing von Textantworten. Der gesamte Zyklus (Anfrage → Tool-Aufruf → finale Antwort) kostet über Gonka rund $0.00007 gegenüber $0.04–0.22 bei OpenAI/Anthropic.

Welches Modell wählen: MiniMaxAI/MiniMax-M2.7 — für lange Dialoge und ausgewogene Aufgaben, Ausgabe bis 8192. deepseek-ai/DeepSeek-V4-Flash-0731 — einer der längsten Kontexte des Netzwerks (380K) und günstige große Prompts, Ausgabe bis 32768. zai-org/GLM-5.3-Flash — ein Reasoning-Modell für komplexe Überlegungen und der längste Kontext des Netzwerks (390K), Ausgabe bis 8192; Überlegungen verbrauchen einen Teil der max_tokens, also setze diesen mit Puffer an (ab 600). Alle drei sind jetzt mit einem einzigen Schlüssel verfügbar — nur die Modellzeile ändert sich. Verwandte Tools: LangChain für Chains und RAG, LlamaIndex für die Datenindizierung.

PydanticAI + Gonka = typisierte KI-Agenten in Python für Cent-Beträge. Structured Output bei Pydantic-Modellen, nativer tool calling, dependency injection – alles über OpenAIChatModel + OpenAIProvider mit einer einzigen base_url. Kosten: ab $0.0062 pro 1M Tokens statt $2.50–15 bei OpenAI und Anthropic.

Möchten Sie mehr erfahren?

Erkunden Sie andere Abschnitte oder beginnen Sie jetzt GNK zu verdienen.

Kostenlose Token erhalten →