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.| Faktor | Überlegung |
|---|---|
| Aufgabenkomplexität | Größere Modelle sind besser für komplexe Aufgaben geeignet. |
| Genauigkeitsanforderungen | Größere Modelle bieten in der Regel eine höhere Genauigkeit. |
| Kosten und Ressourcen | Größere Modelle sind mit erhöhten Kosten und Ressourcenanforderungen verbunden. |
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.| Element | Beschreibung |
|---|---|
| Definition einer Persona | Zuweisung einer bestimmten Rolle an das Modell (z.B. “Sie sind ein Finanzberater”). |
| Bereitstellung von Kontext | Bereitstellung von Hintergrundinformationen zur Steuerung der Modellantwort. |
| Festlegung des Ausgabeformats | Anweisung an das Modell, in einem bestimmten Stil zu antworten (z.B. JSON, Aufzählungspunkte, strukturierter Text). |
| Beschreibung eines Anwendungsfalls | Klärung des Ziels der Interaktion. |
Erweiterte Prompting-Techniken
Um die Antwortqualität und das Denkvermögen zu verbessern, können fortgeschrittenere Techniken eingesetzt werden.| Technik | Beschreibung |
|---|---|
| In-Context Learning | Bereitstellung von Beispielen für gewünschte Ausgaben zur Steuerung des Modells. |
| Chain-of-Thought (CoT) Prompting | Ermutigung des Modells, seine Überlegungen zu artikulieren, bevor es eine Antwort liefert. |
Nachrichten und Rollen
In Chat-basierten Interaktionen werden Nachrichten als Dictionaries mit bestimmten Rollen und Inhalten dargestellt.| Element | Beschreibung |
|---|---|
role | Gibt an, wer die Nachricht sendet. |
content | Enthält den Nachrichtentext. |
Häufige Rollen
Rollen werden typischerweise alssystem, user oder assistant kategorisiert.
| Rolle | Beschreibung |
|---|---|
system | Stellt allgemeine Anweisungen für das Modell bereit. |
user | Repräsentiert die Benutzereingabe. |
assistant | Enthält die Antwort des Modells. |
tool | Enthält ein Werkzeug-Ausführungsergebnis. |
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.