KI mit Python nutzen: Werkzeuge, Muster und ein sauberes Grundgerüst
KI mit Python zu nutzen ist der häufigste Weg in die Entwicklung mit Sprachmodellen. Alle großen Anbieter bieten offizielle Python-SDKs, und rund um Datenaufbereitung, Embeddings und Auswertung gibt es ein breites Angebot an Bibliotheken. Wichtiger als die Wahl des Frameworks ist ein sauberes Grundgerüst.
Die Grundausstattung
- Anbieter-SDK:
openai,anthropicodergoogle-genai. Sie kümmern sich um Authentifizierung, Wiederholungen und Datentypen. - Umgebungsvariablen: Schlüssel über
os.environoder eine nicht eingecheckte.env-Datei laden. - Datenvalidierung:
pydanticeignet sich, um JSON-Antworten in feste Strukturen zu überführen. - Virtuelle Umgebung: Projektbezogene Pakete mit
venvoder einem Paketmanager wieuvverwalten.
Ein sauberes Grundgerüst
Kapseln Sie den Modellaufruf in einer eigenen Funktion. So lassen sich später Anbieter, Modell, Protokollierung und Kostenmessung an einer Stelle ändern:
import os
from anthropic import Anthropic
client = Anthropic()
MODELL = os.environ.get("KI_MODELL", "MODELL-ID")
def frage(prompt, system="Antworte knapp auf Deutsch.", max_tokens=800):
r = client.messages.create(
model=MODELL, max_tokens=max_tokens, system=system,
messages=[{"role": "user", "content": prompt}],
)
print("Tokens:", r.usage.input_tokens, r.usage.output_tokens)
return r.content[0].text
Das Muster funktioniert mit jedem Anbieter gleich: eine Funktion, ein konfigurierbares Modell, Ausgabe der Token-Nutzung. Wer eine Anfrage aus der Dokumentation als curl-Befehl vorliegen hat, kann sie mit dem Werkzeug curl zu Python direkt in Python-Code übersetzen.
JSON zuverlässig verarbeiten
Sobald das Ergebnis weiterverarbeitet wird, braucht es feste Strukturen. Nutzen Sie die Structured-Output-Funktionen der Anbieter und prüfen Sie das Ergebnis trotzdem mit einem Schema. Ein passendes JSON-Schema entwirft der JSON-Schema-Generator; Hintergründe stehen unter Structured Outputs.
Viele Anfragen effizient abarbeiten
- Asynchron: Die SDKs bieten asynchrone Clients. Mit
asynciolassen sich mehrere Anfragen parallel senden, solange die Rate-Limits es zulassen. - Batch-Schnittstellen: Für große Mengen ohne Zeitdruck sind Batch-Aufträge günstiger; siehe Batch-Verarbeitung.
- Wiederholungen: Bei Fehlern wegen Überlastung mit wachsender Wartezeit erneut versuchen. Der Backoff-Rechner zeigt, wie lange das insgesamt dauern kann.
Frameworks: ja oder nein?
Bibliotheken für Agenten und RAG nehmen viel Arbeit ab, verstecken aber auch Details wie Prompts und Token-Verbrauch. Für den Anfang reicht das reine SDK oft völlig. Einen Überblick, wann sich ein Framework lohnt, gibt Agenten-Frameworks im Überblick. Wer Daten aus eigenen Dokumenten einbinden will, findet den Bauplan unter RAG-Pipeline bauen.
Typische Fehler
- Prompts als lange Zeichenketten quer im Code verstreut statt in eigenen Dateien oder Vorlagen.
- Keine Messung der Token-Nutzung, sodass Kosten erst auf der Rechnung auffallen.
- Antworten ungeprüft als JSON parsen und bei Fehlern abstürzen.
- Schlüssel versehentlich in Notebooks speichern und teilen.
Lokal testen ohne API-Kosten
Für erste Experimente oder vertrauliche Testdaten können Sie offene Modelle auf dem eigenen Rechner betreiben. Viele lokale Laufzeitumgebungen bieten eine Schnittstelle, die mit dem OpenAI-SDK kompatibel ist; im Code ändert sich dann nur die Basis-Adresse. So lässt sich dasselbe Grundgerüst lokal und in der Cloud nutzen. Wie das geht, zeigt Ollama Einstieg. Beachten Sie, dass kleinere lokale Modelle bei schwierigen Aufgaben deutlich schwächer sein können als große Cloud-Modelle.
Wer lieber in JavaScript arbeitet, findet das Gegenstück unter KI mit JavaScript.
Erstellt mit Unterstützung von KI, geprüft und redaktionell verantwortet von Leon Blatz. Allgemeine Information, keine Rechts-, Steuer- oder Finanzberatung.