Authentification et URL de base
Commencez par définir l'URL de base et la clé API dans votre environnement. Notre API se trouve à HTTPS://api.aiwithnofilter.com/v1 et accepte n'importe quel client compatible OpenAI. Générez votre clé sur le tableau de bord avec Google ou par e-mail, puis transmettez-la en tant que jeton porteur. Cela garantit que chaque requête s'authentifie correctement sans en-têtes supplémentaires.
curl https://api.aiwithnofilter.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "generate a python function to parse json logs"}]
}'
Envoi de votre première complétion
Effectuez une requête POST à /v1/chat/completions avec l'identifiant de modèle "uncensored". Envoyez votre prompt système et les messages utilisateur au format JSON standard. L'API retourne une réponse textuelle instantanément, prête pour la logique de votre application. Cela fonctionne pour le jeu de rôle, l'écriture créative ou toute tâche de génération de texte sans restriction.
from openai import OpenAI
client = OpenAI(base_url="https://api.aiwithnofilter.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)
Réponses en streaming avec SSE
Activez le streaming en définissant stream sur true dans le corps de votre requête. L'API envoie des Server-Sent Events (SSE) au fur et à mesure de la génération des jetons, permettant un affichage en temps réel. Chaque chunk contient du texte partiel et des données d'utilisation dans l'événement final. Cela réduit la latence perçue pour les utilisateurs attendant des sorties longues.
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)
Appel de fonction et mode JSON
Utilisez le paramètre tools pour définir les fonctions que votre modèle peut appeler. Passez tool_choice pour imposer un comportement spécifique ou laissez le modèle décider. Activez le mode JSON avec response_format défini sur json_object pour une conformité stricte au schéma. Cela garantit des sorties structurées pour une intégration fiable avec vos services backend.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.aiwithnofilter.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);
Paramètres : Température, Top P et Seed
Contrôlez la créativité avec temperature et la diversité avec top_p. Utilisez seed pour des sorties reproductibles lors du débogage. Définissez des séquences d'arrêt pour interrompre la génération à des marqueurs spécifiques. Ces paramètres vous donnent un contrôle précis sur le comportement du modèle sans avoir besoin de changer de modèle.
La limite de 300 requêtes par minute s'applique.
Comprendre l'utilisation des jetons et les limites
Votre fenêtre de contexte est de 100 000 tokens au total, incluant prompt et complétion. La sortie max par requête est de 16 000 tokens sauf indication contraire. Les erreurs et les refus ne consomment pas de tokens, vous ne payez donc que pour l'utilisation réelle. Gérez les erreurs 401 pour les clés invalides, 402 pour le crédit insuffisant et 429 pour les limites de débit avec élégance.
Le crédit n'expire jamais, garantissant qu'aucun fonds ne soit gaspillé.