LLM
Einheitliche Schnittstelle für mehrere LLM-Provider mit automatischem Routing Lerne die Einrichtungsmuster, APIs und praktischen Beispiele kennen, die du...
Einheitliche Schnittstelle für mehrere LLM-Provider mit automatischem Routing
Übersicht
Die LLM-Abstraktionsschicht bietet nahtlose Integration mit mehreren KI-Providern und ermöglicht es dir, zwischen OpenAI, Claude, Gemini und Ollama zu wechseln, ohne deinen Code zu ändern. Sie verwaltet providerspezifische Implementierungen, Nachrichtenformatierung und Streaming und bietet dabei eine konsistente API über alle Provider hinweg.
Unterstützte Provider
Astreus unterstützt vier große LLM-Provider mit automatischem Modell-Routing:
Die Beispiele wählen Modelle ausdrücklich aus; weiterhin unterstützte Standardwerte bleiben unverändert. Für eingestellte Modelle der nativen APIs muss ausdrücklich ein aktuelles Ersatzmodell ausgewählt werden.
OpenAI
Aktuelle Modell-IDs für die direkte API:
gpt-6-astragpt-5.6-solgpt-5.6-terragpt-5.6-luna- API-Schlüssel: Setze die Umgebungsvariable
OPENAI_API_KEY
Bei direkten OpenAI-Anfragen erfordern Tool-Aufrufe mit GPT-6 Astra die Responses API. Der Adapter übernimmt dieses Protokoll; konfigurierte OpenAI-kompatible Gateways nutzen Chat Completions. Setze für GPT-6 Astra weder temperature noch top_p. Siehe den OpenAI-Modellleitfaden.
Anthropic Claude
Aktuelle Modell-IDs für die direkte API:
claude-fable-5-1claude-opus-5claude-sonnet-5claude-haiku-4-5-20251001- API-Schlüssel: Setze die Umgebungsvariable
ANTHROPIC_API_KEY
Google Gemini
Alle 12 unterstützten Modelle:
- Neueste:
gemini-2.5-pro,gemini-2.5-pro-deep-think,gemini-2.5-flash,gemini-2.5-flash-lite - Stabil:
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 - API-Schlüssel: Setze die Umgebungsvariable
GEMINI_API_KEY
Ollama (Lokal)
Alle 31 unterstützten Modelle:
- Neueste:
deepseek-r1,deepseek-v3,deepseek-v2.5,deepseek-coder,deepseek-coder-v2,qwen3,qwen2.5-coder,llama3.3,gemma3,phi4 - Beliebt:
mistral-small,codellama,llama3.2,llama3.1,qwen2.5,gemma2,phi3,mistral,codegemma,wizardlm2 - Weitere:
dolphin-mistral,openhermes,deepcoder,stable-code,wizardcoder,magicoder,solar,yi,zephyr,orca-mini,vicuna - Konfiguration: Setze
OLLAMA_BASE_URL(Standard:http://localhost:11434)
Konfiguration
Umgebungsvariablen
Richte deine API-Schlüssel und Konfiguration ein:
Stelle nur die Zugangsdaten des verwendeten Providers über deine Shell-Umgebung oder einen Secret-Manager bereit. Die folgenden Befehle lesen vorhandene Umgebungswerte; sie enthalten keine API-Schlüssel.
# 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" # OptionalAgent-Konfiguration
Gib das Modell beim Erstellen von Agenten an:
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
});Kostenlose gehostete Modelle über OpenRouter
OpenRouter nutzt den bestehenden openai-Adapter, keinen fünften Provider. Setze die Gateway-URL und den zugehörigen Schlüssel, bevor du einen Agenten oder eine LLM-Instanz erstellst. OPENROUTER_API_KEY ist deine Umgebungsvariable und wird dem OPENAI_API_KEY des Adapters zugewiesen.
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_API_KEY="${OPENROUTER_API_KEY:?Set OPENROUTER_API_KEY in your environment}"Am 2026-09-13 verzeichnete der OpenRouter-Modellkatalog für diese IDs Ein- und Ausgabetokenpreise von null sowie Tool-Unterstützung:
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);Kostenloser gehosteter Zugriff unterliegt Anfrage- und Verfügbarkeitslimits und ist nicht unbegrenzt. Ist ein kostenloses Modell nicht verfügbar, behandle den Fehler oder wähle ausdrücklich ein anderes kostenloses Modell; Astreus wechselt nicht automatisch zu kostenpflichtigen Modellen. Eine kostenlose Framework-Lizenz macht gehostete APIs nicht kostenlos, und lokales Ollama benötigt weiterhin Hardware und Strom.
Diese IDs mit Namensraum erfordern den OpenRouter-Endpunkt. Für direkte OpenAI-Nutzung stelle OPENAI_BASE_URL=https://api.openai.com/v1 und einen von OpenAI ausgestellten Schlüssel gemeinsam wieder her. Eine Änderung der Basis-URL betrifft alle Anfragen über diese Adapterinstanz.
Modelle ohne Zugangsdaten abfragen
getModelsByProvider liest den lokalen Framework-Katalog ohne API-Zugangsdaten oder authentifizierte Clients. Das bestätigt weder den Zugriff deines Kontos noch die aktuelle Verfügbarkeit eines gehosteten Modells.
import { getModelsByProvider } from '@astreus-ai/astreus';
const modelIds = getModelsByProvider('openai');
console.log(modelIds);Verwendungsbeispiele
Grundlegende LLM-Verwendung
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);Streaming-Antworten
// 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);
}
}Funktionsaufrufe
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}`);
});
}LLM-Optionen
Konfiguriere das LLM-Verhalten mit diesen Optionen:
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
}Parameter-Details
- temperature: Optional und modellabhängig. Für GPT-6 Astra weglassen; nicht jedes Modell akzeptiert Sampling-Parameter.
- maxTokens: Maximale Anzahl an Tokens in der Antwort (je nach Modell unterschiedlich)
- stream: Aktiviert Echtzeit-Streaming für lange Antworten
- systemPrompt: Legt Verhalten und Kontext für das Modell fest
- tools: Aktiviert Funktionsaufruf-Fähigkeiten
Provider-Funktionen
| Feature | OpenAI | Claude | Gemini | Ollama |
|---|---|---|---|---|
| Streaming | ✅ | ✅ | ✅ | ✅ |
| Function Calling | ✅ | ✅ | Eingeschränkt | Eingeschränkt |
| Vision | ✅ | ✅ | ✅ | ✅ |
| Embeddings | ✅ | ❌ | ✅ | ✅ |
| Token Usage | ✅ | ✅ | Eingeschränkt | ✅ |
| Custom Base URL | ✅ | ✅ | ❌ | ✅ |
| Local Models | ❌ | ❌ | ❌ | ✅ |
Vision-Modelle
Jeder Provider unterstützt bestimmte Modelle für die Bildanalyse:
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
Embedding-Modelle
Für Wissensdatenbanken und semantische Suche:
OpenAI Embeddings
text-embedding-3-large(3072 Dimensionen)text-embedding-3-small(1536 Dimensionen)text-embedding-ada-002(1536 Dimensionen)
Gemini Embeddings
text-embedding-004embedding-001
Ollama Embeddings
nomic-embed-text,mxbai-embed-largeall-minilm,snowflake-arctic-embed
Hinweis: Claude/Anthropic unterstützt keine Embeddings. Verwende OpenAI oder Gemini für die Embedding-Generierung.
Weitere Umgebungsvariablen
# 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"Leitfaden zur Modellauswahl
Für Code-Generierung
- Am besten:
gpt-4o,claude-3-5-sonnet-20241022,deepseek-coder - Schnell:
gpt-4o-mini,claude-3-5-haiku-20241022
Für Reasoning-Aufgaben
- Am besten:
claude-opus-4-20250514,gpt-6-astra,o3 - Ausgewogen:
claude-sonnet-4-20250514,gpt-4o
Für kreatives Schreiben
- Am besten:
gpt-6-astra,claude-3-opus-20240229 - Schnell:
gemini-2.5-pro,gpt-4o-mini
Für Datenschutz/lokale Nutzung
- Am besten:
deepseek-r1,llama3.3,qwen3 - Code:
deepseek-coder,codellama
Zuletzt aktualisiert: 13. September 2026
In diesem Abschnitt
Einführung
Open-Source-KI-Agent-Framework zum Erstellen autonomer Systeme, die reale Aufgaben effektiv lösen.
Installation
Installiere Astreus mit npm, yarn oder pnpm, überprüfe die erforderliche Node.js-Version und bereite ein lokales Projekt für die Entwicklung von KI-Agenten...
Schnellstart
Erstelle deinen ersten KI-Agenten mit Astreus in unter 2 Minuten Lerne die Einrichtungsmuster, APIs und praktischen Beispiele kennen, die du zum Aufbau...
Agent
Zentrale KI-Entität mit modularen Fähigkeiten und dekoratorbasierter Komposition Lerne die Einrichtungsmuster, APIs und praktischen Beispiele kennen, die du...