Introduzione
ER:LC Russia AI API supporta i metodi Chat Completions, consultazione dei modelli e sintesi vocale documentati in questa sezione. Per la chat, usachat.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’intestazioneAuthorization:
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/speeche/v1/audio/transcriptionsfunzionano con l’SDK di OpenAI./v1/realtimesegue 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,neresponse_formatsono accettati ma non applicati.usagefa parte della risposta normale. In uno stream arriva solo constream_options: {"include_usage": true}, come chunk separato conchoicesvuoto prima didata: [DONE].usageinclude anchecost_credits, i crediti IA addebitati.- Gli errori usano i tipi OpenAI
invalid_request_error,requests,insufficient_quotaeserver_error. Quando i crediti IA finiscono arriva un 429 con tipoinsufficient_quota, come in OpenAI. - Ogni risposta ha un proprio
iddel tipochatcmpl-…, come in OpenAI. L’identificatore della conversazione viaggia a parte insession_id. - Una richiesta senza
messageso con un array vuoto riceve 400 conparam: "messages"e codicemissing_required_parameteroempty_array. - Ogni risposta contiene
x-request-id,openai-processing-ms,x-ratelimit-limit-requests,x-ratelimit-remaining-requestsex-ratelimit-reset-requests. - Se la generazione si interrompe a metà stream, arriva un evento
{"error": {...}}in formato OpenAI seguito dadata: [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’arraymessages 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 parametroeffort(string) o dall’intestazioneX-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 parametrothinking: true(o intestazionevariant: "on"/X-Reasoning: on). - Per Hubert (
hubert-1): la catena di pensiero non viene utilizzata.
Esempi di integrazione
- Python
- TypeScript
- JavaScript
- cURL
- OpenCode
- Kilo Code
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: