Guida all'Integrazione: chat completions senza filtri
Metti in funzione l'LLM senza filtri in pochi minuti con questa guida all'integrazione diretta. Saltiamo la pappardella e ti mostriamo esattamente come inviare richieste all'API chat senza filtri.
URL Basehttps://api.loginllm.com/v1
URL Base e Autenticazione
La base della tua integrazione inizia con l'URL di base. Usa https://api.loginllm.com/v1 per tutte le richieste. Questo endpoint è completamente compatibile con OpenAI, il che significa che puoi sostituire le tue chiavi esistenti senza riscrivere la logica del client.
L'autenticazione si basa su una singola chiave API. Genera questa chiave tramite il Ottieni la chiave API pagina utilizzando sia Google che una password email. Il sistema emette una chiave attiva per account; l'emissione di una nuova chiave invalida immediatamente quella precedente. Mantieni questa chiave al sicuro, poiché controlla il tuo credito prepagato.
Passa la chiave in Authorization header come token Bearer. Non sono richiesti flussi OAuth complessi o cookie di sessione per l'API stessa.
Puoi testare la connettività immediatamente con un semplice comando curl. Questo garantisce che la tua rete consenta il traffico HTTPS in uscita verso i nostri server prima di costruire il resto della tua applicazione.
L'Endpoint chat/completions
Invia messaggi al POST /v1/chat/completions endpoint. Questa è l'interfaccia standard per la generazione di testo. Definisci il modello come uncensored e fornisci un elenco di messaggi nel corpo della richiesta.
Ogni messaggio richiede un ruolo (system, user, o assistant) e contenuto. Il sistema elabora questi input e restituisce un completamento. Non devi gestire il routing del modello o selezionare tra più varianti; ospitiamo un singolo modello open-weight ottimizzato per output senza restrizioni.
Questo approccio mantiene il codice semplice. Si evita il sovraccarico di gestire più versioni di modelli o di gestire peculiarità specifiche del fornitore. La struttura della risposta corrisponde al formato OpenAI, garantendo una ampia compatibilità con gli SDK.
Verifica regolarmente il tuo saldo. I crediti vengono detratti in base all'utilizzo effettivo dei token e gli errori non consumano crediti.
Streaming con Server-Sent Events
Per esperienze utente in tempo reale, abilita lo streaming impostando stream: true nella tua richiesta. L'API restituisce uno stream di Server-Sent Events (SSE) invece di un singolo oggetto JSON.
Ogni chunk di evento contiene una porzione del testo generato. Puoi renderizzare questo testo in modo incrementale nella tua UI, il che riduce significativamente la latenza percepita per l'utente finale. L'ultimo chunk dello stream include l'utilizzo totale dei token per la richiesta.
Questa funzionalità è essenziale per le interfacce chat in cui gli utenti si aspettano un feedback immediato. Consente alla tua applicazione di gestire risposte lunghe senza bloccare il thread principale.
Implementa un semplice listener di eventi per raccogliere questi chunk. Concatenali per formare la risposta completa o visualizzali in tempo reale man mano che arrivano.
Function Calling e strumenti
L'API supporta l'utilizzo strutturato degli strumenti. Definisce le funzioni nel tools array all'interno della tua richiesta. Il modello può quindi decidere di chiamare una funzione in base all'input dell'utente.
Quando il modello genera una chiamata di funzione, restituisce il nome della funzione e gli argomenti in un formato strutturato. La tua applicazione esegue la funzione e invia il risultato al modello per una risposta finale.
Questa capacità consente flussi di lavoro complessi senza codificare la logica. È possibile integrare fonti di dati esterne, calcolatori o logica aziendale personalizzata direttamente nella conversazione.
Assicurati che le tue definizioni degli strumenti siano precise. Il modello si affida a questi schemi per comprendere i formati di input e output attesi per ogni funzione.
Finestra di contesto e limiti
Il modello supporta una finestra di contesto di 100.000 token. Questa finestra include sia il prompt che il completamento. Puoi specificare una lunghezza massima dell'output utilizzando il max_tokens parametro.
Se max_tokens non è impostato, la risposta può estendersi fino alla fine della finestra. Impostare un valore più alto consente risposte più lunghe, fino al limite di 100,000 token. Questo è utile per generare report dettagliati o frammenti di codice.
Monitora attentamente i tuoi limiti di frequenza. L'API consente 300 richieste al minuto e 8 richieste concorrenti per chiave. Il superamento di questi limiti risulterà in un errore 429.
La dimensione del corpo della richiesta è limitata a 8 MB. Finestre di contesto grandi consumano più credito, quindi bilancia le tue esigenze di memoria con il tuo budget.
Gestione degli errori e utilizzo token
Gestisci gli errori in modo elegante per mantenere un'esperienza utente fluida. Un errore 401 indica una chiave API non valida o scaduta. Rieffettua l'autenticazione o genera una nuova chiave dal tuo dashboard.
Un errore 402 indica che il credito prepagato non è sufficiente. Aggiungi fondi utilizzando USDT (TRC20) o USDC (Base) per riprendere il servizio. I crediti non scadono mai, quindi puoi aggiungere fondi quando ti è più comodo.
Un errore 429 segnala che hai superato i limiti di velocità. Implementa un backoff esponenziale nel tuo client per riprovare le richieste automaticamente. Controlla sempre le intestazioni di risposta per le informazioni sul quota rimanente.
L'utilizzo dei token viene segnalato nell'ultimo chunk dello stream o nella risposta di completamento. Utilizza questi dati per ottimizzare i tuoi prompt e gestire i costi in modo efficace.
cURL
curl https://api.loginllm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Fix syntax error in python loop"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.loginllm.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)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.loginllm.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);Streaming
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)FAQ
Come ottengo la mia chiave API per il login LLM?
Vai alla pagina Ottieni Chiave API sul sito. Puoi accedere utilizzando Google o una password email. La chiave API viene visualizzata immediatamente dopo l'autenticazione. Non è necessario un numero di telefono per questo processo.
Cosa succede se supero il limite di frequenza?
Riceverai un codice di stato 429. Il limite è di 300 richieste al minuto e 8 richieste concorrenti per chiave. Implementa una logica di retry con backoff esponenziale per gestire questa situazione in modo elegante senza perdere dati.
Il modello LLM senza filtri è diverso da GPT?
Sì. Il modello è un modello open-weight ospitato sui nostri server. Non è GPT, Claude, Gemini o un modello di qualsiasi altro fornitore. È ottimizzato specificamente per rispondere senza rifiuti di contenuto per l'uso adulto lecito.
Ottieni la tua chiave API
Iscriviti, copia la chiave, aggiorna il tuo URL di base. È tutto qui.