Autenticazione e Base URL
Inizia impostando l'URL base e la chiave API nel tuo ambiente. La nostra API vive su HTTPS://api.aiwithnofilter.com/v1 e accetta qualsiasi client compatibile con OpenAI. Genera la tua chiave dalla dashboard con Google o email, quindi passala come token bearer. Questo garantisce che ogni richiesta si autentichi correttamente senza intestazioni extra.
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"}]
}'
Invio della tua prima Completion
Effettua una richiesta POST a /v1/chat/completions con l'id del modello "uncensored". Invia il tuo system prompt e i messaggi utente nel formato JSON standard. L'API restituisce una risposta testuale istantanea, pronta per la logica della tua applicazione. Questo funziona per il roleplay, la scrittura creativa o qualsiasi attività di generazione di testo senza restrizioni.
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)
Risposte in streaming con SSE
Abilita lo streaming impostando stream su true nel corpo della richiesta. L'API invia Server-Sent Events (SSE) man mano che i token vengono generati, consentendo la visualizzazione in tempo reale. Ogni chunk contiene testo parziale e i dati di utilizzo nell'evento finale. Questo riduce la latenza percepita per gli utenti in attesa di output lunghi.
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)
Function Calling e modalità JSON
Utilizza il parametro tools per definire le funzioni che il modello può chiamare. Passa tool_choice per imporre un comportamento specifico o lascia decidere al modello. Abilita la modalità JSON con response_format impostato su json_object per una rigorosa conformità allo schema. Questo garantisce output strutturati per un'integrazione affidabile con i tuoi servizi 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);
Parametri: Temperatura, Top P e Seed
Controlla la creatività con temperature e la diversità con top_p. Usa seed per output riproducibili durante il debug. Imposta le sequenze di stop per interrompere la generazione in corrispondenza di marcatori specifici. Questi parametri ti danno un controllo preciso sul comportamento del modello senza bisogno di cambiare modello.
Si applica il limite di 300 richieste al minuto.
Comprendere l'utilizzo dei token e i limiti
La tua finestra di contesto è di 100.000 token in totale, includendo prompt e completamento. Il max output per richiesta è 16.000 token a meno che non specifichi diversamente. Errori e rifiuti non consumano token, quindi paghi solo per l'utilizzo effettivo. Gestisci con cura gli errori 401 per chiavi non valide, 402 per credito insufficiente e 429 per limiti di frequenza.
Il credito non scade mai, evitando sprechi di fondi.