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 :
OpenAI
Les 14 modèles pris en charge :
- Latest :
gpt-4.5,gpt-4.1,gpt-4.1-mini,gpt-4.1-nano,o4-mini,o4-mini-high,o3 - Stable :
gpt-4o,gpt-4o-mini,gpt-4-turbo,gpt-4,gpt-3.5-turbo,gpt-3.5-turbo-16k,gpt-3.5-turbo-instruct - Clé API : définissez la variable d'environnement
OPENAI_API_KEY
Anthropic Claude
Les 9 modèles pris en charge :
- Latest :
claude-sonnet-4-20250514,claude-opus-4-20250514,claude-3.7-sonnet-20250224 - Stable :
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 - 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 :
# 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" # 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-4.5', // Model automatically routes to correct provider
temperature: 0.7,
maxTokens: 2000
});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-4-20250514',
messages: [{ role: 'user', content: 'Explain quantum computing' }],
temperature: 0.7,
maxTokens: 1000
});
console.log(response.content);Réponses en 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);
}
}Appel de fonctions
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}`);
});
}Options LLM
Configurez le comportement du LLM avec ces options :
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
}Détails des paramètres
- temperature : contrôle l'aléatoire (0.0 = déterministe, 1.0 = très créatif)
- 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-4.5,o3 - Équilibré :
claude-sonnet-4-20250514,gpt-4o
Pour l'écriture créative
- Meilleur :
gpt-4.5,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 : 6 juillet 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