AI özellikleri
Botream, sizin için görev yazmak, bir web uygulamasını keşfedip elementlerini yakalamak, kayıtları temizlemek, çalışan bir görev içinde belgeleri okumak ve bir çalıştırmanın neden başarısız olduğunu açıklamak için büyük bir dil modeli kullanabilir. Bunların tümü, bir yöneticinin tüm platform için bir kez ayarladığı tek bir modeli kullanır.
Bir model ayarlama
AI özellikleri, bir yönetici Administration → Settings altındaki AI kartına bir model girene kadar kapalı kalır. Tam başvuru için bkz. AI ayarları.
Botream, OpenAI uyumlu bir chat completions API'si sunan herhangi bir hizmetle konuşur: OpenAI veya NVIDIA build gibi bir bulut sağlayıcısı ya da kendi ağınızdaki bir model sunucusu. Tüm çağrıları Botream Server'ın kendisi yapar; ajanlar ve tarayıcılar modelle hiçbir zaman iletişim kurmaz ve anahtarı hiçbir zaman görmez.
| Ayar | Ne girilir | Varsayılan |
|---|---|---|
| API base URL | API'nin /chat/completions olmadan adresi; örneğin https://api.openai.com/v1 veya https://integrate.api.nvidia.com/v1 |
https://integrate.api.nvidia.com/v1 |
| API key | Sağlayıcının size verdiği anahtar. Şifrelenmiş olarak saklanır ve bir daha gösterilmez. | boş |
| Model | Sağlayıcının yazdığı şekliyle tam model adı | nvidia/nemotron-3-super-120b-a12b |
| Timeout | Tek bir yanıt için ne kadar bekleneceği (30–1800 saniye) | 600 saniye |
| Maximum answer length | Modelin tek bir yanıt için üretebileceği token sayısının üst sınırı (256–65536) | 16384 token |
| Send failure screenshots to the model | AI hata analizinin hatanın ekran görüntüsünü içermesine izin verir | kapalı |
| Allow the ai command in tasks | Görevlerin ai komutuyla modele metin, belge ve resim göndermesine izin verir | açık |
API base URL, API key ve Model alanlarının üçü de doldurulmalıdır. Doldurulana kadar her AI özelliği "The AI Task Generator is not set up: an administrator enters the API key under Administration → Settings → AI" gibi bir iletiyle yanıt verir.
Şirket içi (on-premise) modeller
Tüm verileri ağınızın içinde tutmak için Botream Server'ın erişebildiği bir makinede OpenAI uyumlu bir API sunan bir model sunucusu çalıştırın ve adresini API base URL olarak girin. Botream, istekleri anahtarı bearer token olarak kullanarak <API base URL>/chat/completions adresine gönderir.
Not: API key alanı, kendi model sunucunuz anahtarları denetlemese bile zorunludur. Bu durumda herhangi bir yer tutucu değer girin.
Zaman aşımını ve yanıt uzunluğunu seçme
- Ücretsiz veya yoğun uç noktalar, bir isteği yanıtlamaya başlamadan önce dakikalarca kuyrukta tutabilir. Zaman aşımları görüyorsanız daha hızlı bir model seçin veya Timeout değerini artırın.
- "Düşünen" modeller, yanıtı yazmadan önce Maximum answer length değerinin bir kısmını akıl yürütmeye harcar. Değeri cömert tutun; yanıtlar yarıda kesilmiş geliyorsa artırın.
- Resimler (
aikomutunda, hata ekran görüntülerinde ve keşif sırasında) resim okuyabilen bir model gerektirir.
Gizlilik: ne nereye gönderilir
Modelle yalnızca Botream Server konuşur ve yalnızca aşağıdaki özellikler için. Her çağrı, içerik olmadan, model ve ilgili boyutlarla birlikte denetim kaydına (Administration → Audit log) yazılır.
| Özellik | Modelin aldığı | Denetim eylemi |
|---|---|---|
| AI Görev Üreticisi, Write the task | Açıklamanız; Append to the task ile ayrıca görevin mevcut komutları | AI_GENERATE_TASK |
| AI Görev Üreticisi, Explore in a browser | Açıklamanız ve her adım için sayfa adresi, başlığı, ana görünür metni, bir kişinin kullanabileceği elementler ve etiketleri, tarayıcının tarihi; Show the page to the model while exploring açıksa ayrıca tarayıcı penceresinin bir resmi. Parola alanlarının değerleri hiçbir zaman okunmaz. | AI_EXPLORE |
| Improve with AI (kayıtlar) | Kaydedilen komutlar, hedef ve görevin zaten sahip olduğu değişkenlerin adları. Kayıt sırasında yazılan parolalar kaydedilmez. | AI_REFINE_RECORDING |
ai komutu |
Komutun girdi metni ve dosya içerikleri | AI_TASK_COMMAND |
| AI hata analizi | Hata, başarısız komut, son 40 günlük satırı, self-healing (kendi kendini onarma) denemeleri ve değişkenler; gizli görünen adların (password, token, API key ve benzerleri) değerleri *** ile değiştirilir; ekran görüntüsü yalnızca Send failure screenshots to the model açıksa gönderilir |
AI_ANALYZE_FAILURE |
Uyarı: Ekran görüntüleri ve görev verileri kişisel veriler içerebilir. Model kendi sunucularınızda çalışmıyorsa veya sağlayıcı sözleşmeniz buna izin vermiyorsa Send failure screenshots to the model seçeneğini kapalı bırakın ve Allow the ai command in tasks seçeneğini kapatmayı değerlendirin.
AI Görev Üreticisi
Düzenleyebileceğiniz bir görevi açın (yerel çalışma alanınıza çekilmiş, bkz. Sürümler) ve düzenleyici araç çubuğunda AI Task Generator düğmesine tıklayın. Edit tasks yetkisine sahip kullanıcılar (varsayılan olarak Developer) bunu kullanabilir. İletişim kutusunun iki modu vardır.
Görevi yazma
Model, komutları açıklamanızdan yazar.
- Write the task seçeneğini seçin.
- Görevin ne yapması gerektiğini açıklayın; örneğin: "Open https://shop.example.com, search for the customer given as input, read the first 5 order numbers into a list and write them to C:\Reports\orders.txt".
- Append to the task (yeni komutlar eklenir ve görevin zaten sahip olduğu değişkenleri kullanabilir) veya Replace the task seçeneğini seçin.
- Generate düğmesine tıklayın (veya Ctrl+Enter tuşlarına basın).
Botream, üretilen kodu denetler. Modelin ilk yanıtında hatalar varsa Botream ondan bunları bir kez düzeltmesini ister. Geçerli kod hemen tek bir geri alma adımı olarak eklenir (Ctrl+Z önceki durumu geri yükler). Sorunlar sürerse iletişim kutusu bunları listeler ve Insert into code anyway düğmesine tıklayabilirsiniz; kod, hatalı satırlar işaretlenmiş olarak kod sekmesine eklenir.
Bu modda model uygulamanızı hiç görmemiştir; bu nedenle bilemeyeceği elementler yer tutucu seçiciler alır. Bunları Capture düğmesiyle değiştirin veya bunun yerine Explore in a browser modunu kullanın.
İpucu: Model çalışırken iletişim kutusu geçen süreyi gösterir. 30 saniye sonra AI hizmetinin yoğun olabileceğini belirtir; Cancel beklemeyi durdurur.
Tarayıcıda keşfetme
Bu modda model, bir ajandaki gerçek bir tarayıcıda bir insanın yapacağı gibi çalışır. Her tıklama ve giriş, tıpkı kaydedicinin yakaladığı gibi gerçek elementiyle yakalanır ve adımlar ardından yapılandırılmış bir göreve dönüştürülür.
Gereksinimler
- Botream Agent tepsi uygulaması makinede çalışıyor ve bağlı olmalıdır. Masaüstü olmadığı için yalnızca Windows hizmeti keşif yapamaz.
- Birden çok ajan çevrimiçiyse modelin tarayıcısını kullanacağı ajanı (normalde kendi bilgisayarınız) seçin. Tam olarak bir ajan çevrimiçiyse otomatik olarak o kullanılır.
- Her ajanda aynı anda yalnızca bir keşif çalışır.
Başlatma
- Explore in a browser (captures the elements) seçeneğini seçin.
- Görevi açıklayın ve Start at alanına adresi (bir
httpveyahttpsadresi) girin. - Start exploring düğmesine tıklayın.
Ajanda kendi profiline sahip görünür bir tarayıcı açılır. İletişim kutusu sayfa başlığını, modelin ne düşündüğünü ve ne yaptığını gösteren bir günlüğü ve atılan adımların sayacını gösterir. Bir keşif en fazla 40 adım sürer.
Modelin gördükleri
Ajan her adımda sayfayı bir kişinin gördüğü gibi okur ve model şunları alır:
- Bir kişinin şu anda kullanabileceği elementler, numaralı olarak; her biri bir kişinin onun için okuduğu adla: etiketi ya da yanında yazan metin (tablo düzenlerinde de), yer tutucusu ve içinde bulunduğu bölüm, form veya iletişim kutusu. Alanlar durumlarını da gösterir: değer, zorunlu, salt okunur, tarih alanlarının tarih biçimi ve bir menünün veya listenin açık mı kapalı mı olduğu.
- Çerçeveler ve bileşenler: iframe'lerin içindeki elementler (kurumsal uygulamalar formlarını çoğu zaman birinin içinde gösterir) ve web bileşenlerinin içindekiler (açık shadow root'lar) diğerleri gibi listelenir. Kaydedilen adımlar çerçeveyi (
--frame) korur; böylece bitmiş görev onları yeniden bulur. - Yalnızca kullanılabilenler: kapalı bir çekmece menüsündeki bağlantılar, açık bir iletişim kutusunun arkasında kalan elementler ve gizli elementler listelenmez. Görünür alanın dışındaki elementler görünenlerden sonra, kaydırılması gerektiği belirtilerek listelenir.
- Betikle açılan listeler: web çatılarıyla yapılmış, gerçek bir
selectolmayan açılır listeler de tanınır. Model önce listeye tıklar, sonra açılan listeden seçeneği seçer. - Her eylemin neyi değiştirdiği: yeni bir sayfa, açılan bir iletişim kutusu, beliren seçenekler, bir alanın yeni değeri ya da nothing visible changed. Böylece model aynı tıklamayı tekrarlamak yerine başka bir yol dener. Ajan sayfayı okumadan önce sayfanın değişmeyi bırakmasını (animasyonlar dahil) bekler.
- Bugünün tarihi ve saati, tarayıcıdaki haliyle, saat dilimi ve tarih biçimiyle birlikte.
- Tarayıcının bir resmi, üzerine element numaraları çizilmiş olarak; Administration → Settings → AI altında Show the page to the model while exploring açıksa (varsayılan olarak açıktır). Resim okuyabilen modeller sayfaları çok daha iyi tanır. Yalnızca metin okuyan bir model resmi reddeder; keşif o zaman resimsiz devam eder ve bunu günlükte belirtir.
Görev çalışırken hesaplanan değerler
Açıklama güne veya önceki adımlara bağlı bir değer istediğinde, örneğin "2 gün önceki tarih" ya da "bu ayın ilk günü", model bugün için değeri yazar ve nasıl bulunduğunu not eder. Kaydedilen adıma Computed value: today minus 2 days, as dd.MM.yyyy (recorded: 05.10.2026) gibi bir yorum eklenir. İyileştirme (refine) bunu her çalıştırmada değeri hesaplayan komutlara çevirir (set --type:datetime --value:now, datetime --action:adddays, datetime --action:format); böylece görev hiçbir zaman sabit bir tarih yazmaz.
Sürece katılma
Model üç durumda durur ve sizi bekler:
| Durum | Ne görürsünüz | Ne yapabilirsiniz |
|---|---|---|
| Geri alınamayan bir tıklama (Delete, Send, Submit, Approve, Pay, Buy gibi etiketler) | Planlanan tıklamayla birlikte bir uyarı | Allow the click veya Record it without clicking (adım görevde tutulur ancak şimdi gerçekleştirilmez) |
| Bir oturum açma formu | Oturum açma isteği | Tarayıcıda elle oturum açın, ardından Continue düğmesine tıklayın. Kullanıcı adı ve parola alanları $login.Username$ ve $login.Password$ ile kaydedilir; böylece tamamlanan görev bir kasa kimlik bilgisi kullanır. Model hiçbir zaman parola yazmaz. |
| Bir soru (captcha, size gönderilen bir kod, eksik veri) | Modelin sorusu | Bir yanıt yazın veya işlemi tarayıcıda kendiniz yapın, ardından Continue düğmesine tıklayın |
Her soru ayrıca Stop here seçeneğini sunar. 15 dakika içinde yanıt almayan bir soru keşfi sona erdirir.
Durdurma ve sonuç
- Stop and use the steps so far, keşfi istediğiniz zaman sona erdirir ve kaydedilen adımları korur. İletişim kutusunu kapatmak da keşfi durdurur.
- Keşif sona erdiğinde, kaydedilen adımlar hedef olarak açıklamanız kullanılarak hemen AI ile iyileştirilir (bir sonraki bölüme bakın). Ardından kaydedilen ve iyileştirilen sürüm arasında seçim yaparsınız.
- Keşif sona erdiğinde ajandaki tarayıcı kapatılır.
Not: Ajan bir adım için 90 saniye içinde yanıt vermezse (çevrimdışıysa veya sayfa yüklenmediyse), keşif bunu belirten bir iletiyle başarısız olur.
Kayıt + AI
Bir kaydı durdurduktan sonra düzenleyici Insert as recorded veya Improve with AI seçeneklerini sunar. Improve with AI ile model:
- çift tıklamalar, yazmadan önceki odak tıklamaları ve gereksiz kaydırmalar gibi gürültüyü kaldırır;
- komutları adlandırılmış adımlar halinde gruplar;
- yazılan değerleri görev girdilerine (kaydedilen değer varsayılan olur), tekrarları da bir liste girdisi üzerinde dönen bir döngüye dönüştürür;
- görevin çalıştığı güne bağlı değerleri (2 gün önceki tarih, bu ay) kaydedilen tarihi yazmak yerine hesaplar;
- sayfa değişikliklerinden sonra beklemeler ekler;
- parola adımlarını bir kimlik bilgisi değişkeniyle değiştirir.
Model elementleri asla değiştirmez veya uydurmaz: sonuçtaki her seçici kaydedilmiş olanlardan biri olmalıdır. Bu kuralı ihlal eden veya doğrulanamayan bir sonuç bir kez modele geri gönderilir; sorunlar sürerse listelenir ve yalnızca kayıt eklenebilir. Her iki sürüm, modelin değişiklik listesiyle birlikte yan yana gösterilir. Eklemek için Use the AI version düğmesine tıklayın.
ai komutu
ai komutu, bir görevin çalışırken modeli kullanmasını sağlar: bir soruyu yanıtlamak, bir belgeden veya e-postadan alanları çıkarmak ya da bir metni kategorilere ayırmak için. Ajan isteği Botream Server'a gönderir; sunucu da modeli kendi AI ayarlarıyla çağırır; böylece anahtar hiçbir zaman robota ulaşmaz.
| Eylem | Zorunlu | --output içindeki sonuç |
|---|---|---|
ask |
--prompt |
Düz metin |
extract |
--fields |
Her alan için bir özellik içeren bir kayıt |
classify |
--categories (en az iki) |
Label (her zaman kategorilerden biri), Confidence (0 ile 1 arası) ve Reason içeren bir kayıt |
Ortak parametreler: --input (metin veya herhangi bir değişken; kayıtlar ve listeler JSON olarak gönderilir), --file, --instructions (ek yönlendirme), --timeout (varsayılan 120 saniye), --retry ve --retryinterval.
Ask
file --action:read --path:"C:\In\complaint.txt" --output:complaint
ai --action:ask --prompt:"Summarize this complaint in two sentences" --input:$complaint$ --output:summary
log --message:"Summary: $summary$"
Extract
Alanları virgülle ayırarak listeleyin. Her alanın bir türü olabilir: :text (varsayılan), :number, :date, :boolean veya :list. Girdinin içermediği bir alan boş kalır. 1.250,00 EUR veya 1,250.00 şeklinde yazılan sayılar 1250 olur, tarihler de tarih değerlerine dönüşür.
ai --action:extract --file:"C:\In\invoice.pdf" --fields:"InvoiceNo, Date:date, Total:number, Lines:list" --instructions:"Amounts are in EUR" --output:invoice
if --condition:$invoice.Total$>1000
log --message:"Invoice $invoice.InvoiceNo$ needs approval"
endif
Classify
ai --action:classify --input:$complaint$ --categories:"Invoice, Complaint, Order, Other" --output:kind
log --message:"$kind.Label$ ($kind.Confidence$): $kind.Reason$"
Modelin okuyabileceği dosyalar
| Dosya | Ne gönderilir |
|---|---|
Metin katmanı. Taranmış PDF'lerde metin katmanı yoktur: önce sayfaları resim olarak kaydedin veya ocr kullanın. |
|
| Metin dosyaları: .txt, .csv, .json, .xml, .html, .eml, .md, .log | Metin |
| Resimler: .png, .jpg, .gif, .webp (5 MB'a kadar) | Resim; resim okuyabilen bir model gerektirir |
Hem --input hem de --file verildiğinde ikisi de gönderilir. 200.000 karakterden uzun girdiler, günlüğe bir uyarı yazılarak kesilir.
ai komutu başarısız olduğunda
- Allow the ai command in tasks kapalıysa adım şu iletiyle başarısız olur: "The ai command is turned off under Administration → Settings → AI".
- Botream Server ile bağlantısı olmayan bir ajan komutu çalıştıramaz.
extractveclassifyiçin Botream modelden JSON ister. Yanıt geçerli bir JSON değilse bir kez daha ister; birclassifyyanıtı kategorilerden biri değilse adım başarısız olur.- Bunlar sistem hatalarıdır; bu nedenle
--retryvetry/catchuygulanır. Bkz. Hata işleme.
AI hata analizi
Bir çalıştırma başarısız olduğunda yürütme sayfası, hata anındaki hatayı, ekran görüntüsünü ve değişkenleri gösterir (bkz. Hata ayıklama). Bir model ayarlanmışsa AI failure analysis kartı bir açıklama ekler:
- Başarısız çalıştırmayı Executions üzerinden açın.
- Analyze with AI düğmesine tıklayın.
Model, ne olduğunu, olası nedeni ve nasıl düzeltileceğini tarayıcınızın dilinde yazar. Yanıt çalıştırmayla birlikte saklanır; böylece başkaları da onu model ve zamanla birlikte görür. Analyze again yeni bir yanıt ister. Görev çalıştıran veya tüm çalıştırmaları gören kullanıcılar bunu görebildikleri çalıştırmalarda kullanabilir; yalnızca başarısız çalıştırmalar analiz edilebilir.
Uyarı: AI yanılabilir. Harekete geçmeden önce açıklamayı kontrol edin.