Vai al contenuto principale

Introduzione

ER:LC Russia AI API supporta i metodi Chat Completions, consultazione dei modelli e sintesi vocale documentati in questa sezione. Per la chat, usa chat.completions.create in un SDK OpenAI con base_url / baseURL impostato su https://api.erlcrussia.com/v1. Le estensioni ER:LC Russia sono descritte nelle pagine dei metodi; non si presume il supporto delle altre API OpenAI.

OpenAI SDK

Le richieste chat usano il formato Chat Completions; le risposte in streaming usano chat.completion.chunk. Consulta i campi supportati nella pagina del metodo.

Ragionamento

Supporta l’analisi passo passo e il ragionamento approfondito per i modelli con traduzione del pensiero in reasoning_content.

Contesto della conversazione

session_id è un’estensione ER:LC Russia per continuare una conversazione.

Immagini e file

Allega screenshot, log e documenti del gioco nel formato standard image_url e file.

Autenticazione

Per effettuare richieste, passa il tuo token di accesso nell’intestazione Authorization:
Sono accettati anche gli header erlcrussia-api-ai-key e erlcrussia-api-key. Invia la chiave solo negli header.

Errori

Gli errori usano il formato di OpenAI, quindi gli SDK mostrano il messaggio reale. code è un codice stringa OpenAI (invalid_api_key, model_not_found, insufficient_quota, rate_limit_exceeded) oppure null. Il codice numerico di ER:LC Russia della tabella dei codici di errore arriva in erlc_code.

Compatibilità con OpenAI

  • /v1/chat/completions, /v1/models, /v1/audio/speech e /v1/audio/transcriptions funzionano con l’SDK di OpenAI.
  • /v1/realtime segue il protocollo OpenAI Realtime: testo e voce in ingresso, voce in uscita, con turni manuali. Vedi la modalità vocale.
  • temperature, top_p, max_tokens, max_completion_tokens, stop, n e response_format sono accettati ma non applicati.
  • usage fa parte della risposta normale. In uno stream arriva solo con stream_options: {"include_usage": true}, come chunk separato con choices vuoto prima di data: [DONE]. usage include anche cost_credits, i crediti IA addebitati.
  • Gli errori usano i tipi OpenAI invalid_request_error, requests, insufficient_quota e server_error. Quando i crediti IA finiscono arriva un 429 con tipo insufficient_quota, come in OpenAI.
  • Ogni risposta ha un proprio id del tipo chatcmpl-…, come in OpenAI. L’identificatore della conversazione viaggia a parte in session_id.
  • Una richiesta senza messages o con un array vuoto riceve 400 con param: "messages" e codice missing_required_parameter o empty_array.
  • Ogni risposta contiene x-request-id, openai-processing-ms, x-ratelimit-limit-requests, x-ratelimit-remaining-requests e x-ratelimit-reset-requests.
  • Se la generazione si interrompe a metà stream, arriva un evento {"error": {...}} in formato OpenAI seguito da data: [DONE].

Modelli disponibili

Per Hubert, il surzhik proprietario è disattivato per impostazione predefinita: risponde nella lingua dell’ultimo messaggio dell’utente. Passa "surzhyk": true nel corpo della richiesta a /v1/chat/completions per abilitare il branding.

Ruoli dei messaggi

L’array messages supporta i ruoli di dialogo standard:
  • system - istruzioni o contesto aggiuntivi per il tuo progetto (ad esempio, il ruolo di un bot Discord o attività di servizio), sovrapposte alle regole di base del modello;
  • user - messaggio dall’utente;
  • assistant è la risposta precedente del modello per salvare il contesto della conversazione.

Opzioni di riflessione

Il controllo della catena di ragionamento dipende dal modello scelto:
  • Per Emmy (emmy-1): modalità non pensare non supportata - il modello analizza sempre il problema prima di rispondere. La profondità di analisi è configurata dal parametro effort (string) o dall’intestazione X-Reasoning-Effort:
  • low - una breve verifica di fatti e regole;
  • medium (default) - analisi dettagliata bilanciata;
  • high: analisi completa passo dopo passo;
  • extra / max - il massimo livello di analisi con doppio controllo delle ipotesi.
  • Per Nya (niya-1): I riflessi sono disattivati per impostazione predefinita per la massima velocità. Abilitato dal parametro thinking: true (o intestazione variant: "on" / X-Reasoning: on).
  • Per Hubert (hubert-1): la catena di pensiero non viene utilizzata.

Esempi di integrazione


Modalità streaming

Quando si trasmette "stream": true, il server restituisce il flusso di eventi text/event-stream. Ogni evento contiene la struttura chat.completion.chunk standard:
prompt_tokens include il contesto di sistema del servizio e la cronologia inviata, non solo il messaggio utente. Anche una richiesta breve può includere circa 7000 token in ingresso e costare circa 1 credito; è un esempio osservato, non un prezzo fisso o minimo. Il costo dipende da modello, cache e risposta: controlla usage.cost_credits. web_search:true consente la ricerca ma non garantisce una chiamata; ogni ricerca eseguita viene addebitata separatamente. Il segreto completo viene restituito solo alla creazione o rotazione. Gli elenchi delle chiavi IA, la rinomina e l’eliminazione restituiscono una maschera. GET /keys rivela solo la chiave chiamante; le altre, anche proprie, sono mascherate. teamId è l’ID del team associato o null. La creazione di una chiave IA e lo scambio di monete richiedono la sessione del proprietario. Una normale chiave HTTP, anche con accesso completo, non consente queste operazioni. I servizi fidati usano i metodi amministrativi con chiave master.