0Pricing
AI Agents · Lektion

Agents hinter einer API bereitstellen

Verpacken Sie Ihren Agent in FastAPI mit Authentifizierung, Anfragevalidierung und Streaming über SSE oder WebSockets.

Agents hinter einer API bereitstellen ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Vom Notebook zum Service

Ein funktionierender Agent in einem Notebook ist erst der Anfang. Für die Auslieferung verpacken Sie ihn in eine HTTP-API, die von anderen Diensten aufgerufen werden kann.

FastAPI Skeleton

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class AgentRequest(BaseModel):
    query: str
    user_id: str

class AgentResponse(BaseModel):
    answer: str
    trace_id: str

@app.post('/agents/qa', response_model=AgentResponse)
def qa(req: AgentRequest):
    trace_id = run_agent(req.query, req.user_id)
    return AgentResponse(answer=result.answer, trace_id=trace_id)

Authentifizierung

Jeder Agent-Endpunkt muss sich authentifizieren. Verwenden Sie je nach Art des Aufrufers API-Schlüssel oder OAuth:

from fastapi import Header, HTTPException

def require_api_key(api_key: str = Header(alias='X-API-Key')):
    if not is_valid(api_key):
        raise HTTPException(401, 'Invalid API key')
    return api_key

@app.post('/agents/qa')
def qa(req: AgentRequest, key=Depends(require_api_key)):
    ...

Streaming von Antworten

Streamen Sie für Chat-UIs Tokens mit SSE:

from fastapi.responses import StreamingResponse

@app.post('/agents/qa/stream')
def qa_stream(req: AgentRequest):
    def gen():
        for chunk in stream_agent(req.query):
            yield f'data: {chunk}\n\n'
        yield 'data: [DONE]\n\n'
    return StreamingResponse(gen(), media_type='text/event-stream')

Validierung von Anfragen

Pydantic setzt Typen und grundlegende Validierung durch. Fügen Sie nach Bedarf benutzerdefinierte Validierung hinzu:

from pydantic import Field

class AgentRequest(BaseModel):
    query: str = Field(min_length=1, max_length=10_000)
    user_id: str
    options: dict = {}

Fehlerbehandlung

Ordnen Sie Exceptions sauberen HTTP-Antworten zu:

from fastapi import HTTPException

@app.exception_handler(BudgetExceeded)
def budget_handler(req, exc):
    return JSONResponse({'error': 'budget-exceeded'}, status_code=429)

@app.exception_handler(Exception)
def catch_all(req, exc):
    log.exception('Unhandled')
    return JSONResponse({'error': 'internal', 'trace_id': get_trace_id()}, status_code=500)

Nebenläufigkeit

FastAPI verwendet standardmäßig async. Verwenden Sie für CPU-intensive Agenten (selten) oder blockierende SDKs die asynchronen Clients:

from openai import AsyncOpenAI
client = AsyncOpenAI()

async def run_agent_async(query):
    return await client.chat.completions.create(...)

Health and Readiness Endpoints

@app.get('/healthz')
def healthz():
    return {'status': 'ok'}

@app.get('/readyz')
def readyz():
    if not vector_db.is_healthy():
        raise HTTPException(503)
    return {'status': 'ready'}

Containerise

FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ['uvicorn', 'main:app', '--host', '0.0.0.0', '--port', '8080']

Mit mehreren Workern ausführen

Uvicorn + Gunicorn für die Produktion:

gunicorn -k uvicorn.workers.UvicornWorker -w 4 main:app

Reverse Proxy

Setzen Sie Nginx oder Caddy für TLS, gzip und IP-Allowlisting als vorgeschaltete Komponenten ein.

Logging Structured Output

import structlog
log = structlog.get_logger()

@app.middleware('http')
async def log_requests(request, call_next):
    response = await call_next(request)
    log.info('http', method=request.method, path=request.url.path, status=response.status_code)
    return response

CORS for Browser Clients

from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
    CORSMiddleware,
    allow_origins=['https://app.example.com'],
    allow_methods=['*'], allow_headers=['*']
)

Punkt der Produktions-Checkliste

Was ist für jede Agent-API in der Produktion unerlässlich?

Zusammenfassung

FastAPI + Pydantic + asynchroner Client + Streaming + Authentifizierung + strukturierte Protokolle + Health-Probes. Das ist das Produktionsminimum.

Häufig gestellte Fragen

Ist die Lektion „Agents hinter einer API bereitstellen“ kostenlos?

Ja — der vollständige Text von „Agents hinter einer API bereitstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Agents hinter einer API bereitstellen“?

Verpacken Sie Ihren Agent in FastAPI mit Authentifizierung, Anfragevalidierung und Streaming über SSE oder WebSockets. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AI Agents zu starten?

Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Agents hinter einer API bereitstellen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?

Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Agents hinter einer API bereitstellen
  2. Asynchrone Workflows und Hintergrundjobs
  3. Rate-Limiting und Quotenverwaltung
  4. Blue-Green- und Canary-Deployments für Agents
← Zurück zu AI Agents