Dify ile Yapay Zeka Uygulaması ve Ajanı Oluşturmak
Dify, kendi verinizi kullanan sohbet botları, ajanlar ve iş akışları kurmaya yarayan açık kaynaklı bir platformdur. Uygulama türlerini, Workflow ile Chatflow farkını, bilgi tabanı bağlamayı ve yayın seçeneklerini öğrenin.
Bir bakışta
- Dify, sohbet botu, ajan ve iş akışı kurmak için bir platformdur. Kendi verinizi kullanır, web uygulaması ya da API olarak yayımlanabilir.
- Workflow bir kez baştan sona çalışır, Chatflow her mesajda çalışır. Rapor üretmek gibi toplu işler Workflow'a, sohbet gerektiren işler Chatflow'a uygundur.
- Agent uygulaması aracı kendi seçer. Talimat, araçlar, bilgi tabanı ve model birlikte tanımlanır; ajan düşün, araç çağır, sonucu işle döngüsüyle çalışır.
- Knowledge Retrieval düğümü, cevabı kendi belgelerinize dayandırır. Bulunan parçalar LLM düğümüne bağlam olarak verilir.
- Yayın seçenekleri çoktur. Web uygulaması, API, web sitesine gömme ve MCP sunucusu olarak açılabilir.
Dify nedir, nasıl çalıştırılır
Dify belgeleri, platformu kendi verinizden yararlanan ajanlar, ajan tabanlı iş akışları ve sohbet botları oluşturmaya yarayan açık kaynaklı bir yapay zeka uygulama platformu olarak tanıtır. Oluşturduğunuz uygulamayı web uygulaması olarak yayımlayabilir ya da API ile erişilebilir hale getirebilirsiniz.
Platformu şu biçimlerde kullanabilirsiniz: Dify Cloud yönetilen bir hizmettir, kendi altyapınıza kurulumu tercih edenler için ise açık kaynaklı Community Edition Docker Compose ile kendi sunucunuzda çalıştırılabilir. Kurumsal veri kontrolü ve gizlilik gereksinimleri bu tercihte belirleyici olabilir. Güncel kurulum gereksinimleri ve sürüm ayrıntıları için resmî belgelere bakmak gerekir.
Dify'ın yaklaşımı, kod yazmayı zorunlu kılmadan görsel bir tuval üzerinde düğümleri bağlamaktır. Kod gerektiren özel mantık için bir Code düğümü, dış hizmetleri çağırmak için HTTP Request düğümü bulunur. Böylece hem teknik olmayan ekipler hem de geliştiriciler aynı ortamda çalışabilir.
Hangi uygulama türünü seçmeli
Dify belgelerinde uygulama türleri arasında Chatbot, Text Generator, Agent ve Workflow ile Chatflow yer alır. Tür seçimi, işin doğasına bağlıdır.
Chatbot, basit sohbet arayüzü için uygundur. Text Generator, tek seferlik metin üretimi içindir: özet, çeviri, taslak gibi. Agent, hedefe ulaşmak için araç kullanıp adımlarını kendisi belirleyen uygulamadır. Workflow ve Chatflow ise düğümlerle kurulan, kontrollü akışlardır.
Workflow ile Chatflow farkı belgelerde şöyle açıklanır: Workflow bir kez baştan sona çalışır, bir girdi alır, işler ve sonuç döndürür; rapor üretimi, veri hatları ve toplu işlem gibi işler için uygundur. Chatflow ise bir sohbet arayüzü ekler ve her kullanıcı mesajı akışı tetikler; etkileşimli asistanlar ve yönlendirmeli soru-cevap için uygundur. Workflow bir User Input ya da Trigger ile başlar, isteğe bağlı bir Output ile biter. Chatflow User Input ile başlar ve bir Answer ile bitmek zorundadır; Chatflow'larda Trigger yoktur. Trigger, zamanlama, webhook ya da entegrasyon olayıyla çalışmayı sağlar.
Basit ilke: akışın adımları sizin kontrolünüzdeyse Workflow ya da Chatflow, adımlara modelin karar vermesini istiyorsanız Agent seçilir. Kontrollü akış daha öngörülebilir, Agent daha esnektir.
Agent uygulaması: talimat, araç, bilgi, model
Dify belgelerine göre bir Agent uygulaması şu parçalardan oluşur: talimat, araçlar, akıl yürütme, bilgi tabanı ve model.
Talimat, ajanın kişiliğini, çıktı biçimini, kısıtlarını ve iş akışını tanımlar. Ajan kendi yaklaşımını seçtiği için talimat, araçların ne zaman ve nasıl kullanılacağına dair yön vermelidir. Talimata eklenen değişkenler, kullanıcının sohbet başlamadan önce doldurduğu alanlara dönüşür. Araçlar, canlı veri çekmek, web'de aramak ya da veri tabanı sorgulamak gibi dış hizmetlerle iletişim sağlar; hangi araç ne zaman çağrılacağına model karar verir, bir aracı talimatta adıyla anıp ne zaman kullanılacağını yazmak daha kesin kontrol sağlar.
Akıl yürütme döngüsü düşün, aracı çağır, sonucu işle biçimindedir. Agent Settings altındaki Maximum Iterations, istek başına döngünün üst sınırını belirler: yüksek değer karmaşık çok adımlı işleri mümkün kılar, ama gecikmeyi ve maliyeti artırır. Aracı çağırma biçimi, aracı doğrudan çağırabilen modeller için Function Calling, istem stratejisiyle yönlendirilen modeller için ReAct olarak seçilir.
Bilgi tabanı eklendiğinde ajan, her sorguyu bilgi tabanlarının açıklamalarına göre değerlendirir ve almak gerekip gerekmediğine kendisi karar verir; bu yüzden bilgi tabanı açıklamalarının ayrıntılı yazılması önemlidir. Model seçiminde araç çağırmayı doğal olarak destekleyen, iyi akıl yürüten bir model tercih edilir. Debug as Multiple Models seçeneği, birkaç modeli önizleme panelinde karşılaştırmaya olanak verir.
Agent, hedefe düşün, çağır, işle döngüsüyle ilerler
Akıl yürütme döngüsü
- DüşünTalimata ve soruya göre bir sonraki adımı seç.
- Aracı çağırGerekirse bir araç ya da bilgi tabanı kullan.
- Sonucu işleDönen veriyi değerlendir, yeterliyse cevapla.
Chatflow ile kendi belgelerinizden cevap veren asistan
En sık kurulan senaryo, şirketin belgelerinden cevap veren bir sohbet asistanıdır. Dify'da bu, bilgi tabanı oluşturup Chatflow'a bağlayarak kurulur.
Knowledge Retrieval düğümü, seçili bilgi tabanlarında sorguya uygun içeriği arar ve sonucu sonraki düğümlere bağlam olarak verir. Sorgu metni Chatflow'da kullanıcı girdisinden gelir. Birden çok bilgi tabanı eklenirse hepsi aynı anda aranır ve sonuçlar birleştirilir. Düğüm düzeyinde şu ayarlar vardır: yeniden sıralama (Weighted Score ile anlamsal benzerlik ve anahtar kelime eşleşmesi dengelenir, ya da bir Rerank Model sonuçları sorguya uygunluğa göre yeniden sıralar), Top K ve Score Threshold. İsteğe bağlı olarak meta veri süzme, aramayı belirli belgelerle sınırlar.
Düğümün çıktısı, bulunan belge parçalarını içeren bir result değişkenidir. LLM düğümünde Context alanına bu değişken seçilir ve sistem talimatında Context değişkenine başvurulur. Chatflow'larda kaynak gösterimi varsayılan olarak açıktır; kullanıcı cevabın hangi belgeden geldiğini görebilir. Kapatmak için Features altındaki Citation and Attributions seçeneği kullanılır.
Akışın sonu Answer düğümüdür. Araya If-Else düğümü ekleyerek, bilgi tabanında sonuç bulunmadığı durumda farklı bir yanıt vermek mümkündür: örneğin kullanıcıyı bir insana yönlendirmek.
Bilgi tabanlı asistan, sorgudan cevaba birkaç düğümle kurulur
Chatflow akışı
- Kullanıcı girdisiChatflow'u başlatan mesaj.
- Knowledge RetrievalBilgi tabanında uygun parçaları ara.
- LLMBulunan parçaları Context olarak ver, cevabı yazdır.
- AnswerCevabı kaynak gösterimiyle kullanıcıya döndür.
Test, hata ayıklama ve yayın
Uygulamayı yayımlamadan önce farklı soru tipleriyle deneyin: bilgi tabanında cevabı olan sorular, olmayan sorular, belirsiz sorular, amaç dışı istekler. Cevap bulunamadığında modelin tahmin yürütmesi yerine bunu açıkça söylemesi için talimata net bir kural ekleyin.
Dify belgeleri hata ayıklama için bir Variable Inspector da listeler; ayrıntısı için belgeye bakın ve düğümler arasındaki değişkenleri izleyerek hatanın hangi adımda oluştuğunu arayın. Agent uygulamasında ise birden çok modeli aynı önizlemede karşılaştırmak mümkündür.
Yayın seçenekleri belgelerde şu başlıklarda toplanır: web uygulamaları, API entegrasyonu, web sitelerine gömme ve MCP sunucusu. Sohbet asistanını şirket içi kullanıcıya hızla açmak için web uygulaması yeterli olabilir; mevcut bir ürünün içine entegre etmek için API ya da gömme seçilir. Yayın ayarlarında erişim ve paylaşım kapsamını gözden geçirin; özellikle dahili belgelerle beslenen bir asistanın yanlışlıkla herkese açılmamasına dikkat edin.
Yayından sonra gerçek kullanıcı sorularını izleyin. Cevap veremediği soruları bilgi tabanına ekleyin, yanlış cevap verilen yerleri talimatla düzeltin. Bilgi tabanı yaşayan bir kaynaktır.
Sık yapılan hatalar
En yaygın hata, bilgi tabanını belgelerle doldurup bırakmaktır: bölünmüş parçalar anlamsız kalır, güncel olmayan dosyalar eski bilgiyi cevap olarak sunar. Parçaların bağlamı taşıyıp taşımadığını Knowledge Retrieval çıktısında kontrol edin.
İkinci hata, kontrol gerektiren bir süreci Agent'a bırakmaktır. Adımları belli bir iş (onay, kayıt, raporlama) Workflow ile kurulduğunda daha öngörülebilir olur. Üçüncüsü Maximum Iterations değerini düşünmeden yükseltmektir; ajan gereksiz döngülere girer, gecikme ve maliyet artar.
Son olarak talimatı belirsiz yazmak yaygındır. Ajanın hangi araçta ne zaman duracağını, kapsam dışı sorulara nasıl cevap vereceğini açıkça yazın. Aksi halde model boşlukları kendi varsayımlarıyla doldurur.
Bu beceriyi Mindset programlarında nerede çalışırsınız
No-Code AI Agent Tasarımı ve Uygulamaları Eğitimi, ajanların veri ve iş süreçlerine bağlanması, gelişmiş ajan özellikleri ve çok adımlı işlemler, test, izleme ve iyileştirme modüllerini içerir. Programın modül başlıklarında Dify adı geçmez; veri bağlama, çok adımlı akış ve test mantığı araçtan bağımsız çalışılır ve kullandığınız araca uyarlanır.
İlgili Mindset programı
No-Code AI Agent Tasarımı ve Uygulamaları Eğitimi
Sık sorulan sorular
Dify ücretsiz mi, kendi sunucumda çalıştırabilir miyim?
Dify belgeleri şu seçenekleri anlatır: yönetilen Dify Cloud ve açık kaynaklı Community Edition'ın Docker Compose ile kendi altyapınıza kurulması. Plan kapsamı ve fiyatlandırma değişebileceği için güncel koşulları Dify'ın resmî sayfalarından kontrol edin.
Workflow ile Chatflow arasındaki fark nedir?
Workflow bir girdiyle bir kez baştan sona çalışır ve sonuç döndürür; Chatflow ise sohbet arayüzü ekler ve her kullanıcı mesajında çalışır. Chatflow Answer düğümüyle bitmek zorundadır, Trigger kullanılamaz. Toplu işler için Workflow, etkileşimli asistanlar için Chatflow uygundur.
Dify ile kendi belgelerimden cevap veren bot nasıl yapılır?
Bir bilgi tabanı oluşturup belgeleri ekleyin, Chatflow'a Knowledge Retrieval düğümü koyun, çıktısını LLM düğümünün Context alanına bağlayın ve cevabı Answer düğümüyle döndürün. Top K ve Score Threshold ayarlarıyla arama kalitesini ayarlayın.
Agent uygulaması ile Workflow arasında nasıl seçim yaparım?
Adımlar sabit ve kontrollü olmalıysa Workflow ya da Chatflow seçin. Hangi aracın ne zaman kullanılacağına modelin karar vermesini istiyorsanız Agent seçin. Agent daha esnek, Workflow daha öngörülebilirdir; kritik süreçlerde öngörülebilirlik çoğunlukla tercih edilir.
Yayımladığım uygulamayı sitemde nasıl kullanırım?
Dify belgeleri yayın için web uygulaması, API entegrasyonu, web sitelerine gömme ve MCP sunucusu seçeneklerini sayar. Mevcut bir sitenin içinde göstermek için gömme, kendi arayüzünüzü yazmak için API kullanılır. Erişim kapsamını yayından önce kontrol edin.