-
Notifications
You must be signed in to change notification settings - Fork 91
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
05a813e
commit d9debbc
Showing
1 changed file
with
75 additions
and
52 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,78 +1,101 @@ | ||
# PySpur - GUI zur Visualisierung von LLM Denkpfaden | ||
# PySpur - Graphbasierter Editor für LLM-Workflows | ||
|
||
<p align="center"> | ||
<a href="./README.md"><img alt="README in English" src="https://img.shields.io/badge/English-blue"></a> | ||
<a href="./README.md"><img alt="README auf Englisch" src="https://img.shields.io/badge/English-blue"></a> | ||
<a href="./README_CN.md"><img alt="简体中文版自述文件" src="https://img.shields.io/badge/简体中文-blue"></a> | ||
<a href="./README_JA.md"><img alt="日本語のREADME" src="https://img.shields.io/badge/日本語-blue"></a> | ||
<a href="./README_KR.md"><img alt="README in Korean" src="https://img.shields.io/badge/한국어-blue"></a> | ||
<a href="./README_KR.md"><img alt="README auf Koreanisch" src="https://img.shields.io/badge/한국어-blue"></a> | ||
<a href="./README_DE.md"><img alt="Deutsche Version der README" src="https://img.shields.io/badge/Deutsch-blue"></a> | ||
<a href="./README_FR.md"><img alt="Version française du README" src="https://img.shields.io/badge/Français-blue"></a> | ||
<a href="./README_ES.md"><img alt="Versión en español del README" src="https://img.shields.io/badge/Español-blue"></a> | ||
<a href="./README_FR.md"><img alt="Französische Version der README" src="https://img.shields.io/badge/Français-blue"></a> | ||
<a href="./README_ES.md"><img alt="Spanische Version der README" src="https://img.shields.io/badge/Español-blue"></a> | ||
</p> | ||
|
||
https://github.com/user-attachments/assets/19cf6f99-6d66-45dc-911c-74025f87b1d2 | ||
https://github.com/user-attachments/assets/9128885b-47ba-4fc6-ab6b-d567f52e332c | ||
|
||
# 🕸️ Warum PySpur? | ||
# ✨ Vorteile | ||
|
||
* Menschen denken bei schwierigen Problemen länger nach, um bessere Entscheidungen zu treffen. | ||
* Ebenso können wir LLMs dazu befähigen, länger nachzudenken, indem wir rechnerische Graphen verwenden, die mehrere Schritte und Rückkopplungsschleifen umfassen. | ||
* Solche Graphen beinhalten jedoch komplexe Abhängigkeiten zwischen Knoten, bei denen die Ausgabe eines Knotens zur Eingabe eines anderen wird. | ||
* **Das Ziel von PySpur ist es, Entwicklern zu ermöglichen, solche LLM-Graphen zu erstellen, zu testen und bereitzustellen, indem die Komplexität von paralleler Ausführung und Zustandsmanagement abstrahiert wird.** | ||
|
||
# ✨ Zentrale Vorteile | ||
|
||
1. **Entwicklung mit Compute-Nodes zur Laufzeit:** | ||
* **Hochrangige, integrierte Planer** (MCTS, Self-Refinement, BoN, ToT, etc.) | ||
* **Niedrigstufige Primitive für paralleles/sequenzielles Sampling** (Schleifen, Router, Verzweiger, Aggregatoren) | ||
* **Verifizierer** (Code-Nodes, LLM-als-Richter, Software-Integrationen, etc.) | ||
2. **Debugging mit Evaluierungen:** | ||
* **Gemeinsame Benchmarks für logisches Denken** (GSM8k, MATH, ARC, etc.) | ||
* **Bewertungen** via LLM-als-Richter | ||
* **Benutzerdefinierte Datensätze** via CSV, JSONL, HF Datasets | ||
3. **Bereitstellung für Batch-Inferenz über Job-Queue:** | ||
* **Einreichung/Verwaltung von Batch-Jobs über die Benutzeroberfläche** für einfache Nutzung | ||
* **Selbsthosting von asynchronen Batch-APIs** für volle Flexibilität | ||
* **Fehlertoleranz und Job-Persistenz** für langlaufende Jobs | ||
## Modulare Bausteine | ||
|
||
# 🗺️ Roadmap | ||
https://github.com/user-attachments/assets/6442f0ad-86d8-43d9-aa70-e5c01e55e876 | ||
|
||
- [X] Canvas | ||
- [X] ITC-Nodes | ||
- [X] Asynchrone/Batch-Ausführung | ||
- [ ] Vorlagen | ||
- [ ] Übersetzung von Spurs in Code | ||
- [ ] ITC-Node-Monitoring | ||
- [ ] Neue Nodes | ||
- [ ] Tools | ||
- [ ] Schleifen | ||
- [ ] Bedingungen | ||
- [ ] Evaluierungen | ||
- [ ] Multimodal | ||
- [ ] Spur-API | ||
- [ ] Containerisierung von Code-Verifizierern | ||
- [ ] Bestenliste | ||
- [ ] Automatische Generierung von Spurs durch KI | ||
## Debugging auf Knoten--ebene | ||
|
||
https://github.com/user-attachments/assets/6e82ad25-2a46-4c50-b030-415ea9994690 | ||
|
||
## Evaluierung der Endleistung | ||
|
||
Ihr Feedback ist uns sehr wichtig. Bitte [teilen Sie uns mit](mailto:[email protected]?subject=Feature%20Request&body=I%20want%20this%20feature%3Ai), welche Funktionen auf dieser Liste Sie als nächstes sehen möchten, oder schlagen Sie völlig neue vor. | ||
https://github.com/user-attachments/assets/4dc2abc3-c6e6-4d6d-a5c3-787d518de7ae | ||
|
||
## Demnächst: Selbstverbesserung | ||
|
||
https://github.com/user-attachments/assets/5bef7a16-ef9f-4650-b385-4ea70fa54c8a | ||
|
||
|
||
# 🕸️ Warum PySpur? | ||
|
||
* **Leicht erweiterbar**: Zum Beispiel kann man neue Workflow-Knoten einfach durch das Hinzufügen einer einzigen Python-Datei erstellen. | ||
* **JSON-Konfigurationen** für Workflow-Grafen, was das einfache Teilen und die Versionskontrolle ermöglicht. | ||
* **Leichtgewichtig** dank minimaler Abhängigkeiten, um aufgeblähte LLM-Frameworks zu vermeiden. | ||
|
||
# ⚡ Schnellstart | ||
|
||
PySpur kann in drei einfachen Schritten eingerichtet werden. | ||
Mit drei einfachen Schritten können Sie PySpur zum Laufen bringen. | ||
|
||
1. **Klonen Sie das Repository:** | ||
1. **Repository klonen:** | ||
```sh | ||
git clone https://github.com/PySpur-com/PySpur.git | ||
cd pyspur | ||
``` | ||
|
||
2. **Starten Sie die Docker-Services:** | ||
2. **Docker-Services starten:** | ||
|
||
```sh | ||
sudo docker compose up --build -d | ||
``` | ||
|
||
Dies startet eine lokale Instanz von PySpur, die Spuren (Spurs) und ihre Ausführungen in einer lokalen SQLite-Datei speichert. | ||
|
||
3. **Auf das Portal zugreifen:** | ||
|
||
Öffnen Sie in Ihrem Browser `http://localhost:6080/`. | ||
|
||
Geben Sie als Benutzername/Passwort `pyspur`/`canaryhattan` ein. | ||
|
||
4. **Ihre LLM-Provider-Keys hinzufügen:** | ||
|
||
Gehen Sie zum Einstellungsmenü oben rechts im Portal. | ||
|
||
<img width="1913" alt="image" src="https://github.com/user-attachments/assets/32fe79f1-f518-4df5-859c-1d1c0fc0570e" /> | ||
|
||
Wählen Sie den Reiter "API keys" aus. | ||
|
||
```sudo docker compose up --build -d``` | ||
<img width="441" alt="image" src="https://github.com/user-attachments/assets/cccc7e27-c10b-4f3a-b818-3b65c55f4170" /> | ||
|
||
Dadurch wird eine lokale Instanz von PySpur gestartet, die Spurs und deren Ausführungen in einer lokalen SQLite-Datei speichert. | ||
Geben Sie den Key Ihres Anbieters ein und klicken Sie auf "Save" (Speichern). (Die Schaltfläche zum Speichern erscheint, nachdem Sie einen Key hinzugefügt oder bearbeitet haben.) | ||
|
||
3. **Zugriff auf das Portal:** | ||
<img width="451" alt="image" src="https://github.com/user-attachments/assets/e35ba2bb-4c60-4b13-9a8d-cc47cac45375" /> | ||
|
||
Öffnen Sie `http://localhost:6080/` in Ihrem Browser. | ||
Die Einrichtung ist abgeschlossen. Klicken Sie auf "New Spur", um einen neuen Workflow zu erstellen, oder beginnen Sie mit einer der vorgegebenen Vorlagen. | ||
|
||
# 🗺️ Roadmap | ||
|
||
- [X] Canvas | ||
- [X] Asynchrone/Batch-Ausführung | ||
- [X] Evaluierungen | ||
- [X] Spur-API | ||
- [ ] Neue Knoten | ||
- [X] LLM-Knoten | ||
- [X] If-Else | ||
- [X] Zusammenführen von Zweigen | ||
- [ ] Tools | ||
- [ ] Schleifen | ||
- [ ] Pipeline-Optimierung mit DSPy und verwandten Methoden | ||
- [ ] Vorlagen (Templates) | ||
- [ ] Kompilieren von Spurs in Code | ||
- [ ] Multimodale Unterstützung | ||
- [ ] Containerisierung von Code-Verifizierern | ||
- [ ] Bestenliste (Leaderboard) | ||
- [ ] Erstellen von Spurs mittels KI | ||
|
||
Geben Sie `pyspur`/`canaryhattan` als Benutzername/Passwort ein. | ||
Ihr Feedback ist uns sehr wichtig. | ||
Bitte [teilen Sie es uns mit](mailto:[email protected]?subject=Feature%20Request&body=I%20want%20this%20feature%3Ai), welche Funktionen Sie als Nächstes sehen möchten oder schlagen Sie völlig neue Features vor. |