Come integrare LlamaIndex con CometAPI

CometAPI
AnnaSep 10, 2025
Come integrare LlamaIndex con CometAPI

CometAPI fornisce un unico gateway compatibile con OpenAI per molti modelli (famiglia GPT, Anthropic/Claude, Google Gemini e altri). LlamaIndex (il "framework dati" per la creazione di app LLM con recupero potenziato) ora espone un'integrazione nativa con CometAPI LLM, il che significa che è possibile **chiamare qualsiasi modello tramite CometAPI da LlamaIndex.

LlamaIndex (il framework di dati per la creazione di assistenti della conoscenza) ora supporta ufficialmente CometaAPI come backend LLM. Questa guida mostra perché abbinarli, come configurare l'ambiente, l'integrazione passo dopo passo (con codice), un caso d'uso RAG concreto e suggerimenti per migliorare affidabilità, costi e osservabilità. Seguono gli esempi. Documentazione di LlamaIndex e la Esempi di integrazione CometAPI.

Che cos'è LlamaIndex e quali sono le sue caratteristiche principali?

LlamaIndex (precedentemente GPT-Index) è un framework di astrazione e recupero dati che collega i modelli linguistici di grandi dimensioni (LLM) ai propri dati tramite l'acquisizione di documenti, la creazione di indici e l'orchestrazione di flussi di lavoro di recupero e prompt per applicazioni in stile RAG. Le funzionalità principali includono connettori per l'acquisizione di documenti (PDF, web, database), indici vettoriali/per parole chiave/grafici, motori di query flessibili e un livello di astrazione per lo scambio di provider LLM. LlamaIndex è progettato per consentire di "portare i propri dati" in qualsiasi LLM e crea le basi per la suddivisione in blocchi, l'incorporamento, il recupero e l'orchestrazione dei prompt dei documenti.

Quali sono le caratteristiche principali?

  • Connettori dati: acquisizione da file, database e numerose fonti SaaS.
  • Primitive di indicizzazione: indici di archiviazione vettoriale, indici di alberi/grafi e pipeline di recupero.
  • Motori di query: orchestrazione flessibile delle query (reranker, sintesi delle risposte, prompt multi-step).
  • Adattatori LLM: backend LLM collegabili: OpenAI, Anthropic, Vertex e ora CometAPI, tra gli altri.
  • Osservabilità e callback: hook per tracciare e monitorare le chiamate LLM.

Che cos'è CometAPI e perché utilizzarlo con LlamaIndex?

Che cos'è CometAPI?

CometAPI è un gateway API che espone centinaia di modelli di intelligenza artificiale di terze parti (LLM, generatori di immagini/video ed embedding) dietro un'unica interfaccia REST compatibile con OpenAI. Invece di dover gestire un SDK e una chiave distinti per ogni fornitore di modelli, è possibile richiamare l'URL di base di CometAPI e selezionare il nome del modello nel corpo della richiesta, ad esempio gpt, claude, geminio vari motori di incorporamento/immagine specializzati. Questo approccio "un'API per oltre 500 modelli" velocizza la sperimentazione e riduce i costi operativi.

Perché abbinare CometAPI a LlamaIndex?

LlamaIndex è un framework di dati che trasforma i tuoi documenti in indici (vettoriali e di altro tipo) e utilizza un LLM per la sintesi finale delle risposte. Poiché CometAPI utilizza un'API in stile OpenAI, LlamaIndex può:

  • Usa il suo incassato CometAPI Integrazione LLM (consigliato), oppure
  • Utilizzare gli adattatori LLM e embedding OpenAI/“compatibili con OpenAI” puntando api_base a CometAPI.

LlamaIndex fornisce già un servizio dedicato CometAPI Wrapper ed esempi LLM: l'integrazione è volutamente semplice.

Quali vantaggi offre l'integrazione?

  1. RAG + scelta flessibile del modello — LlamaIndex gestisce il recupero dei dati e la sintesi dei prompt; CometAPI consente di scegliere gli LLM da chiamare senza dover riprogettare la pipeline.
  2. Ottimizzazione costi/latenza — provare modelli più economici o più veloci per le query di routine e modelli di qualità superiore per i ragionamenti complessi.
  3. Portabilità del fornitore — scambia i fornitori di modelli modificando solo i nomi dei modelli o una piccola configurazione del client.
  4. Sperimentazione rapida — modelli A/B semplici mantenendo costante la pipeline di indicizzazione e recupero.

Quali sono i prerequisiti e la configurazione dell'ambiente?

Conti e chiavi

Registrati a CometAPI e ottieni una chiave API dalla console CometAPI: https://api.cometapi.com/console/token(Questo valore ti servirà per autenticare le richieste.)

Python e pacchetti

  • Si consiglia Python 3.9+.
  • Ambiente Jupyter Notebook o Python (per i test interattivi si consiglia Google Colab).
  • Pacchetti da installare: llama-index (nucleo) e llama-index-llms-cometapi (l'adattatore/integrazione CometAPI)
  • Facoltativo: librerie di archivi vettoriali che intendi utilizzare (ad esempio, faiss-cpu, pinecone-client, ecc.). LlamaIndex dispone di guide ufficiali/vettoriali.

Variabili ambientali

Pratica comune: impostare la chiave CometAPI come una variabile di ambiente (ad esempio COMETAPI_KEY), oppure passare la chiave direttamente al costruttore CometAPI di LlamaIndex. La documentazione di LlamaIndex mostra entrambi gli approcci: per evitare ambiguità e test, passare api_key= esplicitamente al costruttore è il metodo più sicuro.

Come si integrano passo dopo passo LlamaIndex e CometAPI?

Il seguente elenco dettagliato descrive le azioni esatte: creare un account, installare pacchetti, impostare le chiavi, configurare LlamaIndex per utilizzare CometAPI.

1) Come posso creare un account CometAPI e ottenere una chiave API?

  1. Visita il sito di CometAPI e registrati. (La homepage e la procedura di registrazione ti indirizzeranno alla console API.)
  2. Nella console CometAPI (il riferimento alla documentazione https://api.cometapi.com/console/token), crea o copia il tuo token API. Ti servirà per COMETAPI_API_KEY (vedi sotto).

2) Come faccio a installare LlamaIndex e l'integrazione CometAPI?

Eseguire questi comandi pip (consigliati all'interno di un ambiente virtuale):

# core LlamaIndex

pip install llama-index

# CometAPI LLM integration for LlamaIndex

pip install llama-index-llms-cometapi

# optional: vectorstore (FAISS example)

pip install faiss-cpu

(If you're in a Jupyter/Colab environment you can prefix with `%pip`.)

Note:

  • LlamaIndex utilizza pacchetti di integrazione con namespace per evitare di distribuire tutto nel core. L'integrazione LLM di CometAPI è fornita come llama-index-llms-cometapi.

3) Come si imposta la chiave CometAPI (variabile d'ambiente)?

La classe LLM CometAPI di LlamaIndex legge la chiave API da un parametro costruttore o da una variabile d'ambiente. Il codice dell'integrazione si aspetta il nome della variabile d'ambiente. COMETAPI_API_KEY (puoi anche passare la chiave direttamente al costruttore della classe). Supporta anche COMETAPI_API_BASE se è necessario sovrascrivere l'URL di base dell'API.

Consigliato (esplicito) — passare la chiave API al costruttorePuoi anche impostare la variabile d'ambiente COMETAPI_KEY se preferisci.

import os
# Option A: set env var (optional)

os.environ = "sk-xxxx-your-key"

# Option B: pass the key explicitly (recommended for clarity)

api_key = os.getenv("COMETAPI_KEY", "sk-xxxx-your-key")

Impostalo localmente (Unix/macOS):

export COMETAPI_API_KEY="sk-<your-cometapi-key>"
# optional override:

export COMETAPI_API_BASE="https://www.cometapi.com/console/"

Su Windows (PowerShell):

$env:COMETAPI_API_KEY = "sk-<your-cometapi-key>"

4) Configurare LlamaIndex per utilizzare CometAPI

Di seguito è riportato un esempio end-to-end minimo: acquisizione di documenti, creazione di un indice vettoriale ed emissione di una query. Questo esempio utilizza la moderna API di LlamaIndex (Esempio A: ServiceContext + indice vettoriale); adattare i nomi se si utilizza una versione precedente/nuova di LlamaIndex.

minimal RAG example using CometAPI as the LLM backend
from llama_index import SimpleDirectoryReader, VectorStoreIndex, ServiceContext
from llama_index.llms.cometapi import CometAPI
from llama_index.core.llms import ChatMessage

# 1) API key and LLM client

api_key = "sk-xxxx-your-key"  # or read from env

llm = CometAPI(
    api_key=api_key,
    model="gpt-4o-mini",      # pick a CometAPI-supported model

    max_tokens=512,
    context_window=4096,
)

# 2) Optional: wrap in ServiceContext (customize prompt settings, embedding model etc)

service_context = ServiceContext.from_defaults(llm=llm)

# 3) Load documents (assumes a ./data directory with files)

documents = SimpleDirectoryReader("data").load_data()

# 4) Build a vector index (FAISS, default vector store)

index = VectorStoreIndex.from_documents(documents, service_context=service_context)

# 5) Query the index

query_engine = index.as_query_engine()
resp = query_engine.query("Summarize the main points in the documents.")
print(resp)
  • I nomi dei modelli e le funzionalità disponibili dipendono da CometAPI: consulta la documentazione di CometAPI per scegliere il modello più adatto al tuo caso d'uso. L'adattatore LlamaIndex Comet supporta le modalità chat, completamento e streaming.
  • Se vuoi ricevere risposte in streaming puoi chiamare llm.stream_chat() o utilizzare il stream_complete variante mostrata nei documenti.

Nota: a seconda della versione di LlamaIndex, l'API esatta per as_query_engine accettare un llm l'argomento può variare. Se la tua versione non accetta lServiceContext qui, vedere l'LLM qui sotto. L'LLM CometAPI è implementato come CometAPI in llama_index.llms.cometapi.

Esempio B — Utilizzo minimo e diretto di CometAPI LLM (consigliato per chiarezza)

import os
from llama_index.llms.cometapi import CometAPI
from llama_index import VectorStoreIndex, SimpleDirectoryReader

# ensure env var set, or pass api_key explicitly

os.environ = "sk-<your-key>"  # or set externally

api_key = os.getenv("COMETAPI_API_KEY")
llm = CometAPI(
    api_key=api_key,          # or pass None to use env var

    model="gpt-4o-mini",      # change model string as required

    max_tokens=256,
    context_window=4096,
)

# build a simple index (local documents)

documents = SimpleDirectoryReader("data/").load_data()
index = VectorStoreIndex.from_documents(documents)

# get a query engine that uses the default llm (you can often pass llm to the query method)

query_engine = index.as_query_engine(llm=llm)   # some LlamaIndex versions accept llm here

response = query_engine.query("Summarize the key points of the corpus.")
print(response)

Come posso utilizzare le funzionalità CometAPI di LlamaIndex? (esempi avanzati)

1) Chiamare chat con elenco messaggi chat

Esempio:

# Initialize LLM

llm = CometLLM(
    api_key=api_key,
    max_tokens=256,
    context_window=4096,
    model="gpt-5-chat-latest",
)

# Chat call using ChatMessage

from llama_index.core.llms import ChatMessage

messages = [
    ChatMessage(role="system", content="You are a helpful assistant"),
    ChatMessage(role="user", content="Say 'Hi' only!"),
]
resp = llm.chat(messages)
print(resp)

# Use complete method

resp = llm.complete("Who is Kaiming He")
print(resp)

Uscita prevista:

  • Risposta alla chat: ad esempio, assistant: Hi
  • Risposta di completamento: ad esempio, una descrizione testuale su Kaiming He, comprese informazioni su ResNet.

Questo riproduce la semantica della chat (ruoli di sistema/utente/assistente) e spesso produce output più controllabili. Invia un messaggio semplice e recupera la risposta del modello. È possibile personalizzare i messaggi per interazioni più complesse.

CometAPI supporta lo streaming?

Sì — CometAPI supporta lo streaming di chat/completamenti e LlamaIndex espone metodi di streaming sui suoi wrapper LLM (stream_chat, stream_complete, streamable modelli). Per le applicazioni in tempo reale, utilizzare i metodi stream_chat o stream_complete per lo streaming delle risposte. Esempio:

# Streaming chat

message = ChatMessage(role="user", content="Tell me what ResNet is")
resp = llm.stream_chat()
for r in resp:
    print(r.delta, end="")

# Streaming completion

resp = llm.stream_complete("Tell me about Large Language Models")
for r in resp:
    print(r.delta, end="")

Uscita prevista: Streaming di contenuti di risposta stampati, ad esempio una spiegazione di ResNet o una panoramica di modelli linguistici di grandi dimensioni, visualizzati in blocchi.

Spiegazione: stream_chat e stream_complete generano risposte chunk per chunk, adatte all'output in tempo reale. Se si verifica un errore, verrà visualizzato nella console.

Questo rispecchia gli esempi di LlamaIndex per altri LLM compatibili con OpenAI e funziona con gli endpoint di streaming di Comet. Gestisce la contropressione e gli errori di rete con una solida logica di ripetizione/timeout in produzione.

Cambiare modello rapidamente

# try Claude from CometAPI

claude_llm = CometAPI(api_key=api_key, model="claude-3-7-sonnet-latest", max_tokens=300)
svc = ServiceContext.from_defaults(llm=claude_llm)
index = VectorStoreIndex.from_documents(documents, service_context=svc)
print(index.as_query_engine().query("Explain in one paragraph."))

Poiché CometAPI normalizza gli endpoint, la modifica dei modelli è una modifica solo del costruttore, senza necessità di riscritture della pipeline di prompt.

Suggerimenti e tecniche di miglioramento

Come gestire costi e token

  • Utilizza il recupero: invia solo il contesto recuperato, non l'intero corpus.
  • Sperimenta con modelli più piccoli per il recupero/riepilogo e modelli più grandi per la sintesi della risposta finale. CometAPI semplifica gli scambi di modello.

Affidabilità e limitazione della velocità

  • Realizzare riprova + arretramento per errori transitori.
  • Rispetta i limiti di velocità di CometAPI e implementa un budget di token per richiesta. Traccia max_tokens nel costruttore.

Osservabilità e debug

  • Utilizza il gestore di callback di LlamaIndex per acquisire prompt, risposte e utilizzo dei token. Collega questi log alla tua pipeline di monitoraggio. La documentazione di LlamaIndex illustra modelli di osservabilità e integrazioni.

Caching e latenza

  • Memorizzare nella cache gli output LLM per query ripetute o prompt deterministici (ad esempio, riepiloghi standard).
  • Si consiglia di utilizzare un modello più piccolo e veloce per il primo passaggio e di passare a un modello più costoso solo quando necessario.

Sicurezza

  • Conserva la chiave CometAPI in un archivio segreto (Vault/segreti cloud): non codificarla in modo rigido.
  • Se i dati sono sensibili, assicurati che il piano o il modello CometAPI scelto soddisfi i requisiti di conformità.

Lista di controllo per la risoluzione dei problemi

  • Variabile ambiente errata: Se LlamaIndex non riesce a trovare una chiave, passa api_key= nella CometAPI() costruttore per essere esplicito. (La documentazione mostra sia le opzioni env var che quelle del costruttore.)
  • Modello non supportato: Conferma il nome del modello con l'elenco dei modelli di CometAPI: non tutti i nomi sono presenti su tutti gli account.
  • Errori di indicizzazione: Assicurarsi che i documenti siano analizzati correttamente (codifica, tipi di file). Utilizzare SimpleDirectoryReader per un'ingestione rapida del test.
  • Versione deriva: LlamaIndex è in continua evoluzione (migrazione ServiceContext → Impostazioni). Se un esempio non funziona, consulta la documentazione e la guida alla migrazione per la versione installata.

Iniziamo

CometAPI è una piattaforma API unificata che aggrega oltre 500 modelli di intelligenza artificiale (IA) di provider leader, come la serie GPT di OpenAI, Gemini di Google, Claude di Anthropic, Midjourney, Suno e altri, in un'unica interfaccia intuitiva per gli sviluppatori. Offrendo autenticazione, formattazione delle richieste e gestione delle risposte coerenti, CometAPI semplifica notevolmente l'integrazione delle funzionalità di IA nelle tue applicazioni. Che tu stia sviluppando chatbot, generatori di immagini, compositori musicali o pipeline di analisi basate sui dati, CometAPI ti consente di iterare più velocemente, controllare i costi e rimanere indipendente dal fornitore, il tutto sfruttando le più recenti innovazioni nell'ecosistema dell'IA.

Per iniziare, esplora le capacità del modello in Parco giochi e consultare il CallIndex per istruzioni dettagliate. Prima di accedere, assicurati di aver effettuato l'accesso a CometAPI e di aver ottenuto la chiave API. CometaAPI offrire un prezzo molto più basso rispetto al prezzo ufficiale per aiutarti a integrarti.

Pronti a partire? → Iscriviti oggi a CometAPI !

Domande frequenti

Come posso risolvere i problemi di latenza o di interruzioni dello streaming?

  • Utilizzare un'acquisizione di rete locale (o accedere al client HTTP) per ispezionare i frame in streaming.
  • Prova un modello più semplice per confermare che il collo di bottiglia è il percorso di rete/SDK, non il modello stesso.

Quale modello dovrei scegliere?

  • Utilizzare modelli di chat più piccoli/economici (ad esempio, gpt-4o-mini, o4-minio modelli compatti specifici del fornitore) per QPS elevati o risposte brevi.
  • Riservare i grandi modelli multimodali/a catena di pensiero per attività di ragionamento costose.
  • Latenza e costi di riferimento: uno dei vantaggi di CometAPI è la possibilità di cambiare modello nello stesso percorso di codice, ovvero di provare rapidamente più modelli.

Quale archivio di indici e vettori dovrei scegliere?

  • FAISS per velocità on-prem/singolo nodo.
  • Pigna / Tessitura per scalabilità gestita e disponibilità multi-regione (LlamaIndex supporta molti archivi vettoriali tramite integrazioni). Scegli in base a scalabilità e latenza.
Leggi di più

500+ Modelli in Una API

Fino al 20% di sconto