Vai al contenuto
Pagine

Integrazioni

API

Autenticati, avvia un'esecuzione e leggi i risultati con l'API HTTP.

L'API HTTP di Skynet permette a script e strumenti di fare ciò che fa l'app web: avviare esecuzioni, seguirle e leggerne i risultati. Questa pagina mostra come firmare le richieste, dove trovare il riferimento completo e un esempio completo.

URL di base

Invia ogni richiesta a:

https://api.skynetml.com

Autenticazione

L'API usa token API.

  1. Apri Impostazioni in Skynet, poi apri la scheda API.
  2. Fai clic su Genera token.
  3. Copia subito il token. Skynet mostra il token completo una sola volta.

Invia il token nell'intestazione Authorization di ogni richiesta:

Authorization: Bearer skyd_...
  • I token iniziano con skyd_.
  • Ogni utente ha al massimo un token valido. Un nuovo token disattiva quello vecchio.
  • Fai clic su Revoca token per disattivare un token.

Riferimento interattivo

Il riferimento completo è su api.skynetml.com/scalar. Elenca ogni endpoint pubblico, i suoi campi e le sue risposte. Da quella pagina puoi inviare richieste di prova.

Il riferimento legge il documento OpenAPI all'indirizzo https://api.skynetml.com/openapi.public.json. Usa quel file per generare un client nel tuo linguaggio.

Endpoint principali

Metodo e percorsoChe cosa fa
GET /modelsElenca i modelli che puoi usare.
GET /optimizersElenca gli ottimizzatori adatti a una configurazione.
GET /blackbox/enginesElenca i motori nativi e indica se ciascuno è disponibile.
POST /optimizeAvvia un'esecuzione per un prompt, codice, testo o programma DSPy.
POST /blackbox/runAvvia un'esecuzione su un repository GitHub.
GET /optimizationsElenca le tue esecuzioni.
GET /optimizations/{optimization_id}Restituisce un'esecuzione: stato, avanzamento, log e risultato.
GET /optimizations/{optimization_id}/artifactRestituisce la versione migliore trovata dall'esecuzione.
POST /optimizations/{optimization_id}/cancelArresta un'esecuzione.
POST /serve/{optimization_id}Esegue la versione migliore su un nuovo input.
GET /healthIndica se il servizio è attivo.

Avviare un'esecuzione

POST /optimize accetta la stessa configurazione della procedura guidata di invio. Questo esempio migliora un prompt che classifica i messaggi di assistenza in etichette.

curl https://api.skynetml.com/optimize \
  -H "Authorization: Bearer $SKYNET_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: support-labels-001" \
  -d @run.json

Campi importanti:

  • task.artifact.kind è prompt, code, text o dspy_program.
  • data.mode è pairs (input con output attesi) o single (esattamente un caso).
  • optimizer.choice è auto oppure il nome di un ottimizzatore restituito da GET /optimizers.
  • max_cost_cents è il limite di spesa per questa esecuzione, in centesimi di dollaro USA.
  • is_private è false per impostazione predefinita. Impostalo su true per mantenere privata l'esecuzione.

Leggi Metriche e scorer per le regole di run_code e metric_code.

Risposte

StatoSignificato
201Skynet ha messo in coda l'esecuzione. Il corpo contiene optimization_id e status.
202Il controllo della configurazione è ancora in corso. Attendi i secondi indicati nell'intestazione Retry-After. Poi invia lo stesso corpo con la stessa Idempotency-Key.
402Il tuo saldo è troppo basso.
409Hai raggiunto una quota, oppure il controllo della configurazione non è aggiornato.
422La richiesta o il codice del workspace non è compatibile con l'ottimizzatore.

Seguire un'esecuzione

Interroga l'esecuzione finché il suo stato non è finale:

curl https://api.skynetml.com/optimizations/$RUN_ID \
  -H "Authorization: Bearer $SKYNET_TOKEN"

Il campo status assume uno di questi valori:

StatoFinale
pending, validating, runningNo
pausedNo
successSì
failed, cancelled, stoppedSì

Interroga ogni 10-30 secondi. Un'esecuzione può durare da pochi minuti a diverse ore.

Il riferimento API elenca ogni campo della risposta di un'esecuzione.

Usare il risultato

Quando lo stato è success, recupera la versione migliore:

curl https://api.skynetml.com/optimizations/$RUN_ID/artifact \
  -H "Authorization: Bearer $SKYNET_TOKEN"

Per eseguire la versione migliore su un nuovo input, invia POST /serve/{optimization_id}. Leggi Risultati per il significato di ogni punteggio.

Limiti

L'API usa le stesse quote, gli stessi limiti di frequenza e la stessa fatturazione dell'app web. Leggi Limiti e Fatturazione.