Dokümantasyon / Modeller
Modeller ve sağlayıcılar
ivralo, agno'nun çalıştırabildiği her modelle çalışır: yerel bir Ollama tag'i, kendi ağınızdaki bir sunucu ya da barındırılan bir API. Bu sayfada bir modelin nasıl adlandırıldığı, ivralo'nun şirketinizin endpoint'ine nasıl yönlendirileceği ve bir role nasıl ayrı bir model verileceği anlatılıyor.
Bir modeli adlandırmak
Model adı geçen her yerde değer bir model referansıdır:
package[.Class]:model
package, agno ile gelen sağlayıcı paketlerinden biridir. ivralo'nun kendine ait bir listesi yoktur; agno'nun listesini okur. Başında bilinen bir paket adı olmayan değer bir Ollama tag'i sayılır, yani düz bir tag yazmak eskisi gibi çalışır.
| Referans | Nerede çalışır |
|---|---|
gemma4:26b | Ollama, varsayılan |
ollama:gemma4:26b | Ollama, açıkça yazılmış hali |
openai-compatible:qwen3-32b | IVRALO_OPENAI_COMPATIBLE_URL adresinde OpenAI protokolüyle konuşan herhangi bir sunucu |
vllm:Qwen/Qwen3-32B, lmstudio:qwen3-8b, llama_cpp:qwen3 | Yerel inference sunucuları |
anthropic:claude-sonnet-5 | Claude API |
openai:gpt-5.5 | OpenAI API, Responses API üzerinden |
openai.OpenAIChat:gpt-4.1 | OpenAI API, chat completions üzerinden: .Class paketin sınıflarından birini seçer |
google:gemini-3-pro, groq:..., mistral:..., openrouter:... | Bu API'ler ve agno ile gelen diğer bütün paketler, aynı şekilde |
Paket adı büyük-küçük harfe bakılmadan eşleştirilir; model kısmındaki iki nokta ve harfler olduğu gibi korunur.
Bilmeniz gereken iki şey var:
openai, OpenAI'ın Responses API'si anlamına gelir; çünkü OpenAI'ın reasoning modelleri chat completions üzerinde function tool'larını kabul etmez. Chat completions içinopenai.OpenAIChat:yazın.mistral:7b, Ollama'daki Mistral değil, Mistral API'sindeki7bmodelidir. Yerel olanı içinollama:mistral:7byazın.ivralo doctor, bu şekilde yorumlanan bir referansı ve paket adını neredeyse doğru yazan bir referansı (antropic:gibi) işaretler.
Varsayılan: Ollama
Hiçbir ayar yapılmamışsa her rol, http://localhost:11434 adresindeki Ollama üzerinden gemma4:26b ile çalışır. Eksik tag'leri ivralo init --pull çeker.
| Değişken | Varsayılan | Ne ayarlar |
|---|---|---|
IVRALO_MODEL | gemma4:26b | Aksi belirtilmedikçe her rolün çalıştığı model |
IVRALO_OLLAMA_HOST | http://localhost:11434 | Ollama'nın dinlediği adres. Düz OLLAMA_HOST okunmaz |
IVRALO_NUM_CTX | 16384 | Ollama'nın bağlam penceresi. Büyütmenin bedeli GPU belleğidir |
IVRALO_NUM_PREDICT | 8192 | Yerel bir modelin yazabileceği en uzun yanıt |
IVRALO_KEEP_ALIVE | 30m | Ollama'nın ağırlıkları çağrılar arasında ne kadar süre bellekte tuttuğu |
IVRALO_OLLAMA_THINK | off | off, düşünebilen bir modele düşünmemesini söyler; on, kararı Ollama'nın kendi davranışına bırakır |
Şirket endpoint'i
Sunucu kurulumlarında model genellikle aynı ağdaki bir GPU makinesinde, OpenAI uyumlu bir API'nin arkasında çalışır: vLLM, bir LiteLLM proxy'si, llama.cpp sunucusu ya da şirket içi bir gateway. Bu durumda modeli openai-compatible: ön ekiyle ve o sunucudaki adıyla yazın:
IVRALO_MODEL=openai-compatible:qwen3-32b
IVRALO_OPENAI_COMPATIBLE_URL=http://gpu-box:8000/v1
IVRALO_OPENAI_COMPATIBLE_KEY=... # yalnızca sunucu istiyorsa
Bunları ivralo init --server sizin yerinize yazar:
ivralo init --server --model-url http://gpu-box:8000/v1 --model qwen3-32b
Burada --model, o endpoint'teki model adıdır. Anahtar hiçbir zaman argüman olarak verilmez: init'i çalıştırmadan önce IVRALO_OPENAI_COMPATIBLE_KEY'i export edin; ekrana basılmadan .env'e kopyalanır.
Kendi sunucusu olan agno paketlerini IVRALO_<PACKAGE>_URL ile o sunucuya yönlendirirsiniz: IVRALO_VLLM_URL (varsayılan http://localhost:8000/v1), IVRALO_LMSTUDIO_URL, IVRALO_LLAMA_CPP_URL.
Barındırılan API'ler
Barındırılan bir sağlayıcı, kendi SDK'sının okuduğu anahtarı kullanır: ANTHROPIC_API_KEY, OPENAI_API_KEY, GOOGLE_API_KEY, GROQ_API_KEY, MISTRAL_API_KEY, OPENROUTER_API_KEY ve benzerleri. Anahtarı ana dizindeki .env dosyasına koyun; ivralo IVRALO_ ile başlayan ayrı bir kopyasını tutmaz.
OpenAI protokolüyle konuşan paketler (openai, openrouter, deepseek, xai, together, fireworks, yerel sunucular) ek bir kurulum istemez. Dört SDK isteğe bağlı extra olarak gelir:
| Paket | Checkout'ta | Kurulu komutta |
|---|---|---|
anthropic | uv sync --extra anthropic | ivralo[pg,anthropic] @ <source> |
google (Gemini) | uv sync --extra google | ivralo[pg,google] @ <source> |
groq | uv sync --extra groq | ivralo[pg,groq] @ <source> |
mistral | uv sync --extra mistral | ivralo[pg,mistral] @ <source> |
| dördü birden | uv sync --extra providers | ivralo[pg,providers] @ <source> |
İkinci sütundaki değer, Sunucuya kurulum sayfasındaki uv tool install satırına yazılır. Diğer paketler kendi SDK'larının bir kez kurulmasını ister; hangisinin gerektiğini ivralo doctor söyler.
ivralo doctor, /model ve --model, bir modeli herhangi bir şey kurulmadan önce kontrol eder ve eksik olanı SDK'nın kendi ifadeleriyle bildirir: paket, anahtar, var olmayan bir sınıf ya da URL'si verilmemiş bir sunucu.
Barındırılan ve uyumlu modeller için ayarlar
| Değişken | Varsayılan | Ne ayarlar |
|---|---|---|
IVRALO_MAX_TOKENS | 8192 | En uzun yanıt. Geçerli sınırı ivralo doctor gösterir |
IVRALO_CONTEXT_WINDOW | 0 | Bağlam ölçerin baz aldığı pencere. 0, yerel modelde IVRALO_NUM_CTX, barındırılanda 128.000 demektir |
IVRALO_REQUEST_TIMEOUT | 300 | Bir isteğin en fazla kaç saniye bekleyeceği. Zaman aşımına uğrayan istek bir kez daha denenir |
IVRALO_TEMPERATURE | yerelde 0.2 | Yerel modele her zaman gönderilir; barındırılan modele yalnızca siz ayarladıysanız, çünkü bazı barındırılan reasoning modelleri temperature'ı kabul etmez |
Claude, system prompt önbelleğe alınarak çalıştırılır; ekibin prompt'ları uzundur ve turdan tura değişmez.
Her role ayrı model
Her rol kendi modeliyle çalışabilir; ekip yerel ve barındırılan modelleri bir arada kullanabilir:
| Değişken | Rol |
|---|---|
IVRALO_MODEL | Kendi ayarı olmayan bütün roller |
IVRALO_COORDINATOR_MODEL | Ana ajan, yani konuştuğunuz ajan |
IVRALO_MODEL_<KEY> | Anahtarıyla belirtilen tek bir uzman: IVRALO_MODEL_CODER, IVRALO_MODEL_INVESTIGATOR, IVRALO_MODEL_REPORTER, ... |
IVRALO_MEMORY_MODEL | Bellek çıkarımı, oturum başlıkları ve önerilen devam mesajları |
IVRALO_MODEL=openai-compatible:qwen3-32b
IVRALO_COORDINATOR_MODEL=openai-compatible:qwen3-235b
IVRALO_MODEL_INVESTIGATOR=openai-compatible:qwen3-235b
Anahtarlar şunlar: analyst, spreadsheet, visualizer, reporter, scribe, librarian, pdf_operator, courier, secretary, github, coder ve investigator; değişken adında büyük harfle yazılır. Aynı referansı kullanan roller tek bir model örneğini paylaşır. ivralo agents, her rolü çalıştığı modelle birlikte listeler.
Çalışırken değiştirmek
Bir oturumun içinde:
/model anthropic:claude-sonnet-5
Bu komut ana modeli (IVRALO_MODEL) oturumun geri kalanı için değiştirir ve ekibi aynı konuşma üzerinde yeniden kurar. Kendi ayarı olan roller kendi modelinde kalır. .env'e dokunulmaz; bir sonraki oturum yine oradaki ayarla başlar. Argümansız /model, kullanılan modelleri ve her birinin nerede çalıştığını listeler.
Komut satırında --model aynı şeyi tek bir çalıştırma için yapar:
ivralo ask --model openai:gpt-5.5 "src/ içindeki açık TODO'ları özetle"
Bir model ne zaman barındırılan sayılır
Adresi loopback, özel bir IP ya da yerel bir ad olan model yerel sayılır. Yerel ad, nokta içermeyen ya da .local, .lan, .home, .internal veya .localdomain ile biten addır. Bunun dışındaki her adres barındırılan sayılır; llm.example.com gibi açık internetteki bir ada benzeyen bir adla erişilen şirket gateway'i de buna dahildir. Paketi kurulu olmayan bir model de barındırılan sayılır.
Barındırılan bir model prompt'ları, geçmişi ve tool çıktılarını, yani ajanların okuduğu her şeyin metnini alır. ivralo bunu her seferinde açıkça belirtir: oturum başlığında sağlayıcının adını veren bir hosted satırı görünür, ivralo ask aynı notu metin çıktısının üstüne basar, ivralo doctor da bunu listeler. Siz maskelemeyle izin vermedikçe incident kanıtları barındırılan bir modele gönderilmez. Tam liste Makineden neler çıkar sayfasında.