LLM
Interfaccia unificata per più provider LLM con routing automatico Scopri i pattern di configurazione, le API e gli esempi pratici necessari per creare...
Interfaccia unificata per più provider LLM con routing automatico
Panoramica
Il livello di astrazione LLM offre un'integrazione fluida con più provider AI, permettendoti di passare da OpenAI, Claude, Gemini e Ollama senza modificare il tuo codice. Gestisce le implementazioni specifiche di ogni provider, la formattazione dei messaggi e lo streaming, offrendo al contempo un'API coerente su tutti i provider.
Provider supportati
Astreus supporta quattro provider LLM principali con routing automatico dei modelli:
OpenAI
Tutti i 14 modelli supportati:
- Ultimi:
gpt-4.5,gpt-4.1,gpt-4.1-mini,gpt-4.1-nano,o4-mini,o4-mini-high,o3 - Stabili:
gpt-4o,gpt-4o-mini,gpt-4-turbo,gpt-4,gpt-3.5-turbo,gpt-3.5-turbo-16k,gpt-3.5-turbo-instruct - Chiave API: imposta la variabile d'ambiente
OPENAI_API_KEY
Anthropic Claude
Tutti i 9 modelli supportati:
- Ultimi:
claude-sonnet-4-20250514,claude-opus-4-20250514,claude-3.7-sonnet-20250224 - Stabili:
claude-3-5-sonnet-20241022,claude-3-5-sonnet-20240620,claude-3-5-haiku-20241022,claude-3-opus-20240229,claude-3-sonnet-20240229,claude-3-haiku-20240307 - Chiave API: imposta la variabile d'ambiente
ANTHROPIC_API_KEY
Google Gemini
Tutti i 12 modelli supportati:
- Ultimi:
gemini-2.5-pro,gemini-2.5-pro-deep-think,gemini-2.5-flash,gemini-2.5-flash-lite - Stabili:
gemini-2.0-flash,gemini-2.0-flash-thinking,gemini-2.0-flash-lite,gemini-2.0-pro-experimental,gemini-1.5-pro,gemini-1.5-flash,gemini-1.5-flash-8b,gemini-pro - Chiave API: imposta la variabile d'ambiente
GEMINI_API_KEY
Ollama (locale)
Tutti i 31 modelli supportati:
- Ultimi:
deepseek-r1,deepseek-v3,deepseek-v2.5,deepseek-coder,deepseek-coder-v2,qwen3,qwen2.5-coder,llama3.3,gemma3,phi4 - Popolari:
mistral-small,codellama,llama3.2,llama3.1,qwen2.5,gemma2,phi3,mistral,codegemma,wizardlm2 - Aggiuntivi:
dolphin-mistral,openhermes,deepcoder,stable-code,wizardcoder,magicoder,solar,yi,zephyr,orca-mini,vicuna - Configurazione: imposta
OLLAMA_BASE_URL(predefinito:http://localhost:11434)
Configurazione
Variabili d'ambiente
Configura le tue chiavi API e le impostazioni:
# OpenAI
export OPENAI_API_KEY="your-openai-key"
export OPENAI_BASE_URL="https://api.openai.com/v1" # Optional
# Anthropic Claude
export ANTHROPIC_API_KEY="your-anthropic-key"
export ANTHROPIC_BASE_URL="https://api.anthropic.com" # Optional
# Google Gemini
export GEMINI_API_KEY="your-gemini-key"
# Ollama (Local)
export OLLAMA_BASE_URL="http://localhost:11434" # OptionalConfigurazione dell'Agent
Specifica il modello quando crei gli agent:
import { Agent } from '@astreus-ai/astreus';
const agent = await Agent.create({
name: 'MyAgent',
model: 'gpt-4.5', // Model automatically routes to correct provider
temperature: 0.7,
maxTokens: 2000
});Esempi di utilizzo
Utilizzo base dell'LLM
import { getLLM } from '@astreus-ai/astreus';
const llm = getLLM();
// Generate response
const response = await llm.generateResponse({
model: 'claude-sonnet-4-20250514',
messages: [{ role: 'user', content: 'Explain quantum computing' }],
temperature: 0.7,
maxTokens: 1000
});
console.log(response.content);Risposte in streaming
// Stream response in real-time
for await (const chunk of llm.generateStreamResponse({
model: 'gpt-4.5',
messages: [{ role: 'user', content: 'Write a story about AI' }],
stream: true
})) {
if (!chunk.done) {
process.stdout.write(chunk.content);
}
}Chiamata a funzioni
const response = await llm.generateResponse({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'What\'s the weather in Tokyo?' }],
tools: [{
type: 'function',
function: {
name: 'get_weather',
description: 'Get current weather information',
parameters: {
type: 'object',
properties: {
location: {
type: 'string',
description: 'City name'
}
},
required: ['location']
}
}
}]
});
// Handle tool calls
if (response.toolCalls) {
response.toolCalls.forEach(call => {
console.log(`Tool: ${call.function.name}`);
console.log(`Args: ${call.function.arguments}`);
});
}Opzioni LLM
Configura il comportamento dell'LLM con queste opzioni:
interface LLMRequestOptions {
model: string; // Required: Model identifier
messages: LLMMessage[]; // Required: Conversation history
temperature?: number; // Creativity level (0.0-1.0, default: 0.7)
maxTokens?: number; // Max output tokens (default: 4096)
stream?: boolean; // Enable streaming responses
systemPrompt?: string; // System instructions
tools?: Tool[]; // Function calling tools
}Dettagli dei parametri
- temperature: controlla la casualità (0.0 = deterministico, 1.0 = molto creativo)
- maxTokens: numero massimo di token nella risposta (varia in base al modello)
- stream: abilita lo streaming in tempo reale per risposte lunghe
- systemPrompt: imposta il comportamento e il contesto per il modello
- tools: abilita le capacità di function calling
Funzionalità per provider
| Funzionalità | OpenAI | Claude | Gemini | Ollama |
|---|---|---|---|---|
| Streaming | ✅ | ✅ | ✅ | ✅ |
| Function Calling | ✅ | ✅ | Limitato | Limitato |
| Vision | ✅ | ✅ | ✅ | ✅ |
| Embedding | ✅ | ❌ | ✅ | ✅ |
| Utilizzo dei token | ✅ | ✅ | Limitato | ✅ |
| Base URL personalizzato | ✅ | ✅ | ❌ | ✅ |
| Modelli locali | ❌ | ❌ | ❌ | ✅ |
Modelli Vision
Ogni provider supporta modelli specifici per l'analisi delle immagini:
OpenAI Vision
gpt-4o,gpt-4o-mini,gpt-4-turbo,gpt-4-vision-previewgpt-4o-2024-08-06,gpt-4o-2024-05-13
Claude Vision
claude-3-5-sonnet-20241022,claude-3-5-sonnet-20240620claude-3-opus-20240229,claude-3-sonnet-20240229,claude-3-haiku-20240307
Gemini Vision
gemini-1.5-pro,gemini-1.5-flashgemini-1.0-pro-vision-latest,gemini-pro-vision
Ollama Vision
llava,llava:7b,llava:13b,llava:34bllava-llama3,llava-phi3,moondream
Modelli di Embedding
Per la knowledge base e la ricerca semantica:
OpenAI Embeddings
text-embedding-3-large(3072 dimensioni)text-embedding-3-small(1536 dimensioni)text-embedding-ada-002(1536 dimensioni)
Gemini Embeddings
text-embedding-004embedding-001
Ollama Embeddings
nomic-embed-text,mxbai-embed-largeall-minilm,snowflake-arctic-embed
Nota: Claude/Anthropic non supporta gli embedding. Usa OpenAI o Gemini per la generazione di embedding.
Variabili d'ambiente aggiuntive
# Dedicated embedding API keys (optional)
OPENAI_EMBEDDING_API_KEY="your-embedding-key"
OPENAI_EMBEDDING_BASE_URL="https://api.openai.com/v1"
GEMINI_EMBEDDING_API_KEY="your-gemini-embedding-key"
# Dedicated vision API keys (optional)
OPENAI_VISION_API_KEY="your-vision-key"
OPENAI_VISION_BASE_URL="https://api.openai.com/v1"
ANTHROPIC_VISION_API_KEY="your-anthropic-vision-key"
ANTHROPIC_VISION_BASE_URL="https://api.anthropic.com"
GEMINI_VISION_API_KEY="your-gemini-vision-key"Guida alla selezione del modello
Per la generazione di codice
- Migliori:
gpt-4o,claude-3-5-sonnet-20241022,deepseek-coder - Veloci:
gpt-4o-mini,claude-3-5-haiku-20241022
Per task di ragionamento
- Migliori:
claude-opus-4-20250514,gpt-4.5,o3 - Bilanciati:
claude-sonnet-4-20250514,gpt-4o
Per la scrittura creativa
- Migliori:
gpt-4.5,claude-3-opus-20240229 - Veloci:
gemini-2.5-pro,gpt-4o-mini
Per privacy/uso locale
- Migliori:
deepseek-r1,llama3.3,qwen3 - Codice:
deepseek-coder,codellama
Ultimo aggiornamento: 6 luglio 2026
In questa sezione
Introduzione
Framework AI agent open-source per costruire sistemi autonomi che risolvono in modo efficace problemi del mondo reale.
Installazione
Installa Astreus con npm, yarn o pnpm, verifica la versione richiesta di Node.js e prepara un progetto locale per costruire agenti AI con il framework.
Avvio rapido
Costruisci il tuo primo agente AI con Astreus in meno di 2 minuti Scopri i pattern di configurazione, le API e gli esempi pratici necessari per creare...
Agente
Entità AI centrale con funzionalità modulari e composizione basata su decoratori Scopri i pattern di configurazione, le API e gli esempi pratici necessari...