fr ▾
Réclamer une clé d'essai

Dépannage des erreurs courantes avec les modèles abliterated

Le débogage des modèles ablitrées repose souvent sur la compréhension de la manière dont les LLM sans censure gèrent la structure, le contexte et le streaming différemment des APIs commerciales standard. En traitant la validation JSON, les limites de tokens et le réglage des paramètres, vous pouvez garantir un jeu de rôle NSFW ou du code fiable sans refus inattendus ou formats corrompus.

Dernière mise à jour

Résumé

Pourquoi votre réponse JSON échoue la validation

L'analyse JSON échoue lorsque le modèle ajoute du texte conversationnel en dehors du bloc de code. Les modèles uncensored privilégient le flux de langage naturel, ils ajoutent donc souvent "Voici le JSON" avant ou après les données brutes. Cela casse les analyseurs stricts qui n'attendent que l'objet.

Utilisez le response_format le paramètre défini sur {"type": "json_object"}. Cela force le modèle à ne produire que du JSON valide. Cela élimine le besoin de scripts de nettoyage par regex dans votre code. Cependant, notez que cela consomme plus de jetons par requête car le modèle est contraint.

  • Définir response_format à json_object dans votre charge utile de requête.
  • Assurez-vous que votre prompt système demande explicitement une sortie JSON.
  • Gérez les virgules finales ou les erreurs de syntaxe mineures avec élégance si le modèle fait une erreur.
from openai import OpenAI

client = OpenAI(base_url="https://api.abliteratedllmonline.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

Gestion correcte des limites de la fenêtre de contexte

Votre fenêtre de contexte contient 100 000 tokens au total, combinant entrée et sortie. Si vous envoyez un historique long, vous devez réduire la longueur maximale de sortie. La sortie max par défaut est de 2 048 tokens sauf indication contraire.

Calculez les jetons restants en soustrayant la taille de votre entrée de 100 000. Si vous faites du jeu de rôle, gardez l'invite système concise. Stockez uniquement les tours de conversation récents dans la requête API. Le contexte ancien peut être résumé ou tronqué. Cela empêche de toucher la limite maximale en plein milieu de la génération.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.abliteratedllmonline.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

Erreurs d’appel de fonction avec les modèles uncensored

L’appel de fonction échoue lorsque le modèle ignore les définitions d’outil ou retourne des arguments invalides. Les modèles uncensored peuvent privilégier les réponses créatives à l’utilisation stricte des outils. Ils peuvent halluciner des paramètres qui n’existent pas dans votre schéma.

Définissez clairement vos outils dans la tools tableau. Utilisez tool_choice pour forcer un comportement spécifique. Si le modèle refuse d'appeler un outil, vérifiez votre prompt système pour des instructions contradictoires. Assurez-vous que les noms et descriptions des outils sont sans ambiguïté. Testez d'abord avec des requêtes simples pour vérifier l'intégration.

  • Fournissez des noms d'outils clairs et des descriptions.
  • Utiliser tool_choice pour contrôler l'invocation.
  • Validez les arguments par rapport à votre schéma avant l'exécution.
curl https://api.abliteratedllmonline.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the python dependencies for this flask app"}]
  }'

Interruptions de streaming et gestion du SSE

Le streaming via Server-Sent Events (SSE) peut perdre des tokens si le client se déconnecte ou en cas de micro-coupure réseau. Le dernier chunk contient les statistiques d'utilisation des tokens. Vous devez analyser ce chunk pour obtenir les compteurs d'entrée et de sortie.

Mettez en œuvre un client SSE robuste qui gère la logique de reconnexion. Ne supposez pas que chaque fragment contient des données. Certains fragments peuvent être vides ou ne contenir que des espaces blancs. Traitez le dernier fragment pour mettre à jour votre solde de crédits ou vos compteurs de jetons. Cela garantit une facturation et un suivi de l'utilisation précis.

stream = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Tell the story in second person."}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Paramètres température affectant la sortie NSFW

La température contrôle l'aléatoire de la sortie du modèle. Des valeurs plus élevées comme 0,8 ou 0,9 augmentent la créativité et l'imprévisibilité. Des valeurs plus faibles comme 0,2 rendent la sortie plus déterministe et ciblée. Pour le jeu de rôle NSFW, des températures plus élevées produisent des réponses plus variées et intenses.

Expérimentez avec différentes valeurs pour trouver le bon équilibre. Une température trop élevée peut entraîner un texte incohérent ou répétitif. Une température trop basse peut entraîner un dialogue robotique ou terne. Ajustez en fonction du ton et de la cohérence souhaités. Le modèle non filtré répond bien aux paramètres de créativité plus élevés.

  • Utilisez 0,7-0,9 pour le jeu de rôle créatif.
  • Utilisez 0,2-0,5 pour les tâches factuelles ou de codage.
  • Surveillez la qualité de la sortie à mesure que vous ajustez.

Top P et diversité dans la génération de jeu de rôle

Top P (échantillonnage du noyau) limite le modèle à ne considérer que le pourcentage supérieur de la masse de probabilité. Il fonctionne avec la température pour contrôler la diversité. Une valeur Top P faible rend la sortie plus prévisible. Une valeur élevée permet plus de variété dans les choix de mots.

Combinez Top P avec la température pour un contrôle fin. Par exemple, une température élevée avec un Top P faible peut produire un texte créatif mais ciblé. Cela est utile pour maintenir la voix du personnage tout en permettant des actions spontanées. Testez différentes combinaisons pour correspondre à votre style narratif.

from openai import OpenAI

client = OpenAI(base_url="https://api.abliteratedllmonline.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)

Comprendre les limites et les coûts des tokens

L'utilisation des tokens impacte directement votre crédit prépayé. L'API facture $0.15 par million de tokens d'entrée et $0.50 par million de tokens de sortie. Les tokens de sortie sont plus chers car ils représentent le travail du modèle. Le streaming ne change pas le coût ; vous payez pour tous les tokens générés.

Surveillez votre consommation de tokens pour éviter les frais inattendus. Le dernier chunk SSE fournit le nombre exact de tokens. Utilisez cette donnée pour mettre à jour votre solde local ou votre tableau de bord de facturation. Les erreurs et les refus sont gratuits, vous ne payez que pour les complétions réussies. Ce modèle de paiement à l'usage garantit que vous ne payez jamais trop cher.

  • Les tokens d'entrée coûtent 0,15 $ par million.
  • Les tokens de sortie coûtent $0.50 par million.
  • Les refus et les erreurs sont gratuits.

Remplacement de clé API et limites de débit

Chaque compte permet une seule clé API active. Si vous régénérez votre clé, l'ancienne devient immédiatement invalide. Cela garantit la sécurité mais nécessite que vous mettiez à jour vos clients rapidement. Les limites de débit sont fixées à 300 requêtes par minute et 8 requêtes simultanées par clé.

Le dépassement de ces limites entraîne des erreurs HTTP 429. Implémentez un backoff exponentiel dans votre logique de retry. Surveillez votre volume de requêtes pour rester dans les limites. Si vous avez besoin d'un débit plus élevé, envisagez de répartir votre charge de travail sur plusieurs comptes ou d'optimiser la taille de vos prompts. La clé est affichée immédiatement lors de l'inscription, alors gardez-la en sécurité.

import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.abliteratedllmonline.com/v1", apiKey: process.env.API_KEY });

const resp = await client.chat.completions.create({
  model: "uncensored",
  messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);

Débogage des erreurs HTTP courantes

Les erreurs HTTP indiquent des problèmes avec votre requête ou la réponse du serveur. Les erreurs courantes incluent 400 Bad Request, 401 Unauthorized et 429 Too Many Requests. Une erreur 400 signifie souvent un JSON mal formé ou des paramètres invalides. Une erreur 401 indique une clé API incorrecte ou expirée.

Vérifiez vos en-têtes de requête et votre charge utile pour les erreurs de syntaxe. Vérifiez que votre clé API est correcte et active. Si vous recevez une erreur 429, attendez et réessayez avec une rétroaction exponentielle. Utilisez les SDK officiels OpenAI pour gérer automatiquement ces erreurs. Ils fournissent des messages d'erreur clairs et une logique de reconnexion. Cela réduit le temps de développement et améliore la fiabilité.

  • 400 : Vérifiez la syntaxe JSON et les paramètres.
  • 401 : Vérifiez la validité de la clé API.
  • 429 : Implémentez une logique de nouvelle tentative avec rétrogradation.
curl https://api.abliteratedllmonline.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "messages": [{"role": "user", "content": "List the python dependencies for this flask app"}]
  }'

Questions fréquentes

Puis-je utiliser des modèles abliterés avec le SDK OpenAI standard ?

Oui, notre API est entièrement compatible OpenAI. Vous pouvez utiliser les SDK officiels OpenAI en modifiant simplement l'URL de base vers HTTPS://api.abliteratedllmonline.com/v1 et en fournissant votre clé API. L'ID du modèle à envoyer est "uncensored". Cela garantit une intégration transparente avec votre code existant.

Le modèle sans filtre refuse-t-il le contenu ?

Le modèle est conçu pour être sans censure pour une utilisation adulte légale. Il ne refuse pas les sujets controversés, fictifs ou pour adultes. Cependant, il existe une limite stricte de contenu : les demandes impliquant du contenu sexuel avec des mineurs sont toujours refusées. C'est le seul refus strict de notre service.

Comment gérer le streaming avec l'utilisation des jetons ?

Lors de l'utilisation des événements envoyés par le serveur (SSE), le dernier chunk contient les statistiques d'utilisation des tokens. Vous devez analyser ce dernier chunk pour obtenir les comptes de tokens d'entrée et de sortie. Cela vous permet de suivre avec précision l'utilisation de votre crédit et de facturer en conséquence. Les erreurs et les refus sont gratuits, vous ne payez donc que pour les complétions réussies.

Quelle est la taille de la fenêtre de contexte ?

La fenêtre de contexte est de 100 000 tokens, ce qui inclut à la fois l'invite et la complétion. Le nombre maximum de tokens de sortie par requête est de 16 000, ou 2 048 tokens si vous ne spécifiez pas le paramètre max_tokens. Cette grande fenêtre permet une longue histoire de conversation et le traitement de documents longs.

Obtenez votre clé API

Inscrivez-vous, récupérez votre clé et mettez à jour l'URL de base. C'est tout.