Generierungstypen
Sie können verschiedene Methoden zur Textgenerierung verwenden, einschließlich Nicht-Streaming-, Streaming- und asynchronen Vervollständigungen.Einfache Generierung (ohne Streaming)
Verwenden Sie den folgenden Code, um Textgenerierung mit dem Infercom oder OpenAI Python-Client ohne Streaming durchzuführen.Asynchrone Generierung (ohne Streaming)
Für asynchrone Vervollständigungen verwenden Sie den AsyncSambaNova oder AsyncOpenAI Python-Client, wie unten dargestellt.Streaming-Antwort
Für Echtzeit-Streaming-Vervollständigungen verwenden Sie den folgenden Ansatz mit dem Infercom oder OpenAI Client.Modellauswahl
Modelle unterscheiden sich in ihrer Architektur, was ihre Geschwindigkeit und Antwortqualität beeinflusst. Die Auswahl eines Modells hängt von den unten aufgeführten Faktoren ab.
Experimentieren Sie mit verschiedenen Modellen, um dasjenige zu finden, das am besten zu Ihrem spezifischen Anwendungsfall passt.
Effektive Prompts erstellen
Prompt Engineering ist die Praxis, Prompts zu entwerfen und zu verfeinern, um optimale Antworten von großen Sprachmodellen (LLMs) zu erzielen. Dieser Prozess ist iterativ und erfordert Experimentieren, um die bestmöglichen Ergebnisse zu erreichen.Einen Prompt erstellen
Ein einfacher Prompt kann so simpel sein wie ein paar Worte, um eine Antwort vom LLM hervorzurufen. Für komplexere Anwendungsfälle können jedoch zusätzliche Elemente erforderlich sein, wie unten dargestellt.Erweiterte Prompting-Techniken
Um die Antwortqualität und das Denkvermögen zu verbessern, können fortgeschrittenere Techniken eingesetzt werden.
Weitere Details zum Prompt Engineering finden Sie unter A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications.
Nachrichten und Rollen
In Chat-basierten Interaktionen werden Nachrichten als Dictionaries mit bestimmten Rollen und Inhalten dargestellt.Häufige Rollen
Rollen werden typischerweise alssystem, user oder assistant kategorisiert.
Konversation mit mehreren Gesprächsrunden
Um den Kontext über mehrere Austausche hinweg aufrechtzuerhalten, werden Nachrichten in einem KI-Konversationssystem typischerweise als Liste von Dictionaries gespeichert. Jedes Dictionary enthält Schlüssel, die die Rolle des Absenders und den Nachrichteninhalt angeben. Diese Struktur hilft dem System, den Kontext über mehrere Gesprächsrunden hinweg zu verfolgen. Unten ist ein Beispiel dafür, wie eine Konversation mit mehreren Gesprächsrunden unter Verwendung des Modells Meta-Llama-3.1-8B-Instruct strukturiert wird:Structuring Multi-Turn Conversations in Meta-Llama-3.1-8B-Instruct using python
Example output
Überlegungen für lange Konversationen
Bei langen Konversationen mit LLMs müssen bestimmte Faktoren wie Token-Limits und Speicherbeschränkungen berücksichtigt werden, um Genauigkeit und Kohärenz sicherzustellen.- Token-Limits - LLMs haben ein festes Kontextfenster, das die Anzahl der Tokens begrenzt, die sie in einer einzigen Anfrage verarbeiten können. Wenn die Eingabe diese Grenze überschreitet, könnte das System sie abschneiden, was zu unvollständigen oder inkohärenten Antworten führt.
- Speicherbeschränkungen - Das Modell behält keinen Kontext über sein Eingabefenster hinaus bei. Um den Kontext zu bewahren, sollten frühere Nachrichten wieder in Prompts aufgenommen werden.