LLM
Interface unifiée pour plusieurs fournisseurs de LLM avec routage automatique Découvrez les schémas de configuration, les API et les exemples pratiques...
Interface unifiée pour plusieurs fournisseurs de LLM avec routage automatique
Vue d'ensemble
La couche d'abstraction LLM offre une intégration transparente avec plusieurs fournisseurs d'IA, vous permettant de basculer entre OpenAI, Claude, Gemini et Ollama sans changer votre code. Elle gère les implémentations spécifiques à chaque fournisseur, le formatage des messages et le streaming, tout en offrant une API cohérente pour tous les fournisseurs.
Fournisseurs pris en charge
Astreus prend en charge quatre fournisseurs de LLM majeurs avec routage automatique des modèles :
Les exemples sélectionnent les modèles explicitement ; les valeurs par défaut toujours prises en charge restent inchangées. Les modèles retirés des API natives nécessitent de sélectionner explicitement un modèle actuel de remplacement.
OpenAI
Identifiants actuels pour l’API directe:
gpt-6-astragpt-5.6-solgpt-5.6-terragpt-5.6-luna- Clé API : définissez la variable d'environnement
OPENAI_API_KEY
Pour les requêtes directes à OpenAI, les appels d’outils de GPT-6 Astra nécessitent l’API Responses. L’adaptateur gère ce protocole ; les passerelles compatibles OpenAI configurées utilisent Chat Completions. Ne définissez ni temperature ni top_p pour GPT-6 Astra. Consultez le guide des modèles OpenAI.
Anthropic Claude
Identifiants actuels pour l’API directe:
claude-fable-5-1claude-opus-5claude-sonnet-5claude-haiku-4-5-20251001- Clé API : définissez la variable d'environnement
ANTHROPIC_API_KEY
Google Gemini
Les 12 modèles pris en charge :
- Latest :
gemini-2.5-pro,gemini-2.5-pro-deep-think,gemini-2.5-flash,gemini-2.5-flash-lite - Stable :
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 - Clé API : définissez la variable d'environnement
GEMINI_API_KEY
Ollama (local)
Les 31 modèles pris en charge :
- Latest :
deepseek-r1,deepseek-v3,deepseek-v2.5,deepseek-coder,deepseek-coder-v2,qwen3,qwen2.5-coder,llama3.3,gemma3,phi4 - Populaire :
mistral-small,codellama,llama3.2,llama3.1,qwen2.5,gemma2,phi3,mistral,codegemma,wizardlm2 - Additionnel :
dolphin-mistral,openhermes,deepcoder,stable-code,wizardcoder,magicoder,solar,yi,zephyr,orca-mini,vicuna - Configuration : définissez
OLLAMA_BASE_URL(par défaut :http://localhost:11434)
Configuration
Variables d'environnement
Configurez vos clés API et paramètres :
Fournissez uniquement les identifiants du fournisseur utilisé via l’environnement du shell ou un gestionnaire de secrets. Les commandes ci-dessous lisent les valeurs déjà présentes dans l’environnement ; elles ne contiennent aucune clé API.
# OpenAI
export OPENAI_API_KEY="${OPENAI_API_KEY:?Set OPENAI_API_KEY in your environment}"
export OPENAI_BASE_URL="https://api.openai.com/v1" # Optional
# Anthropic Claude
export ANTHROPIC_API_KEY="${ANTHROPIC_API_KEY:?Set ANTHROPIC_API_KEY in your environment}"
export ANTHROPIC_BASE_URL="https://api.anthropic.com" # Optional
# Google Gemini
export GEMINI_API_KEY="${GEMINI_API_KEY:?Set GEMINI_API_KEY in your environment}"
# Ollama (Local)
export OLLAMA_BASE_URL="http://localhost:11434" # OptionalConfiguration de l'agent
Spécifiez le modèle lors de la création des agents :
import { Agent } from '@astreus-ai/astreus';
const agent = await Agent.create({
name: 'MyAgent',
model: 'gpt-6-astra', // Explicit selection, not a default change
maxTokens: 2000
});Modèles hébergés gratuits via OpenRouter
OpenRouter utilise l’adaptateur openai existant, pas un cinquième fournisseur. Configurez l’URL de la passerelle et la clé correspondante avant de créer un agent ou une instance LLM. OPENROUTER_API_KEY est votre variable d’environnement, affectée à OPENAI_API_KEY pour l’adaptateur.
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_API_KEY="${OPENROUTER_API_KEY:?Set OPENROUTER_API_KEY in your environment}"Au 2026-09-13, le catalogue de modèles OpenRouter indiquait un prix nul pour les tokens d’entrée et de sortie, ainsi que la prise en charge des outils, pour ces identifiants :
openrouter/freenvidia/nemotron-3.5-lightning:freegoogle/gemma-4-31b-it:freegoogle/gemma-4-26b-a4b-it:free
import { Agent } from '@astreus-ai/astreus';
const agent = await Agent.create({
name: 'HostedFreeAgent',
model: 'openrouter/free',
maxTokens: 1000
});
const response = await agent.ask('Explain how a hash table works.');
console.log(response);L’accès hébergé gratuit comporte des limites de requêtes et de disponibilité ; il n’est pas illimité. Si un modèle gratuit est indisponible, gérez l’erreur ou choisissez explicitement un autre modèle gratuit ; Astreus ne bascule pas automatiquement vers des modèles payants. Une licence gratuite du framework ne rend pas les API hébergées gratuites, et Ollama en local nécessite toujours du matériel et de l’électricité.
Ces identifiants préfixés nécessitent l’endpoint OpenRouter. Pour revenir à OpenAI en direct, rétablissez ensemble OPENAI_BASE_URL=https://api.openai.com/v1 et une clé émise par OpenAI. Modifier l’URL de base affecte toutes les requêtes utilisant cette instance de l’adaptateur.
Consulter les modèles sans identifiants
getModelsByProvider lit le catalogue local du framework sans identifiants API ni clients authentifiés. Cela ne garantit ni l’accès de votre compte ni la disponibilité actuelle d’un modèle hébergé.
import { getModelsByProvider } from '@astreus-ai/astreus';
const modelIds = getModelsByProvider('openai');
console.log(modelIds);Exemples d'utilisation
Utilisation basique du LLM
import { getLLM } from '@astreus-ai/astreus';
const llm = getLLM();
// Generate response
const response = await llm.generateResponse({
model: 'claude-sonnet-5',
messages: [{ role: 'user', content: 'Explain quantum computing' }],
maxTokens: 1000
});
console.log(response.content);Réponses en streaming
// Stream response in real-time
for await (const chunk of llm.generateStreamResponse({
model: 'gpt-6-astra',
messages: [{ role: 'user', content: 'Write a story about AI' }],
stream: true
})) {
if (!chunk.done) {
process.stdout.write(chunk.content);
}
}Appel de fonctions
const response = await llm.generateResponse({
model: 'gpt-6-astra',
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}`);
});
}Options LLM
Configurez le comportement du LLM avec ces options :
interface LLMRequestOptions {
model: string; // Required: Model identifier
messages: LLMMessage[]; // Required: Conversation history
temperature?: number; // Model-dependent; omit for GPT-6 Astra
maxTokens?: number; // Max output tokens (default: 4096)
stream?: boolean; // Enable streaming responses
systemPrompt?: string; // System instructions
tools?: Tool[]; // Function calling tools
}Détails des paramètres
- temperature : facultatif et dépendant du modèle. Omettez-le pour GPT-6 Astra ; tous les modèles n’acceptent pas les paramètres d’échantillonnage.
- maxTokens : nombre maximum de tokens dans la réponse (varie selon le modèle)
- stream : active le streaming en temps réel pour les réponses longues
- systemPrompt : définit le comportement et le contexte du modèle
- tools : active les capacités d'appel de fonctions
Fonctionnalités par fournisseur
| Fonctionnalité | OpenAI | Claude | Gemini | Ollama |
|---|---|---|---|---|
| Streaming | ✅ | ✅ | ✅ | ✅ |
| Appel de fonctions | ✅ | ✅ | Limité | Limité |
| Vision | ✅ | ✅ | ✅ | ✅ |
| Embeddings | ✅ | ❌ | ✅ | ✅ |
| Utilisation de tokens | ✅ | ✅ | Limité | ✅ |
| URL de base personnalisée | ✅ | ✅ | ❌ | ✅ |
| Modèles locaux | ❌ | ❌ | ❌ | ✅ |
Modèles Vision
Chaque fournisseur prend en charge des modèles spécifiques pour l'analyse d'images :
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
Modèles d'embedding
Pour la base de connaissances et la recherche sémantique :
OpenAI Embeddings
text-embedding-3-large(3072 dimensions)text-embedding-3-small(1536 dimensions)text-embedding-ada-002(1536 dimensions)
Gemini Embeddings
text-embedding-004embedding-001
Ollama Embeddings
nomic-embed-text,mxbai-embed-largeall-minilm,snowflake-arctic-embed
Note : Claude/Anthropic ne prend pas en charge les embeddings. Utilisez OpenAI ou Gemini pour la génération d'embeddings.
Variables d'environnement supplémentaires
# 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"Guide de sélection du modèle
Pour la génération de code
- Meilleur :
gpt-4o,claude-3-5-sonnet-20241022,deepseek-coder - Rapide :
gpt-4o-mini,claude-3-5-haiku-20241022
Pour les tâches de raisonnement
- Meilleur :
claude-opus-4-20250514,gpt-6-astra,o3 - Équilibré :
claude-sonnet-4-20250514,gpt-4o
Pour l'écriture créative
- Meilleur :
gpt-6-astra,claude-3-opus-20240229 - Rapide :
gemini-2.5-pro,gpt-4o-mini
Pour la confidentialité/l'usage local
- Meilleur :
deepseek-r1,llama3.3,qwen3 - Code :
deepseek-coder,codellama
Dernière mise à jour : 13 septembre 2026
Dans cette section
Introduction
Framework d'agent IA open-source pour construire des systèmes autonomes qui résolvent efficacement des tâches concrètes.
Installation
Installez Astreus avec npm, yarn ou pnpm, vérifiez la version requise de Node.js, et préparez un projet local pour créer des agents IA avec le framework.
Démarrage rapide
Créez votre premier agent IA avec Astreus en moins de 2 minutes Découvrez les schémas de configuration, les API et les exemples pratiques nécessaires pour...
Agent
Entité IA centrale avec des capacités modulaires et une composition basée sur des décorateurs