LLM
Otomatik yönlendirmeyle birden fazla LLM sağlayıcısı için birleşik arayüz Güvenilir Astreus agent sistemleri oluşturmak için gereken kurulum kalıplarını,...
Otomatik yönlendirmeyle birden fazla LLM sağlayıcısı için birleşik arayüz
Genel Bakış
LLM soyutlama katmanı, kodunuzu değiştirmeden OpenAI, Claude, Gemini ve Ollama arasında geçiş yapmanızı sağlayarak birden fazla AI sağlayıcısıyla sorunsuz entegrasyon sunar. Sağlayıcıya özgü uygulamaları, mesaj biçimlendirmeyi ve akışı (streaming) yönetirken tüm sağlayıcılar genelinde tutarlı bir API sağlar.
Desteklenen Sağlayıcılar
Astreus, otomatik model yönlendirmesiyle dört büyük LLM sağlayıcısını destekler:
Örnekler modelleri açıkça seçer; desteklenmeye devam eden mevcut varsayılanlar değişmez. Sağlayıcıların doğrudan API’lerinde kullanımdan kaldırılan modeller için güncel bir alternatif açıkça seçilmelidir.
OpenAI
Doğrudan API için güncel model kimlikleri:
gpt-6-astragpt-5.6-solgpt-5.6-terragpt-5.6-luna- API Anahtarı:
OPENAI_API_KEYortam değişkenini ayarlayın
Doğrudan OpenAI isteklerinde GPT-6 Astra araç çağrıları Responses API gerektirir. Adaptör bu protokolü yönetir; yapılandırılmış OpenAI uyumlu ağ geçitleri Chat Completions kullanır. GPT-6 Astra için temperature veya top_p ayarlamayın. OpenAI model kılavuzuna bakın.
Anthropic Claude
Doğrudan API için güncel model kimlikleri:
claude-fable-5-1claude-opus-5claude-sonnet-5claude-haiku-4-5-20251001- API Anahtarı:
ANTHROPIC_API_KEYortam değişkenini ayarlayın
Google Gemini
Desteklenen 12 modelin tümü:
- En Yeni:
gemini-2.5-pro,gemini-2.5-pro-deep-think,gemini-2.5-flash,gemini-2.5-flash-lite - Kararlı:
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 Anahtarı:
GEMINI_API_KEYortam değişkenini ayarlayın
Ollama (Yerel)
Desteklenen 31 modelin tümü:
- En Yeni:
deepseek-r1,deepseek-v3,deepseek-v2.5,deepseek-coder,deepseek-coder-v2,qwen3,qwen2.5-coder,llama3.3,gemma3,phi4 - Popüler:
mistral-small,codellama,llama3.2,llama3.1,qwen2.5,gemma2,phi3,mistral,codegemma,wizardlm2 - Ek:
dolphin-mistral,openhermes,deepcoder,stable-code,wizardcoder,magicoder,solar,yi,zephyr,orca-mini,vicuna - Yapılandırma:
OLLAMA_BASE_URLayarlayın (varsayılan:http://localhost:11434)
Yapılandırma
Ortam Değişkenleri
API anahtarlarınızı ve yapılandırmanızı ayarlayın:
Yalnızca kullandığınız sağlayıcının kimlik bilgilerini kabuk ortamı veya bir gizli bilgi yöneticisi aracılığıyla sağlayın. Aşağıdaki komutlar mevcut ortam değerlerini okur; API anahtarı içermez.
# 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" # OptionalAjan Yapılandırması
Ajan oluştururken modeli belirtin:
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
});OpenRouter üzerinden ücretsiz barındırılan modeller
OpenRouter, beşinci bir sağlayıcı değil, mevcut openai adaptörünü kullanır. Bir ajan veya LLM örneği oluşturmadan önce ağ geçidi URL’sini ve ona ait anahtarı birlikte ayarlayın. OPENROUTER_API_KEY, adaptörün OPENAI_API_KEY değişkenine aktarılan, sizin tanımladığınız ortam değişkenidir.
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_API_KEY="${OPENROUTER_API_KEY:?Set OPENROUTER_API_KEY in your environment}"2026-09-13 tarihinde OpenRouter model kataloğu, şu kimlikler için giriş ve çıkış token ücretlerini sıfır olarak ve araç desteğini mevcut olarak listeliyordu:
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);Ücretsiz barındırılan erişimin istek hızı ve kullanılabilirlik sınırları vardır; sınırsız hizmet değildir. Ücretsiz bir model kullanılamıyorsa hatayı işleyin veya başka bir ücretsiz modeli açıkça seçin; Astreus otomatik olarak ücretli modellere geçmez. Ücretsiz framework lisansı, barındırılan API’leri ücretsiz yapmaz; yerel Ollama da donanım ve elektrik gerektirir.
Bu ad alanı içeren kimlikler OpenRouter uç noktasını gerektirir. Doğrudan OpenAI kullanımına dönmek için OPENAI_BASE_URL=https://api.openai.com/v1 ile OpenAI tarafından verilen anahtarı birlikte geri yükleyin. Temel URL’nin değiştirilmesi, o adaptör örneğini kullanan tüm istekleri etkiler.
Kimlik bilgileri olmadan modelleri sorgulama
getModelsByProvider, API kimlik bilgileri veya kimliği doğrulanmış istemciler olmadan framework’ün yerel kataloğunu okur. Bu, hesabınızın erişim yetkisini veya barındırılan bir modelin o an kullanılabilir olduğunu doğrulamaz.
import { getModelsByProvider } from '@astreus-ai/astreus';
const modelIds = getModelsByProvider('openai');
console.log(modelIds);Kullanım Örnekleri
Temel LLM Kullanımı
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);Akış (Streaming) Yanıtları
// 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);
}
}Fonksiyon Çağırma
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 Seçenekleri
LLM davranışını şu seçeneklerle yapılandırın:
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
}Parametre Detayları
- temperature: İsteğe bağlıdır ve modele göre değişir. GPT-6 Astra için atlayın; her model örnekleme ayarlarını kabul etmez.
- maxTokens: Yanıttaki maksimum token sayısı (modele göre değişir)
- stream: Uzun yanıtlar için gerçek zamanlı akışı etkinleştirir
- systemPrompt: Model için davranış ve bağlamı ayarlar
- tools: Fonksiyon çağırma yeteneklerini etkinleştirir
Sağlayıcı Özellikleri
| Özellik | OpenAI | Claude | Gemini | Ollama |
|---|---|---|---|---|
| Streaming | ✅ | ✅ | ✅ | ✅ |
| Fonksiyon Çağırma | ✅ | ✅ | Sınırlı | Sınırlı |
| Görsel | ✅ | ✅ | ✅ | ✅ |
| Gömme (Embeddings) | ✅ | ❌ | ✅ | ✅ |
| Token Kullanımı | ✅ | ✅ | Sınırlı | ✅ |
| Özel Base URL | ✅ | ✅ | ❌ | ✅ |
| Yerel Modeller | ❌ | ❌ | ❌ | ✅ |
Görsel Modelleri
Her sağlayıcı, görüntü analizi için belirli modelleri destekler:
OpenAI Görsel
gpt-4o,gpt-4o-mini,gpt-4-turbo,gpt-4-vision-previewgpt-4o-2024-08-06,gpt-4o-2024-05-13
Claude Görsel
claude-3-5-sonnet-20241022,claude-3-5-sonnet-20240620claude-3-opus-20240229,claude-3-sonnet-20240229,claude-3-haiku-20240307
Gemini Görsel
gemini-1.5-pro,gemini-1.5-flashgemini-1.0-pro-vision-latest,gemini-pro-vision
Ollama Görsel
llava,llava:7b,llava:13b,llava:34bllava-llama3,llava-phi3,moondream
Gömme Modelleri
Bilgi tabanı ve anlamsal arama için:
OpenAI Gömmeleri
text-embedding-3-large(3072 boyut)text-embedding-3-small(1536 boyut)text-embedding-ada-002(1536 boyut)
Gemini Gömmeleri
text-embedding-004embedding-001
Ollama Gömmeleri
nomic-embed-text,mxbai-embed-largeall-minilm,snowflake-arctic-embed
Not: Claude/Anthropic gömmeleri desteklemez. Gömme üretimi için OpenAI veya Gemini kullanın.
Ek Ortam Değişkenleri
# 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"Model Seçim Rehberi
Kod Üretimi İçin
- En İyi:
gpt-4o,claude-3-5-sonnet-20241022,deepseek-coder - Hızlı:
gpt-4o-mini,claude-3-5-haiku-20241022
Akıl Yürütme Görevleri İçin
- En İyi:
claude-opus-4-20250514,gpt-6-astra,o3 - Dengeli:
claude-sonnet-4-20250514,gpt-4o
Yaratıcı Yazım İçin
- En İyi:
gpt-6-astra,claude-3-opus-20240229 - Hızlı:
gemini-2.5-pro,gpt-4o-mini
Gizlilik/Yerel Kullanım İçin
- En İyi:
deepseek-r1,llama3.3,qwen3 - Kod:
deepseek-coder,codellama
Son güncelleme: 13 Eylül 2026
Bu bölümde
Giriş
Gerçek dünya görevlerini etkili biçimde çözen otonom sistemler kurmak için açık kaynaklı AI ajan framework'ü.
Kurulum
Astreus'u npm, yarn veya pnpm ile kurun, gerekli Node.js sürümünü doğrulayın ve framework ile AI ajanları oluşturmak için yerel bir proje hazırlayın.
Hızlı Başlangıç
2 dakikadan kısa sürede Astreus ile ilk AI ajanınızı oluşturun Güvenilir Astreus agent sistemleri oluşturmak için gereken kurulum kalıplarını, API'leri ve...
Ajan
Modüler yetenekler ve decorator tabanlı kompozisyona sahip temel AI varlığı Güvenilir Astreus agent sistemleri oluşturmak için gereken kurulum kalıplarını,...