Mit Example Store können Sie Few-Shot-Beispiele speichern und dynamisch abrufen. Mit Few-Shot-Beispielen können Sie einem LLM die erwarteten Antwortmuster vorführen, um die Qualität, Genauigkeit und Konsistenz der Antworten auf ähnliche Abfragen zu verbessern.
Was sind Few-Shot-Beispiele?
Ein Beispiel für wenige Datensätze ist mit Daten gekennzeichnet, die für Ihren LLM-Anwendungsfall spezifisch sind. Es enthält ein Eingabe-/Ausgabepaar, das die erwartete Modellantwort für eine Modellanfrage zeigt. Mithilfe von Beispielen können Sie das erwartete Verhalten oder Antwortmuster eines LLM demonstrieren.
Wenn Sie nur wenige relevante Beispiele verwenden, können Sie eine größere Anzahl möglicher Ergebnisse, des beabsichtigten Verhaltens und der Nutzereingaben abdecken, ohne die Größe oder Komplexität der Prompts entsprechend zu erhöhen. Dazu gehört, nur relevante Beispiele einzubeziehen (weniger Beispiele) und das erwartete Verhalten zu zeigen, anstatt es zu beschreiben.
Die Verwendung von Few-Shot-Beispielen ist eine Form des kontextabhängigen Lernens. Ein Beispiel zeigt ein klares Muster von Eingaben und Ausgaben, ohne zu erklären, wie das Modell die Inhalte generiert. Sie können mit relativ wenigen Beispielen mehr mögliche Ergebnisse oder Nutzeranfragen abdecken, ohne die Prompt-Größe oder die Codekomplexität zu erhöhen. Die Verwendung von Beispielen erfordert keine Aktualisierung der Parameter des vorab trainierten Modells und hat keine Auswirkungen auf das Wissen des LLM. Das macht das kontextbezogene Lernen mit Beispielen zu einem relativ einfachen und prägnanten Ansatz, um die Argumentation und Antwort eines LLM auf neue Prompts anzupassen, zu korrigieren oder zu verbessern.
Wenn Sie relevante Beispiele erfassen, die für Ihre Nutzeranfragen repräsentativ sind, können Sie das Modell dabei unterstützen, die Aufmerksamkeit aufrechtzuerhalten, das erwartete Muster zu veranschaulichen und auch falsches oder unerwartetes Verhalten zu korrigieren. Dies hat keine Auswirkungen auf andere Anfragen, die zu den erwarteten Antworten führen.
Wie bei allen Prompt-Engineering-Strategien ergänzen sich die Verwendung von Few-Shot-Beispielen und andere LLM-Optimierungstechniken wie die Abstimmung oder RAG.
Beispiel-Shop verwenden
Die folgenden Schritte zeigen, wie Sie den Beispiel-Shop verwenden können:
Erstellen oder wiederverwenden Sie eine
ExampleStore
-Ressource, auch als „Beispiel-Shop-Instanz“ bezeichnet.- Pro Region und Projekt können Sie maximal 50 Beispiel-Shop-Instanzen haben.
Beispiele auf der Grundlage von LLM-Antworten schreiben und hochladen Es gibt zwei mögliche Szenarien:
Wenn das Verhalten und das Antwortmuster des LLM wie erwartet sind, verfassen Sie anhand dieser Antworten Beispiele und laden Sie sie in die Beispielspeicherinstanz hoch.
Wenn das LLM unerwartetes Verhalten oder Antwortmuster zeigt, schreiben Sie ein Beispiel, um zu zeigen, wie die Antwort korrigiert werden kann, und laden Sie es dann in die Beispiel-Shop-Instanz hoch.
Die hochgeladenen Beispiele sind sofort für den Kundenservicemitarbeiter oder die LLM-Anwendung verfügbar, die mit der Beispiel-Shop-Instanz verknüpft ist.
Wenn ein auf dem Vertex AI Agent Development Kit basierender Agent mit der Beispielspeicherinstanz verknüpft ist, ruft der Agent die Beispiele automatisch ab und fügt sie in die LLM-Anfrage ein.
Bei allen anderen LLM-Anwendungen müssen Sie nach den Beispielen suchen, sie abrufen und dann in Ihre Prompts aufnehmen.
Sie können einer Beispielspeicherinstanz immer wieder Beispiele hinzufügen, wenn Sie eine unerwartete Leistung des LLM feststellen oder auf feindselige oder unerwartete Nutzeranfragen stoßen. Sie müssen weder Ihren Code aktualisieren noch eine neue Version Ihrer LLM-Anwendung neu bereitstellen. Die Beispiele sind für den Kundenservicemitarbeiter oder die Anwendung verfügbar, sobald Sie sie in die Beispiel-Store-Instanz hochgeladen haben.
Außerdem haben Sie folgende Möglichkeiten:
Sie können Beispiele abrufen, indem Sie eine Kosinus-Ähnlichkeitssuche zwischen den Suchschlüsseln der gespeicherten Beispiele und denen in Ihrer Abfrage ausführen.
Filtern Sie die Beispiele nach Funktionsnamen und verfeinern Sie die Liste der Kandidatenbeispiele auf diejenigen, die die möglichen Antworten des LLM darstellen.
Verbessern Sie Ihren Agenten oder Ihre LLM-Anwendung iterativ.
Beispiele für mehrere Kundenservicemitarbeiter oder LLM-Anwendungen freigeben.
Richtlinien für die Erstellung von Few-Shot-Beispielen
Die Auswirkungen von Beispielen auf die Modellleistung hängen davon ab, welche Arten von Beispielen in den Prompts enthalten sind und wie sie enthalten sind.
Im Folgenden finden Sie allgemeine Empfehlungen für das Erstellen von Beispielen:
Relevanz und Ähnlichkeit: Die Beispiele müssen in engem Zusammenhang mit der spezifischen Aufgabe oder Domain stehen. So kann sich das Modell auf die relevantesten Aspekte seines Wissens konzentrieren, die Tokennutzung verringern und die Leistung beibehalten oder sogar verbessern. Sie benötigen weniger Beispiele, wenn diese für die Unterhaltung relevant sind. Der Korpus der verfügbaren Beispiele muss repräsentativ für mögliche Nutzeranfragen sein. Außerdem muss ein Beispiel für eine bestimmte Nutzeranfrage relevant sein.
Komplexität: Verwenden Sie Beispiele mit geringer Komplexität, um die erwartete Argumentation zu veranschaulichen und so die Leistung des LLM zu verbessern.
Repräsentativ für die möglichen Modellergebnisse: Die erwarteten Antworten in einem Beispiel müssen mit dem möglichen Ergebnis übereinstimmen. So kann das Beispiel die Argumentation klar veranschaulichen, die mit der erwarteten Argumentation des LLM für den Prompt übereinstimmt.
Format: Für die beste Leistung sollten Sie Few-Shot-Beispiele in Ihrem Prompt so formatieren, dass sie mit den LLM-Trainingsdaten übereinstimmen und sich vom Konversationsverlauf abheben. Die Formatierung von Beispielen in einem Prompt kann sich erheblich auf die LLM-Leistung auswirken.
Anwendungsbeispiel: Funktionsaufruf
Mit Few-Shot-Beispielen lässt sich die Leistung von Funktionsaufrufen verbessern.
Sie können den erwarteten Funktionsaufruf für eine Nutzerabfrage in einem einheitlichen Muster angeben. Im Beispiel kann die erwartete Antwort auf die Anfrage modelliert werden, indem angegeben wird, welche Funktion aufgerufen werden muss und welche Argumente in den Funktionsaufruf aufgenommen werden sollen. Angenommen, die Funktion get_store_location
gibt den Standort und die Beschreibung eines Geschäfts zurück. Wenn eine Abfrage diese Funktion nicht wie erwartet aufruft oder eine unerwartete Ausgabe anzeigt, können Sie mit wenigen Beispielen dieses Verhalten für nachfolgende Abfragen korrigieren.
Weitere Informationen zu Funktionsaufrufen finden Sie unter Funktionsaufrufe.
Weitere Informationen finden Sie in der Kurzanleitung für einen Beispiel-Shop.