İçeriğe geç
ivralo
Bölümler

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.

ReferansNerede çalışır
gemma4:26bOllama, varsayılan
ollama:gemma4:26bOllama, açıkça yazılmış hali
openai-compatible:qwen3-32bIVRALO_OPENAI_COMPATIBLE_URL adresinde OpenAI protokolüyle konuşan herhangi bir sunucu
vllm:Qwen/Qwen3-32B, lmstudio:qwen3-8b, llama_cpp:qwen3Yerel inference sunucuları
anthropic:claude-sonnet-5Claude API
openai:gpt-5.5OpenAI API, Responses API üzerinden
openai.OpenAIChat:gpt-4.1OpenAI 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çin openai.OpenAIChat: yazın.
  • mistral:7b, Ollama'daki Mistral değil, Mistral API'sindeki 7b modelidir. Yerel olanı için ollama:mistral:7b yazı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şkenVarsayılanNe ayarlar
IVRALO_MODELgemma4:26bAksi belirtilmedikçe her rolün çalıştığı model
IVRALO_OLLAMA_HOSThttp://localhost:11434Ollama'nın dinlediği adres. Düz OLLAMA_HOST okunmaz
IVRALO_NUM_CTX16384Ollama'nın bağlam penceresi. Büyütmenin bedeli GPU belleğidir
IVRALO_NUM_PREDICT8192Yerel bir modelin yazabileceği en uzun yanıt
IVRALO_KEEP_ALIVE30mOllama'nın ağırlıkları çağrılar arasında ne kadar süre bellekte tuttuğu
IVRALO_OLLAMA_THINKoffoff, 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:

PaketCheckout'taKurulu komutta
anthropicuv sync --extra anthropicivralo[pg,anthropic] @ <source>
google (Gemini)uv sync --extra googleivralo[pg,google] @ <source>
groquv sync --extra groqivralo[pg,groq] @ <source>
mistraluv sync --extra mistralivralo[pg,mistral] @ <source>
dördü birdenuv sync --extra providersivralo[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şkenVarsayılanNe ayarlar
IVRALO_MAX_TOKENS8192En uzun yanıt. Geçerli sınırı ivralo doctor gösterir
IVRALO_CONTEXT_WINDOW0Bağlam ölçerin baz aldığı pencere. 0, yerel modelde IVRALO_NUM_CTX, barındırılanda 128.000 demektir
IVRALO_REQUEST_TIMEOUT300Bir isteğin en fazla kaç saniye bekleyeceği. Zaman aşımına uğrayan istek bir kez daha denenir
IVRALO_TEMPERATUREyerelde 0.2Yerel 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şkenRol
IVRALO_MODELKendi ayarı olmayan bütün roller
IVRALO_COORDINATOR_MODELAna 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_MODELBellek çı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.