Pyspur: Open Source KI Agenten erstellen

Mark Ponomarev

Mark Ponomarev

17 June 2025

Pyspur: Open Source KI Agenten erstellen

Was ist Pyspur?

Pyspur ist eine Open-Source-Plattform, die entwickelt wurde, um die Entwicklung von KI-Agenten durch Bereitstellung einer visuellen, knotenbasierten Umgebung zu beschleunigen. Sie ermöglicht es Ingenieuren, komplexe KI-Workflows zu erstellen, zu debuggen und bereitzustellen, indem sie modulare Komponenten auf einer Drag-and-Drop-Leinwand verbinden.

Das Kernproblem, das Pyspur löst, ist der Mangel an Transparenz und der langsame Iterationszyklus, der in der KI-Entwicklung üblich ist. Es bekämpft "Prompt-Hölle" und "Workflow-Blindstellen", indem es Entwicklern ermöglicht, die Eingaben und Ausgaben jedes Schritts in der Logik ihres Agenten in Echtzeit zu überprüfen. Die Plattform bietet integrierte Unterstützung für fortgeschrittene Muster wie Retrieval-Augmented Generation (RAG), ermöglicht Breakpoints mit menschlicher Beteiligung (human-in-the-loop) und kann jeden Workflow mit einem einzigen Klick als produktionsreife API bereitstellen. Letztendlich hilft Pyspur Ingenieuren, zuverlässigere und besser debuggbare KI-Systeme schneller zu erstellen.

💡
Möchten Sie ein großartiges API-Testwerkzeug, das schöne API-Dokumentation generiert?

Möchten Sie eine integrierte All-in-One-Plattform für Ihr Entwicklerteam, um mit maximaler Produktivität zusammenzuarbeiten?

Apidog erfüllt alle Ihre Anforderungen und ersetzt Postman zu einem viel günstigeren Preis!
button

Fangen wir an!

1. Umgebungseinrichtung

Wählen Sie die Einrichtungsoption, die am besten zu Ihrem Ziel passt. Für die lokale Entwicklung und Experimente ist die pip-Installation ausreichend. Für skalierbare oder Produktionssysteme wird die Docker-basierte Einrichtung empfohlen, da sie eine reproduzierbare, containerisierte Umgebung mit einer dedizierten PostgreSQL-Instanz bietet.

Option A: Lokale pip-Installation

Voraussetzungen: Python 3.11+

Von PyPI installieren:

pip install pyspur

Projektverzeichnis initialisieren: Dieser Befehl erstellt ein Projektgerüst, einschließlich einer .env-Datei für die Konfiguration.

pyspur init my-pyspur-project && cd my-pyspur-project

Server starten: Das Flag --sqlite weist Pyspur an, eine lokale SQLite-Datenbank zu verwenden, wodurch die Abhängigkeit von einem separaten Datenbankserver entfällt.

pyspur serve --sqlite

Auf UI zugreifen: Navigieren Sie in Ihrem Browser zu http://localhost:6080.

Option B: Docker-Einrichtung

Voraussetzungen: Docker Engine

Setup-Skript ausführen: Dieser Befehl lädt ein Shell-Skript herunter und führt es aus, das das Pyspur-Repository klont, die Datei docker-compose.dev.yml konfiguriert und den Anwendungsstack (Frontend, Backend, Datenbank) startet.

curl -fsSL https://raw.githubusercontent.com/PySpur-com/pyspur/main/start_pyspur_docker.sh | bash -s pyspur-project

Auf UI zugreifen: Navigieren Sie zu http://localhost:6080.


2. Erstellen wir einen Workflow mit Pyspur

Anstatt von Grund auf neu zu bauen, laden und analysieren wir eine vorhandene Pyspur-Vorlage. Dieser Ansatz bietet einen realistischen Einblick in einen nicht-trivialen Workflow.

Vorlage laden:

Workflow-Analyse:
Dieser Workflow wurde entwickelt, um einen Witz zu generieren und ihn dann zu verfeinern. Er verwendet einen BestOfNNode, eine fortgeschrittene Komponente, die einen LLM-Prompt N Mal ausführt, einen weiteren LLM-Aufruf verwendet, um die N Ausgaben zu bewerten, und die beste auswählt.

Betrachten wir die wichtigsten Knoten, wie in joke_generator.json definiert:

input_node (InputNode): Dieser Knoten definiert den Einstiegspunkt des Workflows.

JokeDrafter (BestOfNNode): Dies ist die erste Stufe der Witzerstellung.

JokeRefiner (BestOfNNode): Dieser Knoten nimmt den entworfenen Witz und verbessert ihn.

Links: Das links-Array im JSON definiert den Datenfluss:
input_node -> JokeDrafter -> JokeRefiner.

Ausführung und Inspektion:


3. Implementierung einer RAG-Pipeline

Obwohl nicht Teil des Witz-Generators, ist Retrieval-Augmented Generation (RAG) eine entscheidende Fähigkeit von Pyspur. Hier ist der technische Prozess zum Hinzufügen von Wissen zu einem Agenten:

  1. Dokumentaufnahme (Collection): Navigieren Sie zum Abschnitt RAG. Wenn Sie eine "Document Collection" erstellen und eine Datei hochladen (z. B. ein PDF), initiiert Pyspur einen Backend-Prozess, der das Dokument in Text parst, es basierend auf der Token-Länge in konfigurierbare Abschnitte (Chunks) unterteilt und diese Abschnitte mit Quell-Metadaten in seiner Datenbank speichert.
  2. Vektorisierung (Index): Das Erstellen eines "Vector Index" aus einer Collection löst einen weiteren Prozess aus. Pyspur durchläuft jeden Textabschnitt, macht einen API-Aufruf an ein angegebenes Embedding-Modell (z. B. OpenAIs text-embedding-ada-002), um eine Vektorrepräsentation zu erhalten, und fügt diese Vektoren in eine konfigurierte Vektordatenbank ein (z. B. ChromaDB, PGVector).
  3. Abruf (Workflow Node): In einem Workflow wird der Retriever Node so konfiguriert, dass er auf einen bestimmten Vector Index verweist. Zur Laufzeit wird dessen Eingabe query mit demselben Modell eingebettet, und eine semantische Suche (ungefährer nächster Nachbar) wird gegen die Vektordatenbank durchgeführt, um die relevantesten Textabschnitte abzurufen. Diese Abschnitte werden dann als Kontext an ein nachgeschaltetes LLM übergeben.

4. Bereitstellung als Produktions-API

Wenn Ihr Workflow fertiggestellt ist, können Sie ihn als sicheren HTTP-Endpunkt bereitstellen.

Bereitstellung initiieren: Klicken Sie in der oberen Navigationsleiste auf die Schaltfläche "Deploy" (Bereitstellen).

API-Aufruftyp auswählen:

Integration in Ihre Anwendung:
Das Bereitstellungs-Modal generiert Client-Code. Der Body der POST-Anfrage muss ein JSON-Objekt sein, bei dem der Schlüssel initial_inputs ein Objekt enthält, dessen Schlüssel mit dem title Ihrer Eingabeknoten übereinstimmen.

Beispiel Python Client (für den Witz-Generator):

import requests
import json
import time

PYSUR_HOST = "http://localhost:6080"
WORKFLOW_ID = "your_workflow_id_here" # Get this from the deploy modal

# The keys in this dict must match the 'output_schema' of the input_node
payload = {
    "initial_inputs": {
        "input_node": {
            "topic": "Python decorators",
            "audience": "Senior Software Engineers"
        }
    }
}

# 1. Start the non-blocking run
start_url = f"{PYSUR_HOST}/api/wf/{WORKFLOW_ID}/start_run/?run_type=non_blocking"
start_resp = requests.post(start_url, json=payload)
run_id = start_resp.json()['id']
print(f"Workflow started with run_id: {run_id}")

# 2. Poll for the result
status_url = f"{PYSUR_HOST}/api/runs/{run_id}/status/"
while True:
    status_resp = requests.get(status_url)
    data = status_resp.json()
    status = data.get("status")
    print(f"Current status: {status}")
    if status in ["COMPLETED", "FAILED"]:
        print("Final Output:")
        print(json.dumps(data.get("outputs"), indent=2))
        break
    time.sleep(2)

Fazit

Pyspur bietet eine robuste, transparente und technisch fundierte Umgebung für die Entwicklung von KI-Agenten. Durch die Abstraktion einzelner Operationen in modulare Knoten und die Bereitstellung einer visuellen Leinwand ermöglicht es Ingenieuren, sich auf die übergeordnete Logik ihrer Agenten zu konzentrieren. Die wahre Stärke der Plattform liegt in ihrer tiefen Inspektionsfähigkeit – die es Ihnen ermöglicht, den Datenfluss zu verfolgen und die Ein-/Ausgabe jeder Komponente zu debuggen – und ihrem nahtlosen Übergang vom visuellen Prototyp zur produktionsreifen API. Der Übergang von einfachen Single-Call-Agenten zu komplexen, mehrstufigen Workflows, die Muster wie Best-of-N oder RAG nutzen, ist nicht nur möglich, sondern intuitiv. Mit Pyspur bauen Sie nicht nur Kästchen zusammen; Sie entwickeln zuverlässige, debuggbare und skalierbare KI-Systeme.

💡
Möchten Sie ein großartiges API-Testwerkzeug, das schöne API-Dokumentation generiert?

Möchten Sie eine integrierte All-in-One-Plattform für Ihr Entwicklerteam, um mit maximaler Produktivität zusammenzuarbeiten?

Apidog erfüllt alle Ihre Anforderungen und ersetzt Postman zu einem viel günstigeren Preis!
button

Praktizieren Sie API Design-First in Apidog

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