İçeriğe atla
OrqLabs

Yapay zeka araçları (AI Tools) node'ları

Generate text, Extract structured data, Classify, Translate, Görsel üret ve Knowledge base search node'larının parametreleri, çıktı şekilleri ve örnekleri.

12 dk Son güncelleme:
Bu sayfada
  1. Kısaca
  2. Teknik ayrıntılar
  3. Ortak parametreler: Model ve Effort
  4. LLM: Generate text (ai.generate)
  5. LLM: Extract structured data (ai.extract)
  6. LLM: Classify (ai.classify)
  7. LLM: Translate (ai.translate)
  8. AI: Görsel üret (ai.imagePrompt)
  9. Knowledge base search (ai.knowledgeSearch)
  10. İpuçları ve sınırlar
  11. Sık sorulan sorular
  12. Sonraki adım

Bu rehberde: Tek adımlık yapay zekâ işlerini öğrenirsiniz: metin yazma, metinden bilgi çıkarma, sınıflandırma, çeviri, görsel üretme ve bilgi bankasında arama. Ajanlardan daha ucuz ve hızlıdırlar.

⏱ 12 dakika

Kısaca

Yapay zekâ araçları, ajan gibi adım adım düşünmez; her öğe için tek bir istek gönderir ve sonucu öğeye yazar. Örneğin: gelen her mesajı "satış / destek / spam" diye etiketlemek veya her gönderiyi İngilizceye çevirmek. Basit ve tekrarlı işlerde ajan yerine bu kutuları kullanın; maliyet çok daha düşüktür.

Palet: ① arama kutusu, ② kategoriler, ③ sürükle-bırak ipucu.
Palet: ① arama kutusu, ② kategoriler, ③ sürükle-bırak ipucu.
Denetçi paneli: ① ana alanlar, ② seçimler, ③ model, ④ gelişmiş ayarlar.
Denetçi paneli: ① ana alanlar, ② seçimler, ③ model, ④ gelişmiş ayarlar.

Teknik ayrıntılar

AI Tools kategorisi, ajan döngüsü olmadan tek bir model çağrısı yapan "ilkel" node'ları içerir. Bir ajan (agent.*) araç kullanır, adım adım düşünür ve rapor üretir; bir AI node'u ise her item için tek bir istek gönderir ve sonucu item'ın json'una yazar. Bu yüzden AI node'ları daha ucuz, daha hızlı ve daha öngörülebilirdir. Tipik kullanım: sınıflandırma ile yönlendirme, metinden yapılandırılmış veri çıkarma, çeviri, özet, görsel üretimi ve bilgi bankasından bağlam çekme (RAG).

Tüm AI node'ları item başına çalışır: 20 item gelirse 20 model çağrısı yapılır. Girdi alanlarına {{ $json.alan }} ile erişirsiniz; sonuç, outputKey parametresiyle adlandırdığınız alana eklenir ve item'ın diğer alanları korunur.

NodeTipGirdiÇıktı handle'larıEntegrasyonModel
LLM: Generate textai.generate1main–Evet
LLM: Extract structured dataai.extract1main–Evet
LLM: Classifyai.classify1kategori başına bir handle (dinamik)–Evet
LLM: Translateai.translate1main–Evet
AI: Görsel üretai.imagePrompt1main– (OpenAI Images; platform anahtarı veya OPENAI BYOK)Hayır
Knowledge base searchai.knowledgeSearch1main– (Bilgi Bankası)Hayır

Ortak parametreler: Model ve Effort

usesModel: true olan node'larda denetçi panelinin Gelişmiş (advanced) grubunda iki ortak parametre bulunur:

AnahtarEtiketTürZorunluVarsayılanNotlar
modelIdModelmodelHayırboşgroup: advanced. Boş bırakılırsa sırayla: iş akışı settings.defaultModelId → organizasyon varsayılanı (Ayarlar (Settings) → Modeller) → platform varsayılanı claude-opus-5. FREE planda yalnızca ekonomi modelleri seçilebilir.
effortEffortselectHayırmediumgroup: advanced. low (hızlı, ucuz), medium, high, xhigh. Yalnızca ai.generate bu parametreyi taşır.

ai.extract, ai.classify ve ai.translate yalnızca modelId alır. ai.imagePrompt ve ai.knowledgeSearch dil modeli kullanmaz; model parametresi yoktur.

Her çağrının token kullanımı ve maliyeti node çalıştırmasına yazılır (usage.costUsd) ve iş akışının settings.budgetUsd limitine sayılır. Limit aşılırsa çalıştırma FAILED olur ve budget.exceeded olayı yayınlanır. Fiyatlar ve seçim önerileri için Model seçimi.

LLM: Generate text (ai.generate)

Bir prompt şablonunu her item için çözümler, modele gönderir ve yanıt metnini outputKey alanına yazar. Özet, yeniden yazma, başlık üretme, kısa cevap gibi tek adımlı işler için kullanın.

AnahtarEtiketTürZorunluVarsayılanNotlar
systemSystem prompttextHayır–Marka sesi, dil ve format kuralları. {{ $project.name }} gibi ifadeler kullanılabilir.
promptPrompttextEvet–Item başına çözümlenir. Örnek: Summarise: {{ $json.text }}
outputKeyOutput fieldstringHayırtextYanıtın yazılacağı json alanı. Var olan bir alan adı verirseniz üzerine yazılır.
maxTokensMax tokensnumberHayır4000group: advanced. Çıktı token üst sınırı; uzun yanıtlarda kesilmeyi önlemek için artırın.
modelIdModelmodelHayırboşgroup: advanced
effortEffortselectHayırmediumgroup: advanced

Çıktı: girdi item'ı + json[outputKey] (string). Model yanıtı düz metindir; JSON istiyorsanız ai.extract kullanın.

Örnek 1 – sayfa özeti:

data.fetchPage (url: {{ $json.url }})
  → ai.generate (system: "Türkçe yaz, en fazla 3 madde.",
                 prompt: "Aşağıdaki sayfayı özetle:\n\n{{ $json.text }}",
                 outputKey: "summary", modelId: claude-haiku-4-5)
  → utility.report (title: "Özet: {{ $json.title }}", contentMarkdown: {{ $json.summary }})

Örnek 2 – yorum yanıtı taslağı:

social.getComments (platform: INSTAGRAM)
  → ai.generate (prompt: "Şu yoruma marka sesiyle 1 cümlelik yanıt yaz: {{ $json.text }}", outputKey: "reply")
  → social.replyComment (commentId: {{ $json.commentId }}, text: {{ $json.reply }})

LLM: Extract structured data (ai.extract)

Serbest metinden, verdiğiniz JSON şemasına uyan bir nesne çıkarır. Model yapılandırılmış çıktı (structured outputs) modunda çalışır; sonuç her zaman şemaya uygun geçerli JSON'dur. Form mesajlarını, e-postaları, sohbet metinlerini ve sayfa içeriklerini alanlara ayırmak için kullanın.

AnahtarEtiketTürZorunluVarsayılanNotlar
promptInstructionstextEvet–Ne çıkarılacağını ve kaynak metni içerir: Şu mesajdan bilgileri çıkar: {{ $json.text }}
schemaJSON schemajsonEvet–JSON Schema (draft 2020-12 alt kümesi). type: object ile başlayın; required ve enum kullanın.
outputKeyOutput fieldstringHayırdataÇıkarılan nesnenin yazılacağı alan.
modelIdModelmodelHayırboşgroup: advanced

Örnek şema:

{
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "company": { "type": "string" },
    "budget": { "type": "number", "description": "Aylık bütçe, USD" },
    "intent": { "type": "string", "enum": ["buy", "info", "support"] },
    "phone": { "type": "string" }
  },
  "required": ["name", "intent"]
}

Çıktı: girdi item'ı + json[outputKey] (şemaya uyan nesne). Metinde bulunmayan zorunlu olmayan alanlar null döner. Alanlara {{ $json.data.company }} ile erişirsiniz.

Örnek – WhatsApp mesajından lead:

trigger.messageReceived (channels: [WHATSAPP])
  → ai.extract (prompt: "Mesajdan iletişim ve niyet bilgisini çıkar: {{ $json.text }}", schema: yukarıdaki, outputKey: "data")
  → logic.if (condition: {{ $json.data.intent === 'buy' }})
      true → leads.create (mapping: name: {{ $json.data.name }}, phone: {{ $json.contactId }}, company: {{ $json.data.company }})

LLM: Classify (ai.classify)

Her item'ı verdiğiniz kategorilerden birine atar ve o kategoriye ait çıkış handle'ına yönlendirir. Katalogda outputs: ["main"] görünse de editör, categories listesindeki her giriş için ayrı bir çıkış handle'ı çizer; handle adı kategori adıyla aynıdır. Kategori listesini değiştirdiğinizde handle'lar yeniden oluşturulur; kaldırılan kategoriye bağlı kenarlar (edge) silinir.

AnahtarEtiketTürZorunluVarsayılanNotlar
inputText to classifyexpressionEvet{{ $json.text }}Sınıflandırılacak metin.
categoriesCategorieslistEvet["sales", "support", "spam", "other"]Her giriş bir çıkış handle'ı olur. Küçük harf ve ASCII kullanın; $node ifadelerinde kolaylık sağlar.
instructionsExtra instructionstextHayır–Kategori tanımları ve sınır durumları: "Fiyat soran mesajlar sales sayılır."
outputKeyOutput fieldstringHayırcategorySeçilen kategori adının yazılacağı alan.
modelIdModelmodelHayırboşgroup: advanced

Çıktı: item, json[outputKey] = kategori adı ile birlikte yalnızca ilgili handle'a gider. Diğer handle'lar o item için boş kalır; bir handle'a hiç item düşmezse bağlı olduğu dal atlanır (SKIPPED). Bir "diğer" kategorisi ekleyin; aksi halde model uymayan metni en yakın kategoriye zorlar.

Örnek – gelen mesajı yönlendirme:

trigger.messageReceived
  → ai.classify (input: {{ $json.text }}, categories: [sales, support, spam, other],
                 instructions: "Randevu, fiyat, teklif isteyenler sales. Sipariş, kargo, iade sorunları support.",
                 modelId: claude-haiku-4-5)
      sales   → leads.create → utility.notify (title: "Satış mesajı: {{ $json.contactName }}")
      support → agent.chatbot
      spam    → utility.noop
      other   → messaging.handoff

LLM: Translate (ai.translate)

Seçtiğiniz alanları hedef dile çevirir; marka tonunu, hashtag'leri ve {{ }} yer tutucularını korumaya çalışır. Çok dilli içerik takvimleri ve gelen mesajları ortak dile çekmek için uygundur.

AnahtarEtiketTürZorunluVarsayılanNotlar
fieldsFields to translatelistHayır["body"]Çevrilecek json alanları. Alan yoksa veya boşsa atlanır.
targetLanguageTarget languagestringEvetenISO 639-1 kodu (en, tr, de) veya dil adı.
modelIdModelmodelHayırboşgroup: advanced

Çıktı: item, listelenen alanların çevrilmiş halleriyle. Alanlar yerinde değiştirilir; orijinali saklamak için önce data.set ile kopyalayın (body_tr: {{ $json.body }}).

Örnek: agent.contentCreator → ai.translate (fields: [body, title], targetLanguage: en) → social.publish (platform: LINKEDIN).

AI: Görsel üret (ai.imagePrompt)

Prompt'tan görsel üretir ve sonucu item'ın binary alanına ekler. Sosyal içerik akışlarında agent.contentCreator'ın imagePrompt alanını kullanmak için tasarlanmıştır. İçerik sayfasındaki Görsel üret ile aynı hattı kullanır: kısa açıklamanız önce bir sanat yönetmeni adımında (ekonomik bir Claude modeli) ayrıntılı bir görsel tarifine çevrilir (item'daki body / text bağlam olarak kullanılır), ardından gpt-image-2.5-flare yüksek kalitede üretir. Görsel JPEG olarak kaydedilir; Instagram içerik yayınlama API'si PNG kabul etmediği için doğrudan Instagram'a gönderilebilir. Görsel çağrısı OpenAI anahtarı ile yapılır: organizasyonda OpenAI API key (BYOK) entegrasyonu varsa o, yoksa platform anahtarı kullanılır.

AnahtarEtiketTürZorunluVarsayılanNotlar
promptPromptexpressionEvet{{ $json.imagePrompt }}Görsel açıklaması. Marka renklerini ve stilini prompt'a yazın; metin içeren görsellerden kaçının.
sizeSizeselectHayır1024x10241024x1024 (kare, Instagram/X), 1024x1536 (dikey, Pinterest/Reels kapak), 1536x1024 (yatay, LinkedIn/YouTube).
binaryKeyBinary keystringHayırimageGörselin binary altında yazılacağı anahtar.

Çıktı item'ı:

{
  "json": { "platform": "INSTAGRAM", "body": "...", "imagePrompt": "...", "imageUrl": "https://.../3f2c….jpg" },
  "binary": {
    "image": { "mimeType": "image/jpeg", "url": "https://.../3f2c….jpg" }
  }
}

Görsel, çalıştırma yükünü küçük tutmak için depolamaya yüklenir ve url ile taşınır. Sonraki node'larda {{ $json.imageUrl }} veya {{ $item.binary.image.url }} ile erişirsiniz; social.publish görseli kendiliğinden ekler, mediaUrls boş kalabilir.

Prompt boş çözümlenirse (item'da imagePrompt yoksa) item görselsiz olarak aynen geçer ve çalıştırma günlüğüne not düşülür. Görsel zorunlu platformlar (Instagram, Pinterest) için bu item'ları logic.filter (condition: {{ !!$json.imagePrompt }}) ile ayırın.

Örnek – Günlük sosyal medya içerik akışı şablonu:

trigger.schedule (0 8 * * 1-5)
  → agent.contentCreator (includeImagePrompts: true)
  → ai.imagePrompt (prompt: {{ $json.imagePrompt }}, size: 1024x1024, binaryKey: image)
  → utility.approval (title: "Approve {{ $json.platform }} post")
      approved → agent.socialPublisher

Knowledge base search (ai.knowledgeSearch)

Bilgi Bankası (Knowledge) altında yüklediğiniz belgeler üzerinde anlamsal arama yapar ve en alakalı parçaları (chunk) item'a ekler. Chatbot yanıtlarını, e-posta taslaklarını ve SSS cevaplarını kendi belgelerinize dayandırmak (RAG) için kullanın.

AnahtarEtiketTürZorunluVarsayılanNotlar
knowledgeBaseIdKnowledge basekbEvet–Projenin bilgi bankalarından biri (açılır liste).
queryQueryexpressionEvet{{ $json.text }}Arama sorgusu; genellikle kullanıcının mesajı.
topKResultsnumberHayır5Döndürülecek parça sayısı. 3–8 arası pratik; fazlası prompt'u şişirir.

Çıktı: girdi item'ı + json.results (bulunan parçalar) + json.context (parçaların birleştirilmiş metni, doğrudan komuta koymak için):

{
  "text": "İade süresi kaç gün?",
  "results": [
    { "content": "İade talepleri teslimattan itibaren 14 gün içinde...", "score": 0.87, "documentTitle": "İade Politikası.pdf" },
    { "content": "Kargo ücreti iadelerde...", "score": 0.71, "documentTitle": "SSS.md" }
  ]
}

score 0–1 arası benzerlik puanıdır; düşük puanlı parçaları data.code ile eleyebilirsiniz. Bilgi bankası boşsa veya eşleşme yoksa chunks boş dizi olur; item yine main'e geçer.

Örnek – belge tabanlı yanıt:

trigger.messageReceived
  → ai.knowledgeSearch (knowledgeBaseId: <Ürün dokümanları>, query: {{ $json.text }}, topK: 4)
  → ai.generate (system: "Yalnızca verilen bağlama dayanarak yanıt ver; bilmiyorsan 'ekibe aktarıyorum' de.",
                 prompt: "Bağlam:\n{{ $json.context }}\n\nSoru: {{ $json.text }}", outputKey: "reply")
  → messaging.send (channel: {{ $json.channel }}, to: {{ $json.contactId }}, text: {{ $json.reply }})

İpuçları ve sınırlar

  • Item sayısı kadar model çağrısı yapılır. Büyük listelerde önce logic.limit veya logic.filter ile daraltın; sınıflandırma ve çıkarma için ekonomi modelleri (claude-haiku-4-5, gpt-5-mini) genellikle yeterlidir.
  • Maliyet tahmini (item başına ~4K giriş / ~0.4K çıkış token): Haiku 4.5 ≈ $0.006, Sonnet 5 ≈ $0.012, Opus 5 ≈ $0.03. Uzun sayfa metinlerinde giriş token'ı hızla artar; data.fetchPage.maxChars ile kırpın.
  • outputKey mevcut bir alanı ezer. Ajan çıktılarıyla çakışmamak için summary, reply, data gibi belirgin adlar seçin.
  • ai.extract şemasında required alanları azaltın; metinde olmayan zorunlu alanlar modeli uydurmaya zorlar. enum kullanmak yönlendirme koşullarını (logic.if, logic.switch) güvenilir kılar.
  • ai.classify handle adları kategori adlarıdır; kategori adını değiştirmek bağlı kenarları koparır. Yeni kategori eklerken kenarları yeniden bağlayın.
  • ai.imagePrompt çıktısı binary içindedir; data.set ile keepOnlySet: true yaparsanız json sıfırlanır ama binary korunur. data.code içinde döndürdüğünüz nesneye binary: it.binary eklemeyi unutmayın, aksi halde görsel kaybolur.
  • Bilgi bankası araması yalnızca iş akışının projesine ait bilgi bankalarını görür. Belge yükleme ve indeksleme Bilgi Bankası sayfasından yapılır; indeksleme bitmeden arama boş dönebilir.
  • Test modunda (testMode: true) AI node'ları gerçek çağrı yapar ve maliyet oluşturur; yalnızca dış etkili node'lar (yayın, mesaj) dry-run olur.

Sık sorulan sorular

Ajan mı yapay zekâ aracı mı kullanmalıyım? Tek adımlık işlerde (sınıflandırma, çeviri, özet) yapay zekâ aracı. Araştırma, araç kullanımı veya çok adımlı karar gerekiyorsa ajan.

20 öğe gelirse 20 kez mi ücret öderim? Evet; her öğe için bir istek yapılır. Önce Süz veya Sınırla ile daraltın.

Görsel üretimi için ne gerekir? Bir OpenAI anahtarı (platform veya kendi anahtarınız).

Sonraki adım

OrqLabs ile başlayın

İlk iş akışınızı bugün kurun

Ücretsiz planla başlayın: hesaplarınızı bağlayın, bir şablon seçin, onay adımlarıyla kontrol sizde kalsın. Kredi kartı gerekmez.