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

Dokümantasyon / Belgeler ve veri

Belgeler ve veri

ivralo yalnızca kod ve incident'larla uğraşmaz; ofis tarafında belge ve veriyle de çalışır: Word dosyaları, sunumlar, çalışma kitapları, PDF'ler ve grafikler okur ve üretir, dosyalar ve kendi veritabanlarınız üzerinde SQL çalıştırır, taranmış belgeleri OCR ile okur.

Nasıl çalışır

İşi uzmanlar yapar: worker'da Python yazarlar ve skill'lerin anlattığı belge ve veri kütüphanesi ivralo.engine'i çağırırlar. Siz ne istediğinizi kendi cümlelerinizle söylersiniz, dosya çalışma alanına düşer.

errors.csv'yi bir özet sayfası ve servis başına hata grafiği olan bir çalışma kitabına çevir
ÇıktıUzmanMotor çağrıları
Word belgesiDocument and Deck Writerbuild_doc, read_docx, docx_replace, mail_merge
PowerPoint sunumuDocument and Deck Writerbuild_deck, read_pptx, docx_to_deck, pptx_replace
Excel çalışma kitabıData Analyst, Spreadsheet Builderbuild_workbook, read_workbook, audit_workbook, compare_tables
PDF raporuReport Writerbuild_pdf, build_report, kpi_row, pdf_table
var olan bir PDFPDF Operatorread_pdf, ayrıca pdf-manipulate ve pdf-forms script'leri
grafikChart Designerchart_theme ile matplotlib, seaborn ya da plotly; belgeye yerleştirmek için chart_image

Bunların her birini öğreten skill'ler Hazır gelen skill'ler sayfasında.

Dosyalar üzerinde SQL

query_files, çalışma alanındaki dosyalar üzerinde DuckDB çalıştırır; dosyaları sorgunun içinde adıyla verirsiniz:

select service, count(*) from 'errors.csv' group by 1 order by 2 desc

CSV, TSV, Parquet ve JSON doğrudan okunur, .xlsx ise pandas üzerinden yüklenir. Dosya adları çalışma alanına göredir; çalışma alanının dışına çıkan bir yol reddedilir.

Kendi veritabanlarınız, salt okunur

IVRALO_SQL_URL bir SQLAlchemy URL'si alır, örneğin postgresql+psycopg://reader:...@db.internal/app. Bu bağlantının adı default olur. Başka bağlantılar eklemek için onları ana dizindeki databases.json'a ya da güvenilir bir repo'daki .ivralo/databases.json'a yazın. Her kayıtta URL'nin kendisi değil, URL'yi tutan ortam değişkeninin adı yer alır:

{
  "app": { "description": "production replica, orders and users", "env": "APP_DATABASE_URL" }
}

Ajan list_databases, list_tables, describe_table ve query_database araçlarını çağırır. URL modelin yazdığı koda hiçbir zaman ulaşmaz; sorgu ivralo'nun kendi sürecinde çalışır.

Her sorgu iki katmanda salt okunurdur. Birincisi, ifade gönderilmeden önce denetlenir: tek bir ifade olmalı, okumayla başlamalı, içinde yazma ya da şema anahtar sözcüğü bulunmamalıdır. İkincisi, bağlantının kendisi de veritabanı tarafında salt okunurdur: PostgreSQL ve MySQL'de salt okunur bir transaction, SQLite'ta query_only kullanılır ve hepsinde sonunda rollback yapılır. SQL Server gibi diğer lehçelerde yalnızca denetim ve rollback vardır; ivralo doctor da bunu belirtir. Her durumda her bağlantıya yalnızca okuma yetkisi olan bir veritabanı kullanıcısı verin.

DeğişkenVarsayılanNe işe yarar
IVRALO_SQL_URLtanımsızdefault adlı veritabanı
IVRALO_DATABASESana dizinde databases.jsonana dizindeki adlandırılmış bağlantıların dosyası
IVRALO_SQL_ROW_CAP200bir sorgunun en fazla döndürebileceği satır sayısı
IVRALO_SQL_TIMEOUT20ifade başına saniye

MySQL ve SQL Server için mysql ya da mssql extra'sı gerekir.

Taramalar ve görseller: OCR

document_to_markdown taranmış bir PDF'i ya da bir görseli OCR ile okur; bilgi dizini de metin katmanı olmayan PDF'ler için aynısını yapar. OCR, docling komutuyla çalışır. docling bir bağımlılık olarak değil, ayrı bir araç olarak kurulur; çünkü ivralo ile aynı ortamı paylaşamaz:

uv tool install docling

Varsayılan olarak Türkçe ve İngilizce okunur. Dilleri IVRALO_OCR_LANGS=tr,en ile belirlersiniz; docling PATH üzerinde değilse IVRALO_DOCLING ile çalıştırılabilir dosyanın yerini gösterirsiniz. docling kurulu değilse çağrı nasıl kurulacağını söyler.

Kurumsal renkler

Her belge, sunum, çalışma kitabı ve grafik renklerini ana dizindeki brand.json'dan alır:

{
  "appName": "ivralo",
  "primary": "#0E9384",
  "secondary": "#115E59",
  "accent": "#2DD4BF",
  "text": "#1F2937",
  "bg": "#F0FDFA",
  "grid": "#D9E7E4",
  "zebra": "#F6FCFB",
  "logo": null
}

Renklerin tek kaynağı bu dosyadır. Başka renkler istenirse o belgeye özel bir palet kullanılır; dosyanın kendisine bunun için hiç dokunulmaz. IVRALO_BRAND_FILE ile başka bir dosya, IVRALO_FONT ile de PDF'ler için bir TrueType fontu gösterebilirsiniz.

Araştırma araçları

AraçNe yaparAyar
search_web, read_url, save_urlAPI anahtarı gerektirmeden açık web; her iddiada URL ve tarih verilirIVRALO_WEB (varsayılan olarak açık)
kendi kurduğunuz bir SearXNGaramaya bir kaynak daha eklerIVRALO_SEARXNG_URL
search_photos, save_photoUnsplash'ten stok fotoğraf; künyesiyle birlikte kaydedilirIVRALO_UNSPLASH_ACCESS_KEY

Makineden yalnızca sorgu çıkar: tek satır ve en fazla 200 karakter. Böylece bir belge arama kutusuna yapıştırılıp dışarı gönderilemez. Bir isteğin her adımı egress politikasından geçer; loopback ve özel adresler reddedilir. Ayrıntılar Makineden neler çıkar sayfasında.