1. Kies een ongecensureerd LLM-API
Begin met het gedrag van het model op je eigen prompts. Stuur een vaste set van wettelijke, volwassen en fictieve verzoeken en registreer elke weigering. Een endpoint dat wettelijk creatief werk weigert, dwingt je tot het toevoegen van workarounds die het product verstoren.
Ons endpoint beantwoordt wettelijke volwassen, fictieve en controversiële verzoeken direct, met de id uncensored.
2. Verifieer OpenAI-compatibiliteit
Wijs de officiële OpenAI SDK naar de base URL https://nsfwollama.com/v1 en stuur één kort bericht. Als het antwoord terugkomt in choices[0].message.content, werkt je bestaande chatcode zonder aanpassingen.
- Controleer dat streaming server-sent events retourneert.
- Controleer dat fouten terugkomen als JSON met een statuscode.
3. Streaming implementeren voor UX
Gebruikers beoordelen een chatbot aan de hand van hoe snel de eerste woorden verschijnen. Stel stream: true, toon elk chunk wanneer deze aankomt en bewaar de volledige tekst in een buffer voor opslag.
Meet de tijd tot het eerste token bij gesprekken van verschillende lengtes. Een antwoord dat snel start bij korte chats, kan langzamer worden naarmate de geschiedenis groeit, dus test ook het lange geval.
4. Bereken tokenkosten nauwkeurig
Roleplay-sessies dragen hun hele geschiedenis met elk verzoek, dus de invoertokens groeien met elke beurt. Het contextvenster is 100.000 tokens, en de kosten van een lange sessie zijn voornamelijk input.
| Sessie | Invoertokens | Uitvoertokens | Kosten |
|---|---|---|---|
| Enkel kort antwoord | 1,200 | 300 | $0.0003 |
| Lange roleplay-beurt | 70,000 | 1,500 | $0.0113 |
Splits of vat oude beurtgesprekken samen voordat het venster vol is, en sla het gebruik per gesprek op.
5. Ga soepel om met rate limits
Elke sleutel staat 300 verzoeken per minuut en 8 gelijktijdige verzoeken toe. Een chat-app raakt die limiet zelden alleen, maar een piek van veel gebruikers wel. Wacht verzoeken per gebruiker in en probeer 429-responses opnieuw met exponentiële backoff.
Toon een korte wachtknop in de interface in plaats van een stille vertraging.
6. Definieer je inhoudsgrenzen
Bepaal wat uw product accepteert voordat u lanceert, en afdwing dit in uw eigen code. Leeftijdcontroles, toestemmingsregels voor role-play karakters en een block list voor de paar categorieën die u allemaal weigert, behoren tot uw applicatie, niet alleen tot de prompt.
Schrijf de regels op en test ze met prompts uit elke categorie.
7. Crypto-betalingen instellen voor schaalbaarheid
Vooruitbetaald krediet past bij een chatproduct met ongelijkmatig verkeer. Bijbetalingen worden betaald in USDT op TRC20 of USDC op Base, beginnend bij $20, en bonuskrediet geldt vanaf $50. Het saldo kan niet onder nul gaan, dus een doorgegaan loop stopt bij het bedrag dat je hebt ingeladen.
Verbind het saldo met je eigen alerts, zodat je een laag saldo ziet voordat de dienst stopt.
8. Test met echte NSFW-prompts
Voordat je lanceert, voer een testset uit met echte prompts van je gebruikers, met dezelfde system messages en dezelfde geschiedenislengte. Lees de antwoorden, controleer de kosten per gesprek en noteer elke keer dat het product zich op een manier gedroeg die je niet verwachtte.
Herhaal de test na elke wijziging in het systeemprompt, omdat kleine woordwijzigingen het gedrag sterk kunnen beïnvloeden.