Lokale LLMs · Foto: derekGavey, CC BY 2.0
function_calling_filter_pipeline.py
Zuletzt aktualisiert:
Typ
Anleitung
Lizenz
MIT
Quelle
Anwendungsfeld
Ollama
Voraussetzungen
- Open WebUI mit Pipelines-Framework installiert
- Ein Sprachmodell, das zuverlässig strukturierte Funktionsaufrufe erzeugt (größere Qwen- oder Llama-Varianten eignen sich meist besser)
- Die anzubindenden Python-Funktionen, z. B. Wetterabfrage oder Rechner, müssen vorliegen
Einordnung
Erfordert ein passendes Modell und eigene Funktionsdefinitionen, erweitert die Fähigkeiten des LLM dafür deutlich.
Tool-/Function-Calling nachrüsten: LLM darf Python-Funktionen aufrufen (Beispiel: Wetter, Rechner).
Im Detail
Diese Open-WebUI-Pipeline rüstet Function bzw. Tool Calling nach: Das Sprachmodell erkennt im Gespräch, wann eine hinterlegte Python-Funktion gebraucht wird – etwa eine Wetterabfrage oder ein Taschenrechner – ruft sie mit passenden Parametern auf und baut das Ergebnis in seine Antwort ein. Als Filter greift sie in Ein- und Ausgabe ein, ohne dass man das Modell selbst anpassen muss. Praktisch für alle, die einem lokalen LLM echte Fähigkeiten jenseits von Textgenerierung geben wollen, etwa Datenbankabfragen, API-Aufrufe oder Berechnungen. Voraussetzung ist ein Modell, das zuverlässig strukturierte Funktionsaufrufe erzeugt; nicht jedes kleine lokale Modell schafft das sauber, größere Qwen- oder Llama-Varianten eignen sich meist besser.
Schritt für Schritt
- Pipeline aktivieren und die gewünschten Python-Funktionen wie Wetterabfrage, Rechner oder eigene APIs hinterlegen.
- Mit typischen Anfragen testen, ob das Modell die passende Funktion zuverlässig mit korrekten Parametern aufruft.
- Bei unzuverlässigen Aufrufen auf ein größeres, für Function Calling besser geeignetes Modell wechseln statt ein kleines lokales Modell zu erzwingen.
- Prüfen, ob das Ergebnis des Funktionsaufrufs korrekt in die Antwort eingebaut wird.
- Weitere Funktionen wie Datenbankabfragen oder API-Aufrufe nach demselben Muster ergänzen.
Beispiel aus der Praxis
Jemand fragt im Chat „Wie ist das Wetter in Hamburg?“; das Modell erkennt, dass eine Wetterfunktion nötig ist, ruft die hinterlegte Python-Funktion mit dem Parameter „Hamburg“ auf und baut das Ergebnis in seine Antwort ein.
Praxis-Tipp
Eigene Funktion einfach als Python-Funktion mit Docstring definieren, z. B. def get_weather(stadt: str) – die Pipeline übernimmt die Erkennung, wann sie aufgerufen wird.
Stolperfallen
Kleine lokale Modelle erzeugen Funktionsaufrufe oft nicht sauber strukturiert, wodurch die Pipeline sie nicht zuverlässig erkennt — hier hilft der Wechsel auf ein größeres, dafür geeignetes Modell wie größere Qwen- oder Llama-Varianten.
Siehe auch
Lizenz & Quelle
- Lizenz: MIT
- Quelle: open-webui/pipelines
Häufige Fragen.
Funktioniert das mit jedem lokalen Modell?
Nein, nicht jedes kleine Modell erzeugt zuverlässig strukturierte Funktionsaufrufe, größere Varianten eignen sich meist besser.
Muss ich das Sprachmodell selbst anpassen?
Nein, die Pipeline greift als Filter in Ein- und Ausgabe ein, ohne dass das Modell verändert werden muss.
Welche Funktionen lassen sich anbinden?
Laut Beispiel unter anderem Wetterabfragen und ein Taschenrechner, grundsätzlich beliebige hinterlegte Python-Funktionen wie Datenbankabfragen oder API-Aufrufe.
Inhalt ansehen (function_calling_filter_pipeline.py)
Lade …
Erfahrungen & Kommentare.
Funktioniert der Anleitung bei Ihnen? Tipps, Stolperfallen, Varianten — teilen Sie es mit der Community.
Lade Kommentare …
Passt dazu.
ollama_pipeline.py
Minimalbeispiel: Anfragen an einen Ollama-Server durchreichen — der beste Startpunkt, um das Pipeline-Prinzip zu verstehen.
ollama_manifold_pipeline.py
„Manifold": macht alle auf dem Ollama-Server installierten Modelle auf einmal verfügbar statt nur eines.
llama_cpp_pipeline.py
GGUF-Modelle direkt über die llama-cpp-python-Bibliothek fahren — ohne Ollama dazwischen.
