Kurze Frage: Was wäre eine „bessere“ Struktur für unseren Anwendungsfall?
Wir haben eine Reihe von exportierten Chat-Verlaufsprotokollen von Slack-Kanälen, die viel Know-how, erwähnte Probleme und Lösungen usw. enthalten. Offensichtlich enthalten diese Chats viel nutzlosen „Füllstoff“, dessen Übernahme in Themen/Beiträge und Nutzung durch den KI-Bot unwirtschaftlich wäre.
Wir haben etwa 10 Dateien mit jeweils ca. 1-2 MB Größe. In Bezug auf die Nutzung der KI-Persona werden nur etwa 30 Personen etwa 10 Chats pro Tag durchführen (schwer, das Token-Volumen hier abzuschätzen).
An diesem Punkt frage ich mich, was ein einigermaßen vernünftiger 80/20-Ansatz wäre, um diese Chat-Protokolle zu nutzen und sie einigermaßen wirtschaftlich zu halten. Es lief auf 2 Optionen hinaus:
Kopieren und Einfügen der Protokolle in Discourse-Themen/Beiträge: Schnell und schmutzig, keine benutzerdefinierte Entwicklung erforderlich, könnte zu hohen API-Kosten führen.
Irgendwie die Chat-Protokolle vorverarbeiten und in ein richtiges Format oder eine Struktur bringen und in die Persona hochladen.
Oder vielleicht eine Art Hybrid: Mit jeder KI-Bot-Anfrage die Ausgabe auswerten und als Textdatei speichern und dann in die Persona hochladen.
Welche Option empfehlen Sie? Oder vielleicht etwas ganz anderes?
Verarbeiten Sie die 10 Dateien mit einer „kreativen“ Persona, die ein LLM mit großem Kontext/großer Ausgabe wie Sonnet 4 thinking verwendet. Ziel dieser Verarbeitung wäre es, die Informationen zu „bereinigen“ und für RAG vorzubereiten.
Laden Sie dann die 10 verarbeiteten Dateien über unseren integrierten Upload in eine Persona hoch, damit RAG den Inhalt durchsuchen kann.
Da hier tonnenweise Daten vorhanden sind, rate ich davon ab, einen System-Prompt zu überladen. Als Richtlinie sollte ein System-Prompt nicht übermäßig lang sein, da dies kostspielig wird. 10.000 Token sind machbar, 100.000 Token sind mit den aktuellen Frontier-LLMs nicht machbar. Jede Interaktion wird Sie zu viel kosten und die LLMs werden zusätzlich verwirrt.
Nur zur Klärung: Werden alle hochgeladenen Dateien in den System-Prompt eingespeist? Oder werden sie zuerst durch das konfigurierte ai_embeddings_model verarbeitet und dann eingespeist?
Ich bin etwas verwirrt über Ihre empfohlene 10k Token-Grenze, besonders in Bezug auf den folgenden Teil:
Die Dateien in Discourse AI Persona, upload support sind nur durch Ihre Upload-Größe begrenzt, sie können riesig sein, sie werden über Embedding verarbeitet, wir fügen Chunks gemäß der Konfiguration in den Prompt ein.
Worüber ich sprach, war der Versuch, alle Informationen in einen einzigen System-Prompt zu zwängen, hier:
Meine nächsten Schritte sollten also im Grunde darin bestehen, ein paar Tests mit verschiedenen Embedding-Modellen durchzuführen und zu sehen, welche Token-Größe ich letztendlich in den System-Prompt einspeise, richtig?
Das Embedding-Modell steuert die Qualität, nicht die Quantität
Sie können alle Ihre Daten in einer einzigen Datei zusammenfassen. Wir werden sie im Hintergrund aufteilen und die relevantesten Teile abrufen und zu Ihrem Prompt hinzufügen.
Experimentieren Sie hier, um die Ergebnisse zu verbessern. Einige Bereinigungen funktionieren möglicherweise besser als andere. Einige Embedding-Modelle werden intelligenter darin sein, relevantere Teile zu finden.
Wenn du weitere hilfreiche Ressourcen hast, teile sie gerne hier. Sobald ich Fortschritte mache, werde ich versuchen, meine Erfahrungen hier auf Meta zu veröffentlichen.
[[Metadaten über Katzen]]
eine lange Geschichte über Katzen
[[Metadaten über Hunde]]
eine lange Geschichte über Hunde
Wenn wir sie nun mit Versionsnummern oder spezifischen Modellnummern anreichern wollen, verwende ich einfach das gleiche Format oder die gleiche Struktur, die Menschen beim Tippen verwenden würden?
Z.B.:
[[Metadaten über Katzen v1.0]]
eine lange Geschichte über Katzen
[[Metadaten über Hunde]]
eine lange Geschichte über Hunde
[[Metadaten über Katzen xxl v2.1]]
eine lange Geschichte über Katzen
[[Metadaten über Hunde v 1.1beta]]
eine lange Geschichte über Hunde
Wenn Versionsnummern in Metadaten fehlen (siehe Metadaten über Hunde), würde dieser Block dann für alle hundebezogenen Anfragen verwendet, unabhängig von der „Hundversion“?