Agenten angetrieben von Llama 3.1: Testen der Funktionsaufruffähigkeiten
Erkunden Sie die Fähigkeiten von Llama 3.1 bei der Funktionsaufrufe und Werkzeugnutzung. Erfahren Sie, wie Sie Beobachtbarkeitstools wie LangTrace nutzen können, um die Leistung von LLM zu überwachen. Entdecken Sie die Stärken und Grenzen verschiedener Llama-Modellgrößen bei der Bewältigung komplexer Aufgaben.
15. Februar 2025

Erschließen Sie die Kraft von Llama 3.1 mit diesem umfassenden Leitfaden zu seinen Funktionsaufruffähigkeiten. Entdecken Sie, wie dieses hochmoderne Sprachmodell als intelligenter Agent genutzt werden kann, der nahtlos mit APIs integriert, um komplexe Aufgaben zu bewältigen. Erkunden Sie die Beobachtbarkeitsaspekte und gewinnen Sie Einblicke in die Leistung des Modells, um fundierte Entscheidungen für Ihr nächstes Projekt zu treffen.
Fähigkeiten von Llama 3.1 und Meta's Agentic System
Einrichten von LangTrace für Beobachtbarkeit
Testen von Funktionsaufrufen mit Llama 3.1 70B und 8B Modellen
Parallele Funktionsaufrufe und verschachtelte sequenzielle Funktionsaufrufe
Probleme des Llama 3.1 8B Modells mit Funktionsaufrufen
Groq's feinabgestimmtes Llama 3 Modell für Funktionsaufrufe
Schlussfolgerung
Fähigkeiten von Llama 3.1 und Meta's Agentic System
Fähigkeiten von Llama 3.1 und Meta's Agentic System
Eine der Schlüsselfähigkeiten von Llama 3.1, die Meta bei der Veröffentlichung hervorgehoben hat, ist das Aufrufen von Funktionen oder die Nutzung von Tools. Der Autor wollte diese Fähigkeit auf die Probe stellen.
Der Autor richtete zunächst die erforderlichen Tools und APIs ein, einschließlich der Groq-API, die eine der schnellsten APIs für die Interaktion mit Llama 3.1 bietet. Sie testeten die 70-Milliarden- und 8-Milliarden-Llama-3.1-Modelle sowie eine Groq-spezifische, feinabgestimmte Version des 70-Milliarden-Modells.
Der Autor begann mit einem einfachen Beispiel eines einzelnen Funktionsaufrufs und ging dann zu komplexeren Szenarien mit parallelen und verschachtelten Funktionsaufrufen über. Sie verwendeten die LangTrace-Observability-Plattform, um den Tokenverbrauch und andere Metriken während der Experimente zu verfolgen.
Einrichten von LangTrace für Beobachtbarkeit
Einrichten von LangTrace für Beobachtbarkeit
In diesem Abschnitt werden wir LangTrace, eine Open-Source- und Open-Telemetrie-Observability-Plattform für LLM-Anwendungen, einrichten. LangTrace ermöglicht es uns, die Anzahl der Anfragen und Token zu verfolgen, die zwischen unserer lokalen Umgebung und der LLM-API kommuniziert werden.
Zuerst müssen wir die erforderlichen Pakete installieren, einschließlich des LangTrace-Python-SDK, des Groq-Python-SDK und des OpenAI-Python-SDK (auch wenn wir das OpenAI-LLM nicht verwenden, ist es eine Abhängigkeit des LangTrace-SDK).
Als Nächstes richten wir unsere API-Schlüssel ein. Für dieses Experiment benötigen wir LangTrace nicht zwingend, aber es kann wertvolle Einblicke in die Nutzung unserer Token liefern. LangTrace ist in seiner Funktionalität ähnlich wie LangSmith, eine Observability-Plattform von LangChain, unterstützt aber eine breitere Palette an Anbietern, darunter OpenAI, Groq, Cohere und Perplexity.
Testen von Funktionsaufrufen mit Llama 3.1 70B und 8B Modellen
Testen von Funktionsaufrufen mit Llama 3.1 70B und 8B Modellen
Der Autor beginnt damit, dass Meta die Veröffentlichung eines agentischen Systems rund um das Funktionsaufrufen in Llama 3.1 hervorgehoben hat. Da der Autor das System nicht lokal eingerichtet hat, entscheidet er sich, die Groq-API zu verwenden, die eine der schnellsten APIs für die Interaktion mit Llama 3.1 bietet.
Der Autor testet die 70B- und 8B-Llama-3.1-Modelle sowie eine Groq-spezifische, feinabgestimmte Version des 70B-Modells. Sie verwenden LangTrace, eine Open-Source-Observability-Plattform für LLM-Anwendungen, um die Anzahl der Anfragen und ausgetauschten Token zwischen der lokalen Umgebung und der LLM-API zu verfolgen.
Der Autor beginnt mit einem einfachen Beispiel, bei dem das Modell eine "Spielergebnisse abrufen"-Funktion verwenden muss, um den Gewinner eines NBA-Spiels zu ermitteln. Das 70B-Modell führt diese Aufgabe erfolgreich aus, und der Autor untersucht die LangTrace-Daten, um den internen Mechanismus zu verstehen.
Parallele Funktionsaufrufe und verschachtelte sequenzielle Funktionsaufrufe
Parallele Funktionsaufrufe und verschachtelte sequenzielle Funktionsaufrufe
Das Llama-3.1-Modell, insbesondere die 70B-Version, zeigte beeindruckende Fähigkeiten beim Umgang mit parallelen Funktionsaufrufen und verschachtelten sequenziellen Funktionsaufrufen.
Wenn das Modell mit einer komplexen Aufforderung konfrontiert wurde, eine Reise von New York nach Paris zu planen, einschließlich der Überprüfung des Wetters, der Suche nach Flügen, Hotels und Sehenswürdigkeiten, konnte es die Aufgabe zerlegen und parallele Funktionsaufrufe durchführen, um die erforderlichen Informationen zu sammeln. Es kombinierte dann die Ergebnisse der verschiedenen Funktionen, um eine umfassende Zusammenfassung der Reisedetails zu liefern.
Das Modell zeigte auch seine Fähigkeit, verschachtelte Funktionsaufrufe zu handhaben, bei denen die Ausgabe einer Funktion als Eingabe für eine andere verwendet wurde. Im Szenario der Filmempfehlung konnte das Modell zunächst einen Film basierend auf der Präferenz des Benutzers auswählen und dann eine geeignete Snack-Empfehlung und eine Streaming-Plattform zum Ansehen des Films empfehlen.
Probleme des Llama 3.1 8B Modells mit Funktionsaufrufen
Probleme des Llama 3.1 8B Modells mit Funktionsaufrufen
Das 8-Milliarden-Llama-3.1-Modell hatte erhebliche Schwierigkeiten mit den komplexeren Funktionsaufruftasks im Vergleich zum größeren 70-Milliarden-Modell. Einige wichtige Beobachtungen:
-
Für den einfachen "Spielergebnisse abrufen"-Funktionsaufruf konnte das 8B-Modell ihn ohne Probleme bewältigen, ähnlich wie das 70B-Modell.
-
Bei parallelen Funktionsaufrufen für Aufgaben wie Reiseplanung jedoch scheiterte das 8B-Modell. Es konnte keine umfassenden Informationen zu Wetter, Flügen, Hotels und Sehenswürdigkeiten liefern, sondern halluzinierte oft Details oder listete keine verfügbaren Optionen auf.
-
Mit der erweiterten Funktionspalette hatte das 8B-Modell noch größere Schwierigkeiten, es halluzinierte Informationen über Ereignisse und Wetterdaten, die nicht angefordert wurden.
Groq's feinabgestimmtes Llama 3 Modell für Funktionsaufrufe
Groq's feinabgestimmtes Llama 3 Modell für Funktionsaufrufe
Das Groq-feinabgestimmte Llama-3-Modell für Funktionsaufrufe hatte in den Tests Schwierigkeiten im Vergleich zum größeren 70B-Llama-3.1-Modell. Einige wichtige Erkenntnisse:
- Als es aufgefordert wurde, das Ergebnis eines Warriors-Spiels anzugeben, bat das Modell um weitere spezifische Details wie das Datum oder den Gegnerverein, anstatt die bereitgestellte "Spielergebnisse abrufen"-Funktion zu verwenden.
- Bei Reiseplanungsanfragen bat das Modell wiederholt um weitere spezifische Details wie Reisedaten, anstatt die bereitgestellten Funktionen zu nutzen, um eine Antwort zu generieren.
- Für die Filmempfehlungsaufgabe hatte das Modell Schwierigkeiten, die verschachtelten Funktionen zu nutzen, und gab oft stattdessen eine direkte Filmempfehlung ab.
Schlussfolgerung
Schlussfolgerung
Das 70-Milliarden-LLAMA-3.1-Modell von Groq zeigte in den Tests zum Funktionsaufrufen und zur Toolnutzung eine hervorragende Leistung. Es konnte sowohl parallele als auch verschachtelte Funktionsaufrufe mühelos bewältigen und demonstrierte damit seine starken Fähigkeiten als agentisches System.
Im Gegensatz dazu hatte das 8-Milliarden-LLAMA-3.1-Modell mit diesen komplexeren Aufgaben Schwierigkeiten, was die Bedeutung der Verwendung größerer und leistungsfähigerer Sprachmodelle für solche Anwendungen unterstreicht.
Das spezialisierte Funktionsaufruf-Modell von Groq schnitt jedoch nicht so gut ab wie erwartet, selbst mit den bereitgestellten Beispielen. Dies deutet darauf hin, dass der Feinabstimmungsprozess für dieses Modell möglicherweise nicht so effektiv war wie erhofft.
FAQ
FAQ