Dokümantasyon / Modeller
Makineden neler çıkar
ivralo, ağdan çıkamayan kod için yapıldı. Bu sayfada makineden bir şeyin çıkabileceği bütün yollar, her birini neyin açtığı ve ivralo'nun bunu size nerede gösterdiği listeleniyor.
Kısa cevap
Yerel bir model, yerel bir embedder ve kendi PostgreSQL'inizle kod, belgeler ve konuşmalar makinede kalır. Dışarı çıkan her yol sizin yapılandırdığınız bir şeydir ve çoğu siz açana kadar kapalıdır.
| Yol | Ne çıkar | Ne zaman |
|---|---|---|
| Barındırılan bir model | Prompt'lar, geçmiş ve tool çıktısı | IVRALO_MODEL ya da bir rol barındırılan bir model gösterdiğinde |
| Barındırılan bir embedder | Dizin için belgelerin metni | IVRALO_EMBED_MODEL barındırılan bir embedder gösterdiğinde |
| Web araması ve sayfa okuma | Arama sorgusu ve okunan sayfalar için istekler | IVRALO_WEB ile; varsayılan olarak açık, ivralo init --server kapatır |
| Span'ler | Her prompt, tool argümanı ve tool çıktısı | Yalnızca IVRALO_OTEL_ENDPOINT ayarlıysa |
| E-posta ve sohbet mesajları | Mesajın içeriği ve ekleri | Yalnızca yapılandırılmışsa ve her gönderim onaylanırsa |
| GitHub ve Google | Bu entegrasyonların okuyup yazdıkları | Yalnızca kimlik bilgileri yapılandırılmışsa |
| Taslak bir pull request | ivralo'nun açtığı branch, forge'unuza | Server modunda ya da bir kişi "evet" dediğinde |
Web araması yalnızca sorguyu gönderir. 200 karakterden uzun ya da birden fazla satıra yayılan sorgular reddedilir; böylece arama kutusuna bir belge yapıştırılamaz. Sayfalar yalnızca açık internetteki host'lardan çekilir.
Barındırılan model asla sessizce kullanılmaz
Adresi loopback, özel bir adres ya da yerel bir ad olmayan her model barındırılan sayılır (kural Modeller ve sağlayıcılar sayfasında). Herhangi bir rol böyle bir modelle çalıştığında ivralo bunu açıkça söyler:
- oturum başlığında sağlayıcının adını veren bir
hostedsatırı görünür; ivralo askaynı notu metin çıktısının üstüne basar;ivralo doctorişin gönderildiği her sağlayıcıyı sayar, ardından bunun incident kanıtları için ne anlama geldiğini yazar.
prompts, history and tool output - the text of what the specialists read - go to Anthropic
incident evidence: refused on these models (IVRALO_INCIDENT_HOSTED_MODEL is off)
Barındırılan embedder'lar da aynı şekilde bildirilir. Siz IVRALO_EMBED_CODE_HOSTED'ı ayarlamadıkça barındırılan bir embedder kodu hiçbir zaman görmez; bkz. Embedding'ler ve dizin.
Incident kanıtları
Log'lar kişisel veri içerir. Barındırılan bir modelle yapılan inceleme, şu iki ayar açık değilse reddedilir:
| Ayar | Anlamı |
|---|---|
IVRALO_INCIDENT_HOSTED_MODEL=true | Kanıtların makineden çıkmasını kabul ediyorsunuz. ivralo incident --hosted bunu tek bir çalıştırma için açar |
IVRALO_INCIDENT_MASK=true | Tanımlayıcılar, model onları görmeden önce yer tutucularla değiştirilir |
Maskeleme; IP adreslerini, e-posta adreslerini ve identifiers.json'da (ana dizinde ve çalışma alanının .ivralo/ klasöründe) tanımladığınız tanımlayıcıları <host-1> gibi sabit yer tutucularla değiştirir. Raporun sizde kalan kopyasında gerçek değerler geri konur. identifiers.json size ait hiçbir şey tanımlamıyorsa barındırılan çalıştırma yine reddedilir; çünkü o durumda maskeleme yalnızca adresleri kapsar, bütün host ve müşteri adları dışarı çıkar. Dosyanın ayrıntıları Gizlilik ve maskeleme sayfasında.
Egress politikası
Yukarıdakiler ivralo'nun kendi bağlantılarıyla ilgiliydi. Egress politikası ise ajanların çalıştırdıklarıyla ilgilidir: çektikleri bir sayfanın, çalıştırdıkları kodun ya da komutların bir host'a erişip erişemeyeceğiyle. Dört çıkış noktasında tek bir kural karar verir:
- web'den sayfa çekme;
- engellenen sayfaları render eden headless tarayıcı;
- bir uzmanın Python kodunun çalıştığı worker süreci;
- shell.
| Host | Web ve tarayıcı | Worker ve shell |
|---|---|---|
| Link-local, bulut metadata ve açık internete ait olmayan diğer adresler | Reddedilir | Reddedilir |
| Loopback, özel aralıklar, yerel adlar | Reddedilir | Sorulur; hosts.allow izin verir |
| Diğer bütün host'lar | İzin verilir | Sorulur; listede yoksa ve başında kimse yoksa reddedilir |
hosts.deny içindeki bir kayıt | Reddedilir | Reddedilir |
Web çıkışları, başka birinin seçmiş olabileceği URL'lerle çalışır; bu yüzden oradan yerel hiçbir şeye erişilemez. Worker ve shell ise sizin ağınızda sizin kodunuzu çalıştırır; bu yüzden orada yerel bir host'a izin verilebilir.
Host'ları ana dizindeki ya da repo'nun .ivralo/ klasöründeki permissions.json'da listelersiniz:
{
"hosts": {
"allow": ["artifacts.corp.internal"],
"deny": ["tracker.example.net"]
}
}
Her kayıt bir host adı ya da tek bir adrestir. Bir ad, altındaki adları da kapsar; yani corp.internal, git.corp.internal'ı da kapsar. Wildcard, port ya da maske kullanılmaz. Deny her zaman allow'un önüne geçer. Bir repo'nun kendi hosts.allow'u ancak klasöre güvendikten sonra devreye girer.
Worker'da listelemediğiniz bir ad, DNS'te çözülmeden önce sorulur; bu yüzden reddedilen bir istek dışarıya hiçbir şey göndermez, bir DNS sorgusu bile. Shell ise komutta geçen host'ları DNS'e sormadan, yazıldığı haliyle değerlendirir.
ivralo'nun kendi yapılandırılmış servislerine (model, embedder, GitHub, Google, e-posta, arama backend'leri) bağlanması bu politikaya tabi değildir: bunlar ilk tablodaki yollardır.
Tracing isteğe bağlıdır
Span'ler bir çalıştırmanın en eksiksiz kaydıdır: her prompt, her tool argümanı, her tool çıktısı. IVRALO_OTEL_ENDPOINT ile bir OTLP/HTTP collector belirtmediğiniz sürece hiçbir yere gönderilmezler. URL'de path yoksa /v1/traces eklenir; servis adını IVRALO_OTEL_SERVICE belirler (varsayılanı ivralo).
Exporter varsayılan kurulumda gelmez; otel extra'sıyla kurulur (checkout'ta uv sync --extra otel). Endpoint ayarlı ama paketler eksikse çalıştırma bir uyarı verip trace'siz devam eder, ivralo doctor da bunu bildirir. Span'lerle neler yapabileceğiniz Gözlemlenebilirlik sayfasında.
agno'nun telemetrisi kapalı
ivralo'nun ajanlarının üzerine kurulduğu framework olan agno, varsayılan olarak her çalıştırmanın id'lerini ve model adını kendi API'sine gönderir. ivralo bunu kurduğu her ajanda ve ekipte kapatır. Sizin ayarlamanız gereken bir şey yok.