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:
OpenAI
Alle 14 unterstützten Modelle:
- Neueste:
gpt-4.5,gpt-4.1,gpt-4.1-mini,gpt-4.1-nano,o4-mini,o4-mini-high,o3 - Stabil:
gpt-4o,gpt-4o-mini,gpt-4-turbo,gpt-4,gpt-3.5-turbo,gpt-3.5-turbo-16k,gpt-3.5-turbo-instruct - API-Schlüssel: Setze die Umgebungsvariable
OPENAI_API_KEY
Anthropic Claude
Alle 9 unterstützten Modelle:
- Neueste:
claude-sonnet-4-20250514,claude-opus-4-20250514,claude-3.7-sonnet-20250224 - Stabil:
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 - 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:
# 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" # 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-4.5', // Model automatically routes to correct provider
temperature: 0.7,
maxTokens: 2000
});Verwendungsbeispiele
Grundlegende LLM-Verwendung
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);Streaming-Antworten
// 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);
}
}Funktionsaufrufe
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}`);
});
}LLM-Optionen
Konfiguriere das LLM-Verhalten mit diesen Optionen:
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
}Parameter-Details
- temperature: Steuert die Zufälligkeit (0.0 = deterministisch, 1.0 = sehr kreativ)
- 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-4.5,o3 - Ausgewogen:
claude-sonnet-4-20250514,gpt-4o
Für kreatives Schreiben
- Am besten:
gpt-4.5,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: 6. Juli 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...