Modelli e prezzi

Gestisci provider e modelli LLM, sincronizza i modelli da registri esterni, esegui controlli di integrità e configura chiavi API per organizzazione per una fatturazione indipendente.

Gestione Provider

Entity Enricher supporta un'ampia gamma di provider LLM. Ogni provider può disporre di più modelli con prezzi, funzionalità e configurazione individuali.

Provider e modelli sono affiancati perché è così che vengono gestiti: la chiave API appartiene al provider, i prezzi e le capacità a ciascun modello.

Provider supportati

AnthropicOpenAIGoogleGoogle VertexMistralDeepSeekGroqTogether AIFireworks AICoherexAIMoonshotZ.AINVIDIA NIMOllamaAzure OpenAI

Tipi di Provider

StandardLa maggior parte dei provider (Anthropic, OpenAI, Mistral, ecc.) utilizza endpoint API standard con autenticazione tramite bearer token. Un provider Standard può anche puntare a un endpoint personalizzato compatibile con OpenAI — consultare Endpoint personalizzati e aziendali di seguito.
AzureAzure OpenAI utilizza endpoint di deployment personalizzati con configurazione della versione API.
OllamaIstanze Ollama self-hosted con URL endpoint personalizzati e rilevamento automatico dei modelli.

Endpoint personalizzati e aziendali

Molti team instradano il traffico LLM attraverso un gateway AI aziendale, un endpoint regionale o un provider non integrato — ad esempio un proxy LiteLLM enterprise, Cloudflare AI Gateway o Alibaba DashScope (per i modelli Qwen). Puoi aggiungerli come provider Standard (compatibile con OpenAI) con un URL di base personalizzato.

Aggiunta di un provider gateway

  1. Crea un provider con un nome che non sia tra quelli integrati (ad es. acme-openai-gw). I nomi integrati come openai o anthropic sono riservati.
  2. Scegliere il tipo Standard (compatibile con OpenAI) e compilare Endpoint API personalizzato (base URL) — ad es. https://gateway.example.com/v1. Questo campo è obbligatorio per qualsiasi provider per cui Entity Enricher non dispone di un client integrato.
  3. Aggiungi la chiave del gateway come Chiave dell'organizzazione per quel provider (API Keys → AI Provider Keys), in modo che venga fatturata e ruotata per organizzazione.
  4. Aggiungi i modelli forniti dal gateway. L'identificatore del modello viene inviato testualmente, pertanto deve corrispondere esattamente a quanto previsto dal gateway.

Buono a sapersi

  • I provider integrati nascondono il campo endpoint. Anthropic, OpenAI, Mistral e gli altri provider riconosciuti conoscono già il proprio endpoint, quindi non c'è nulla da configurare. Se in seguito un provider personalizzato diventa integrato, il suo endpoint memorizzato resta visibile in modo da poterlo cancellare.
  • Solo HTTPS pubblico. Gli endpoint devono essere URL pubblici https://. Loopback e intervalli privati (localhost, 10.x, 192.168.x) vengono rifiutati per prevenire SSRF — un server self-hosted deve essere raggiungibile via internet. Per un Ollama locale, utilizzare invece il tunnel Ollama dedicato.
  • Formato wire compatibile con OpenAI. Le chiamate a un provider personalizzato vengono instradate attraverso l'API compatibile con OpenAI, quindi l'endpoint deve parlare il protocollo OpenAI /v1 (chat completions, /models).
  • Test connessione interroga {endpoint}/models per verificare la chiave e l'URL di base prima di eseguire un arricchimento.

Budget di frequenza e concorrenza (per chiave)

Ogni chiamata effettuata con una chiave API è regolata secondo il budget che il provider concede a quella chiave — richieste e token al minuto, per modello — così un fan-out non incorre mai in errori 429. Il budget non viene digitato: viene letto dagli header di risposta del provider stesso, appreso da un rifiuto quando il provider non dichiara nulla oppure, come ultima risorsa, inserito da un proprietario.

  • Letto dal provider. Mistral, OpenAI, Azure, Groq, xAI, Anthropic e Cohere dichiarano i limiti della chiave in ogni risposta; la prima chiamata a un modello li apprende e le chiamate successive li rispettano.
  • Appreso quando il provider non dichiara nulla. Google, DeepSeek, Moonshot, Z.AI, Together e Alibaba non dichiarano nulla: un rifiuto insegna un budget pari all'80% di quanto inviato nell'ultimo minuto, che poi risale lentamente. I proprietari possono anche inserire una regola dalla pagina Chiavi API.
  • Delimitato per chiave e modello. Ogni chiave dell'organizzazione e la chiave globale condivisa dispone di budget propri, per modello — su Mistral una chiave può consentire 15 richieste al minuto su un modello e 1000 su un altro.
  • La concorrenza ne consegue. Il numero di chiamate in corso deriva da quel budget e dalla latenza osservata. L'impostazione Chiamate simultanee massime per chiave del provider serve solo per destinazioni che non rispondono mai 429 ma si bloccano con le chiamate parallele, come un portatile che esegue Ollama.
  • Visibile per chiave. L'azione Limiti di frequenza su una chiave elenca le sue regole, la provenienza di ciascuna e l'utilizzo in tempo reale del minuto corrente. Un test delle capacità registra inoltre i limiti dichiarati dal provider nelle colonne TPM e RPM della tabella Modelli.

Questo è distinto dal limite di job concorrenti massimi del vostro piano, che stabilisce quanti job di enrichment l'intera organization può eseguire contemporaneamente su tutti i provider.

Capacità del modello

Ogni model tiene traccia delle proprie capacità, che vengono visualizzate come icone nel selettore di model:

FunzionalitàDescrizione
VisionePuò elaborare input di immagini e visivi
Chiamate agli strumentiSupporta function calling / uso di strumenti
Input audioPuò elaborare input audio
Input PDFPuò elaborare documenti PDF
Caching dei promptSupporta il caching dei prompt per la riduzione dei costi
RagionamentoCapacità di extended thinking / catena di ragionamento
EmbeddingsTrasforma il testo in un vettore anziché rispondere: è ciò con cui vengono risolti gli ID semantici. I modelli di embedding costituiscono una famiglia a sé, con una propria dimensione vettoriale, e non compaiono mai in un selettore di arricchimento

Lasciare che sia la piattaforma a scegliere il modello

Indicare un modello è facoltativo. Arricchimento, generazione di schema e generazione di campioni accettano tutti auto — e trattano un modello omesso come auto — valore che viene risolto sul server, per singola attività, nel momento in cui il job si avvia. L'esecuzione riporta quale modello è stato scelto: automatico non significa mai opaco.

1. Il valore predefinito fissato dalla sua organizzazione

I proprietari possono fissare un modello preferito per ogni attività in Impostazioni → Organizzazione → Selezione del modello. Se ne è impostato uno per l'attività in questione, ha la precedenza.

2. Altrimenti, il modello migliore secondo le misurazioni

In assenza di un modello fissato, la scelta ricade sul modello con il miglior punteggio combinato dei suoi benchmark delle origini di punteggio — le sue misurazioni di qualità, velocità e costo sui suoi schemi. Senza alcuna origine di punteggio la richiesta viene rifiutata anziché ipotizzata.

3. Filtrato in base a ciò che il lavoro richiede

Attivare la ricerca web, o allegare un documento che deve essere inviato così com'è, restringe i candidati ai modelli effettivamente in grado di farlo — e se nessuno è idoneo, riceve un errore esplicito anziché un declassamento silenzioso.

  1. 1Qualità, velocità e costo, valutati dai propri benchmark
  2. 2Lasciare su Auto oppure fissare un modello per questa attività
  3. 3Ogni attività mostra a cosa si risolve Auto in questo momento e il relativo punteggio
I pesi si impostano per attività, così la generazione dello schema può privilegiare la qualità mentre l'arricchimento punta sul costo. Un modello che mostra trattini al posto dei punteggi non è mai stato misurato qui, e Auto non lo sceglie mai.

Un modello può anche essere escluso da un solo compito senza essere disattivato: un modello che arricchisce bene ma genera schemi scadenti può essere nascosto solo nei selettori di generazione di schemi e campioni, per la sua organizzazione oppure globalmente da un amministratore. Resta pienamente disponibile in tutto il resto: uno strumento più morbido della disattivazione descritta qui sotto.

Sincronizzazione automatica dei prezzi

Amministratore di sistema

Mantieni aggiornati i prezzi dei modelli sincronizzandoli dai registri esterni. Il processo di sincronizzazione rileva automaticamente nuovi modelli, variazioni di prezzo e modelli rimossi.

Registro LiteLLM

La fonte di prezzi predefinita. Recupera i dati dal registro mantenuto dalla community di LiteLLM su GitHub, con nomi reali dei modelli API, prezzi, lunghezze di contesto e capacità.

Copre circa 30 provider. Non include nomi visualizzati, benchmark o velocità di generazione.

PricePerToken

Una fonte alternativa da pricepertoken.com. Include nomi visualizzati, benchmark (punteggi di coding e matematica) e velocità di generazione (token al secondo).

Copre circa 20 provider. Fornisce metadati più ricchi rispetto a LiteLLM.

Z.AI

Un catalogo ufficiale e autenticato degli identificatori dei modelli GLM, con prezzi analizzati direttamente dalla documentazione di Z.AI e lacune nelle funzionalità ricercate in tale sede.

Sostituisce le voci Z.AI precedentemente importate da LiteLLM e PricePerToken.

Processo di sincronizzazione

  1. Anteprima dry-run — Visualizzi cosa cambierà prima di applicare. Consulti nuovi modelli, aggiornamenti dei prezzi e disattivazioni.
  2. Corrispondenza per sorgente — Ogni sorgente influisce solo sui modelli provenienti da quella sorgente. I modelli manuali non vengono mai toccati.
  3. Chiavi di sincronizzazione stabili — I modelli vengono associati tramite un identificatore stabile, non tramite il nome. È possibile rinominare i modelli senza compromettere la sincronizzazione.
  4. Applicazione transazionale — Tutte le modifiche vengono applicate in un'unica transazione di database per garantire la coerenza.
  5. Creazione automatica del provider — Se un modello sincronizzato appartiene a un provider sconosciuto, il provider viene creato automaticamente.

Controlli di integrità del modello

Convalida in modo proattivo la raggiungibilità dei model eseguendo un prompt minimo di health check. Ciò intercetta i model non funzionanti prima che gli utenti incontrino errori durante l'enrichment.

SuperatoIl modello risponde correttamente. Se in precedenza era stato disattivato automaticamente, viene riattivato.
Non trovatoIl modello restituisce un errore “non trovato”. Viene disattivato automaticamente per evitare guasti futuri.
Altro erroreGli errori di autenticazione, i timeout o i limiti di frequenza vengono segnalati ma non attivano la disattivazione.

I controlli di integrità possono essere eseguiti su tutti i modelli, sui modelli di un provider specifico o su un singolo modello. I risultati vengono trasmessi in tempo reale tramite SSE con una barra di avanzamento che mostra il conteggio dei successi/fallimenti.

Disattivazione automatica

Quando una chiamata di arricchimento fallisce con un errore «modello non trovato», il modello viene automaticamente disattivato per evitare errori ripetuti. Ciò avviene in tempo reale durante le normali operazioni di arricchimento.

Motivo della disattivazioneImpostato daRiattivato automaticamente?
Modello non trovatoErrori di arricchimento, controlli di stato o una verifica delle capacità a cui nessuna route rispondeSì (tramite sincronizzazione dei prezzi o validazione)
Nessun Output StrutturatoVerifica delle capacità: né il canale tool né quello nativo su alcuna route raggiungibileSì, solo tramite un test delle capacità successivo
Sincronizzazione rimossaSincronizzazione prezzi (model scomparso)Sì (se il model riappare nel registro)
ManualeInterruttore admin nell'interfaccia utenteNo (solo riattivazione manuale)

Bring Your Own Key (BYOK)

Le organizzazioni possono configurare le proprie chiavi API dei provider LLM per una fatturazione e un monitoraggio dell'utilizzo indipendenti. Il sistema utilizza una risoluzione delle chiavi a due livelli con selezione LRU:

1°
Pool di chiavi dell'organizzazione

Chiavi per organizzazione configurate nella pagina Chiavi API. Supporta più chiavi per provider con rotazione LRU. Crittografate con Fernet.

2°
Pool di chiavi globali

Chiavi a livello di sistema gestite dagli amministratori. Condivise tra tutte le organization. Supporta anche più chiavi per provider con rotazione LRU.

Ogni arricchimento registra quale chiave è stata utilizzata, così può monitorare i costi per chiave. Le chiavi supportano il controllo di integrità e i contatori di utilizzo. All'interno di un pool viene selezionata la chiave abilitata con il timestamp di ultimo utilizzo più vecchio; una chiave esce dalla rotazione solo quando la disabilita manualmente, quindi un errore del provider non rimuove mai silenziosamente una chiave dal servizio. Scopra come gestire le chiavi nella guida API Keys.

Importa ed Esporta

Esporta l'intera configurazione di provider e model come JSON per il backup o il trasferimento su un'altra istanza. L'importazione è sempre un upsert: i provider e i model esistenti vengono abbinati per nome e aggiornati sul posto, mentre quelli nuovi vengono aggiunti — nulla viene eliminato.

L'esportazione include le impostazioni del provider, le configurazioni dei modelli, i prezzi, le capacità e le specifiche canoniche dei modelli, ma mai le chiavi API, che vengono memorizzate separatamente. Dopo l'importazione, configurare le chiavi API separatamente. Gli amministratori di sistema eseguono il backup dell'intero catalogo globale; i proprietari dell'organizzazione esportano e importano solo i provider e i modelli della propria organizzazione — il catalogo globale condiviso non può essere creato o modificato tramite importazione.

Catalogo pubblico dei modelli

La pagina dei modelli presenta a chiunque il catalogo globale: prezzi dei vendor, capacità misurate e i punteggi ottenuti da ogni modello negli scenari benchmark pubblicati come fonti di punteggio globali. Legge due file JSON statici, riscritti dall'aggiornamento notturno dei modelli, che è possibile scaricare e riutilizzare. Un modello non più offerto dal provider (disattivato come “modello non trovato”) viene escluso; tutti gli altri modelli del catalogo sono elencati.

File

  • /data/models.json — la tabella: una voce per provider × modello, con tabelle di riferimento per provider, scenari e specifiche.
  • /data/benchmarks.json — tutti i risultati dei benchmark pubblici, raggruppati per chiave del modello.

Entrambi vengono forniti con un ETag e una cache pubblica di un'ora, con codifica gzip quando il client la accetta. Il campo version viene incrementato a ogni modifica a cui un consumatore debba adattarsi.

Campi di models.json

generated_at, counts, default_weightsQuando il file è stato scritto, quanti modelli, provider e scenari contiene e il mix qualità / velocità / costo (in percentuale) alla base di ogni punteggio complessivo.
providers[], scenarios[], specs{}Tabelle di lookup: i modelli fanno riferimento a un provider e agli scenari tramite indice; le specifiche sono i punteggi benchmark pubblici dei pesi (intelligenza, coding, matematica e il resto sotto extra), indicizzate per chiave canonica in modo che i rivenditori di uno stesso modello le condividano.
models[].key, model, display_name, canonical_keyLa chiave composta accettata dall'API (provider::model), l'id grezzo del modello, la sua etichetta e l'identità trasversale ai provider.
models[].pricingPrezzi di listino del vendor in USD per milione di token: input, output, cache_read, cache_write, cache_write_1h, reasoning_output, più web_search_per_query con la relativa unità. Prima di eventuali commissioni di piano.
models[].capabilities[]I flag attivi: vision, pdf_input, audio_input, audio_output, video_input, tool_calls, tool_choice, response_schema, strict_structured_output, reasoning, reasoning_effort, web_search, prompt_caching, embeddings, requires_streaming. Un flag assente è false oppure non misurato.
models[].context_length, max_input_tokens, max_output_tokens, deprecation_date, latencyLimiti, la data di ritiro del fornitore quando annunciata e i dati di latenza rilevati (token al secondo, tempo al primo token).
models[].enrichment_capable, disabled_tasks[]Se il modello dispone di un canale di output strutturato e le attività per cui l'app non lo propone mai (classificazione e arbitraggio richiedono i tool call; la generazione di schema e di esempi segue il gate di generazione schema).
models[].scores{task}Per tipo di attività (enrichment, schema_generation, sample_generation): la media di qualità, velocità e costo sugli scenari pubblici di quell'attività, il punteggio complessivo con i pesi predefiniti e gli indici degli scenari. Velocità e costo sono relativi agli altri modelli sullo stesso scenario.

Il calcolo dei punteggi di qualità, velocità e costo è spiegato in Punteggi benchmark.

Passaggi successivi