Snelle vraag, wat zou een “betere” structuur zijn voor ons gebruiksscenario:
We hebben een reeks geëxporteerde chatgeschiedenislogboeken van Slack-kanalen die veel knowhow, genoemde problemen en oplossingen, enz. bevatten. Uiteraard bevatten die chats veel nutteloze “ruis” die onrendabel zou zijn om zomaar in onderwerpen/posts te dumpen en de AI-bot dat te laten gebruiken.
We hebben ongeveer 10 bestanden van elk ongeveer 1-2 MB groot. Wat betreft het gebruik van AI-persona’s, zullen er slechts ongeveer 30 mensen zijn die ongeveer 10 chats per dag doen (moeilijk om het tokenvolume hier te schatten).
Op dit punt vraag ik me af wat een redelijke 80/20-aanpak zou zijn om die chatlogboeken te gebruiken en het enigszins economisch te houden. Het kwam neer op 2 opties:
Kopieer en plak de logboeken in Discourse-onderwerpen/posts: Snel en vies, geen aangepaste ontwikkeling vereist, kan veel API-kosten met zich meebrengen.
Verwerk de chatlogboeken op de een of andere manier vooraf en plaats ze in een goed formaat of structuur en upload ze naar persona.
Of misschien een vorm van hybride: Evalueer bij elk AI-botverzoek de uitvoer en sla deze op als txt-bestand en upload deze vervolgens naar de persona.
Welke optie raden jullie aan? Of misschien iets heel anders?
Verwerk de 10 bestanden met een “Creatieve” persona met behulp van een LLM met grote context / grote output, zoals Sonnet 4 thinking. Het doel van deze verwerking zou zijn om de informatie op te schonen en voor te bereiden op RAG.
Upload vervolgens de 10 verwerkte bestanden met onze ingebouwde upload naar een persona, zodat RAG de inhoud kan doorzoeken.
Gezien de enorme hoeveelheid gegevens hier, raad ik af om een systeemprompt te overladen. Als richtlijn mag een systeemprompt niet erg lang zijn, dit wordt kostbaar. 10k tokens is werkbaar, 100k tokens is niet werkbaar met de huidige frontier LLM’s. Elke interactie zal u te veel kosten en de LLM’s zullen extra in de war raken.
Laat ons weten hoe het gaat!
Deel alstublieft de prompts die u hebt gebruikt om de chatlogs te verkleinen / op te schonen.
Just to clarify, are all the uploaded files injected into the system prompt? Or are they processed through the configured ai_embeddings_model first and then injected?
I am a bit confused about your recommended 10k token limit recommendation especially with the part below:
The files in Discourse AI Persona, upload support are only limited by your upload size, they can be huge, they are processed via embedding, we inject chunks into the prompt per configuration.
What I was talking about was trying to coerce all the information into a single system prompt here:
Dus in feite moeten mijn volgende stappen zijn om een paar tests uit te voeren met verschillende embeddingsmodellen en te zien welke token-grootte ik uiteindelijk in de systeemprompt injecteer, toch?
En bij het maken van die txt-bestanden met chunks, moet ik ervoor zorgen dat ze binnen een redelijke limiet van ongeveer 10k blijven?
The embedding model controls quality, not quantity
you can roll up all your data into a single file, we will chunk it in the background and retrieve the most relevant chunks and add the to your prompt
experimenting here would be about improving results, some cleanup may work better than others clean ups some embedding models will be smarter at finding more relevant pieces
[[metadata about cats]]
a long story about cats
[[metadata about dogs]]
a long story about dogs
Now if we want to enrich them with version numbers or specific model numbers, do I just use the same format or structure that humans would use when typing them?
E.g.:
[[metadata about cats v1.0]]
a long story about cats
[[metadata about dogs]]
a long story about dogs
[[metadata about cats xxl v2.1]]
a long story about cats
[[metadata about dogs v 1.1beta]]
a long story about dogs
Also, when version numbers are missing in metadata (see metadata about dogs), would that chunk be used in a response for all dog-related requests, no matter which “dog version”?