machichdigital

Lokale LLMs · Foto: derekGavey, CC BY 2.0

AnleitungOllamaLizenz: MITfrei kopierbar

function_calling_filter_pipeline.py

Zuletzt aktualisiert:

⬇ Als Datei laden

⧉ –× kopiert⬇ –× heruntergeladenBewertung:

Typ

Anleitung

Lizenz

MIT

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

AufwandEinrichtung & Einarbeitung3/5 · mittelNutzenErtrag im Alltag4/5 · eher hochVoraussetzungenWas vorher da sein muss3/5 · mittel1 = gering5 = hoch

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

  1. Pipeline aktivieren und die gewünschten Python-Funktionen wie Wetterabfrage, Rechner oder eigene APIs hinterlegen.
  2. Mit typischen Anfragen testen, ob das Modell die passende Funktion zuverlässig mit korrekten Parametern aufruft.
  3. Bei unzuverlässigen Aufrufen auf ein größeres, für Function Calling besser geeignetes Modell wechseln statt ein kleines lokales Modell zu erzwingen.
  4. Prüfen, ob das Ergebnis des Funktionsaufrufs korrekt in die Antwort eingebaut wird.
  5. 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

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 …

Ihre IP-Adresse wird zum Schutz vor Missbrauch gespeichert und nach 14 Tagen automatisch entfernt (Datenschutz).

Passt dazu.