Kit di avvio
Quattro piccoli progetti che puoi copiare ed eseguire. Ognuno utilizza UberLLM come fornitore di modelli tramite https://api.uberllm.dev/v1, blocca le versioni delle sue dipendenze e include un smoke test.
| Starter | Cosa ottieni | Stack |
|---|---|---|
| App di chat Next.js | Un'app di chat in streaming con uno strumento e output tipizzato | Next.js, Vercel AI SDK |
| Agente LangGraph | Un agente che chiama strumenti in un loop | Python, LangGraph |
| Crew CrewAI | Due agenti che ricercano e scrivono | Python, CrewAI |
| Agente CLI, senza framework | Un agente che chiama strumenti in un singolo file senza dipendenze | TypeScript, Node |
Avvio rapido
Copia uno starter. Sostituisci
tool-agent-cliconnextjs-ai-sdk-chat,langgraph-agentocrewai-crewper gli altri:npx degit PSA-Team-source/uberllm/starters/tool-agent-cli my-agent cd my-agentCrea una chiave in Dashboard → Chiavi e inseriscila nel file env dello starter. Gli account partono da $0, quindi aggiungi credito prima della prima chiamata.
cp .env.example .env # .env.local for the Next.js starterEseguilo. Il README di ogni starter contiene i comandi esatti:
Starter Installa Esegui nextjs-ai-sdk-chatnpm installnpm run dev, poi aprihttp://localhost:3000langgraph-agentpip install -r requirements.txtpython agent.py "What would 3 million output tokens of openai/gpt-5.5 cost?"crewai-crewpip install -r requirements.txtpython crew.py openai/gpt-5.5 anthropic/claude-sonnet-5.5tool-agent-cliniente (Node 22.18 o più recente) node agent.ts "What does this project do?"
Il modello predefinito è deepseek/deepseek-v4-flash. Imposta UBERLLM_MODEL su qualsiasi
modello di chat su uberllm.dev/models che supporti gli strumenti.
Cosa mostra ogni starter
- App di chat Next.js.
useChatsulla pagina,streamTextnella route, uno strumento che cerca i prezzi dei modelli in tempo reale, e il provider configurato consupportsStructuredOutputs: true, di cui l'output tipizzato (Output.object) ha bisogno. Maggiori informazioni sull'SDK: Vercel AI SDK. - Agent LangGraph. Il grafo agente standard (model → tools → model) con
ChatOpenAIpuntato a UberLLM. Maggiori informazioni: LangChain. - Crew CrewAI. Due agenti su un unico modello. L'ID del modello è scritto come
"openai/" + <UberLLM id>concustom_openai=True, che è il modo in cui CrewAI raggiunge un endpoint compatibile con OpenAI. - CLI dell'agente. L'intero ciclo degli strumenti in circa 200 righe di semplice
fetch: invia gli strumenti, esegui le chiamate richieste dal modello, invia indietro i risultati, ripeti. Stampa il conteggio dei token e il costo di ogni risposta.
Cosa fa ogni starter
- La chiave va solo a UberLLM. Il base URL è impostato nel codice, quindi un
OPENAI_BASE_URLnella tua shell non viene usato. - Versioni esatte. Le dipendenze sono bloccate, quindi lo starter che copi è quello che è stato testato.
- Un test di fumo. Senza una chiave, viene eseguito contro un sostituto per l'API. Con
UBERLLM_API_KEYimpostato, effettua anche una chiamata reale, che costa circa un centesimo o meno.
Ogni chiamata costa quanto addebitato dal suo provider, e una chiamata fallita non viene fatturata. Per limitare quanto una chiave può spendere, imposta un limite di spesa su di essa in Dashboard → Keys. Vedi Prezzi.
Un badge con prezzo in tempo reale per il tuo README
Il tuo progetto supporta UberLLM? Un badge mostra il prezzo attuale del modello che raccomandi. UberLLM lo serve come SVG, quindi si aggiorna da solo quando il prezzo cambia.
Markdown:
[](https://uberllm.dev/models/deepseek/deepseek-v4-flash?utm_source=embed&utm_medium=referral&utm_campaign=price-badge)
HTML:
<a href="https://uberllm.dev/models/deepseek/deepseek-v4-flash?utm_source=embed&utm_medium=referral&utm_campaign=price-badge"><img src="https://api.uberllm.dev/api/v1/public/badge/deepseek/deepseek-v4-flash.svg" alt="DeepSeek V4 Flash price on UberLLM"></a>
- Metti qualsiasi ID modello da uberllm.dev/models in entrambi
gli indirizzi, per esempio
anthropic/claude-sonnet-5.5. - Un ID che non esiste risponde 404, quindi controlla che il badge si carichi prima di fare il commit.
- Per i numeri invece di un'immagine, gli stessi prezzi sono in formato JSON a
https://api.uberllm.dev/api/v1/public/prices?model=<model id>. Nessuna chiave necessaria, e i browser possono chiamarla. Vedi API dei prezzi e badge dei prezzi. - Per avere la tua app elencata su uberllm.dev/apps, invia le due intestazioni in App.
Altri esempi
Esempi a file singolo per più SDK e linguaggi (OpenAI e Anthropic SDKs, LlamaIndex, LiteLLM, Pydantic AI, Go, Rust, Java, .NET, curl, immagini, video, musica e parlato) si trovano nel ricettario.