NsfwLocalDocumentation développeur
Documentation API
Commencez avec l'API LLM sans censure en quelques minutes. Utilisez des outils standard compatibles OpenAI pour envoyer des requêtes textuelles et recevoir des réponses directes et non filtrées.
Guide de démarrage rapide pour votre première requête
Commencez à générer du texte immédiatement en pointant votre client vers notre URL de base et en vous authentifiant avec une clé API générée. L'interface suit les conventions standard, donc vous pouvez utiliser des SDK existants sans apprendre un nouveau protocole. Vous enverrez des prompts au uncensored le modèle et recevez des réponses textuelles qui n'appliquent pas les filtres de contenu typiques pour un usage adulte licite.
Configurer l'URL de base et la clé
Définissez vos variables d'environnement pour acheminer les requêtes vers notre point de terminaison spécifique. Remplacez la clé d'espace réservé par celle générée lors de l'inscription. Cela garantit que tous les appels ultérieurs utilisent l'instance de modèle uncensored correcte.
- URL de base :
https://api.nsfwlocalllm.com/v1 - En-tête Auth :
Authorization: Bearer YOUR_API_KEY
Vous pouvez vérifier que votre clé fonctionne en consultant l'endpoint des modèles. Une clé valide renvoie immédiatement l'ID du modèle disponible.
Envoyez une demande de complétion de chat
Envoyez une charge utile standard de complétion de chat pour générer du texte. Le système traite votre entrée et renvoie la réponse du modèle. Utilisez le uncensored ID du modèle pour vous assurer que vous ciblez l'instance sans filtre.
La réponse inclut le texte généré et les statistiques d'utilisation des tokens. Vous pouvez analyser cela directement dans la logique de votre application.
curl https://api.nsfwlocalllm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Send me the server uptime stats"}]
}'Vérifiez les codes de statut HTTP standard pour gérer les cas de succès ou d'échec.
Activez le streaming pour une sortie en temps réel
Diffusez les réponses pour réduire la latence perçue pour vos utilisateurs. Activez le streaming en définissant stream: true dans le corps de votre requête. L'API renvoie une série d'événements envoyés par le serveur (SSE) contenant des jetons partiels.
Agrégez ces tokens côté client pour reconstituer le message complet. Cette approche est idéale pour les interfaces de chat où la réactivité immédiate est importante. Le dernier événement SSE contient l'utilisation totale des tokens pour la requête.
from openai import OpenAI
client = OpenAI(base_url="https://api.nsfwlocalllm.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)Gérez les erreurs de connexion avec élégance pour garantir une expérience utilisateur fluide.
Utilisez le mode JSON pour les données structurées
Forcez le modèle à produire un JSON valide pour une consommation programmatique. Définissez response_format à {"type": "json_object"} dans votre requête. Cela réduit les erreurs d'analyse et garantit des structures de données cohérentes.
Utilisez ceci pour générer des invites structurées, extraire des entités ou créer du contenu dynamique. Le modèle respecte les contraintes de format fournies dans vos instructions système. C'est crucial pour une intégration fiable avec d'autres services.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.nsfwlocalllm.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);Validez la sortie JSON de votre côté pour détecter les cas limites.
Implémentez l'appel de fonctions
Définissez des outils pour étendre les capacités du modèle. Transmettez un tools tableau avec des définitions de fonctions à la requête. Le modèle peut choisir d'appeler ces fonctions en fonction du contexte.
Cela permet des workflows complexes où le LLM décide quand récupérer des données ou effectuer des actions. Vous recevez les arguments de la fonction dans la réponse et les exécutez de votre côté. Renvoyez les résultats au modèle pour un raisonnement supplémentaire.
Définir tool_choice à auto pour une prise de décision flexible. Cette fonctionnalité prend en charge des scénarios de jeu de rôle avancés nécessitant un accès à des données externes.
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)Questions fréquemment posées
Quelle est la taille de la fenêtre de contexte ?
La fenêtre de contexte est de 100 000 tokens, couvrant à la fois la requête et la réponse. Cela permet de conserver le contexte lors de longues conversations ou du traitement de gros documents.
Que se passe-t-il si je manque de crédit ?
Les requêtes échouent avec un code de statut 402 lorsque votre solde prépayé est insuffisant. Vous pouvez recharger via crypto pour reprendre le service immédiatement. Les erreurs comme les limites de débit ne consomment pas de crédit.
Comment gérer les limites de taux ?
L'API impose une limite de 300 requêtes par minute par clé. Si vous dépassez cette limite, vous recevrez un code de statut 429. Implémentez une réessaye exponentielle dans votre client pour gérer ces délais efficacement.
Récupérez votre clé API instantanément
Inscrivez-vous, copiez le jeton, mettez à jour l'URL de base. L'installation est terminée.
Obtenir la clé API