Ana içeriğe atla

Dify AI: Demo Projeyle Rehber

Dify’nin ne olduğunu ve düşük kodlu sürükle-bırak arayüzüyle bir yapay zeka seyahat asistanını nasıl oluşturacağınızı öğrenin.
Güncel 3 Eki 2026  · 12 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Dify az ya da hiç kod gerektirmeden yapay zeka uygulamaları oluşturmanıza yardımcı olan kullanıcı dostu bir platformdur. Farklı işlevlere sahip blokları sürükleyip bırakarak çalışır. Bilgi bloklar arasında akarak işlenir, birleştirilir ve yanıtlar üretilir.

Bu yazıda, bir yapay zeka seyahat asistanı oluşturma adımlarını anlatarak Dify'nin temel kavramlarını açıklayacağım.

Okurlarımızı yapay zekâdaki en son gelişmelerden haberdar etmek için, haftanın önemli haberlerini özetleyen ücretsiz Cuma bültenimiz The Median’ı gönderiyoruz. Sadece birkaç dakikada güncel kalmak için abone olun:

Dify Nedir?

Dify, kapsamlı kodlama becerileri gerektirmeden yapay zeka uygulamaları geliştirmeyi kolaylaştırmak için tasarlanmış bir platformdur. Kullanıcıların farklı bileşenleri sürükleyip bırakarak uygulamalar oluşturabileceği kullanıcı dostu, düşük kodlu bir ortam sunar.

Dify’yi, bir araya getirilerek işlevsel yazılımlar oluşturulabilen hazır bloklarla dolu dijital bir araç kutusu olarak hayal edin. Bu yaklaşım, sınırlı programlama bilgisine sahip kişilerin de fikirlerini hayata geçirebilmesini sağlayarak teknolojiyi daha erişilebilir kılar.

Her blok türünün girdileri vardır ve blok türüne bağlı olarak bunları farklı çıktılara dönüştürür. Bilgi bloktan bloğa aktarılır ve dönüştürülür; böylece nihai sonuç üretilir.

Dify ile Başlarken

Dify’yi kullanmanın iki yolu vardır:

  • Yerel kurulum.
  • Bulut sürümünü kullanma.

Bu öğreticide bulut sürümünü kullanıyoruz. Dify’nin bulut sürümü ücretsiz bir plan sunar; dolayısıyla ücretli abonelik olmadan da bu öğreticiyi takip edebilirsiniz.

Yerel kurulumla ilgileniyorsanız, en kolay yol şudur:

  1. Dify’yi resmi depodan indirin veya klonlayın.
  2. Depodaki README’nin Hızlı Başlangıç bölümünde açıklandığı gibi Docker kullanarak Dify’yi çalıştırın.

Dify ile Bir Chatflow Oluşturma

Dify birden fazla uygulama türü sunar. Biz, kullanıcıların bir aracıyla sohbet arayüzü üzerinden etkileşime geçtiği bir yapay zeka akışı olan Chatflow uygulaması oluşturmaya odaklanacağız.

Yeni bir Chatflow uygulaması oluşturmak için önce "Create from blank"e tıklayın ve "Chatflow" seçeneğini belirleyin.

Dify’de boş bir akış oluşturma

Akışı oluşturmak için bir ad belirleyip ardından “Create” düğmesine basıyoruz:

Dify’de bir Chatflow oluşturma

Bu işlem aşağıdaki varsayılan akışı oluşturacaktır:

Dify’de varsayılan Chatflow

Bu akışta üç blok bulunur:

  • Başlangıç bloğu akışı başlatmaktan sorumludur. Bir Chatflow durumunda akış, kullanıcının bir mesaj göndermesiyle başlar.
  • LLM düğümü, girdi olarak kullanıcı mesajını alır ve bu örnekte gpt-4 olan bir LLM’e gönderir.
  • Son düğüm, sohbette bir mesaj görüntülemek için kullanılır. Bu örnekte LLM düğümüne bağlıdır, yani LLM düğümünün çıktısı sohbete gönderilir.

Bu üç düğüm birlikte, ChatGPT benzeri bir yapay zeka sohbeti oluşturur. Uygulamayı çalıştırmadan önce OpenAI eklentisini kurup yapılandırmamız gerekir.

OpenAI eklentisini kurma ve yapılandırma

OpenAI eklentisini kurmak için şunları yapın:

  1. Sağ üst köşedeki "Plugins" düğmesine tıklayın.

Dify’de openai eklentisini ekleme

  1. “Install from Marketplace” öğesine tıklayın.

Dify’de marketplace’e erişim

  1. Arama kutusuna "openai" yazın ve OpenAI eklentisine tıklayın.

Dify’de OpenAI eklentisini yükleme

  1. OpenAI eklentisini seçin ve “Install” düğmesine tıklayın.

Sonrasında, OpenAI API anahtarını ayarlamamız gerekiyor. Henüz yoksa buradan oluşturun. OpenAI API’sini kullanmanın ücretsiz olmadığını ve API anahtarına bir ödeme yöntemi bağlamanız gerektiğini unutmayın.

Anahtarı aldıktan sonra şu şekilde yapılandırabiliriz:

  1. LLM düğümünü seçin.

Bir Dify bloğunu seçme

  1. Model adının yanındaki yapılandırma simgesine tıklayın.

Dify’de bir LLM bloğunu yapılandırma

  1. Üstteki model açılır menüsüne tıklayın.

Model açılır menüsü

  1. Listenin altındaki "Model Provider Settings"e tıklayın.

Dify’de model sağlayıcıyı yapılandırma

  1. API anahtarı bölümünde "Setup"a tıklayın.

Dify’de model kurulumu

  1. API anahtarını yapıştırın ve “Save”’e tıklayın.

Dify’de OpenAI API anahtarını yapılandırma

Uygulamayı çalıştırma

Artık önizleme düğmesine tıklayarak uygulamayı çalıştırabiliriz:

Uygulamayı önizleme.

Şu an için yalnızca bir yapay zeka sohbet botu olduğundan çok ilgi çekici değil. Unutmayın, kullanıcı bir mesaj göndermeden hiçbir şey yapmayacaktır.

Dify’de örnek sohbet

Değişkenler oluşturma

Dify, tüm blokların erişebileceği değişkenlere değer atayarak uygulamanın durumunu saklamayı mümkün kılar.

Bir değişken oluşturmak için değişken düğmesine tıklayın:

Dify’de değişken ekleme

Kullanıcının adını saklayacak bir değişken oluşturalım:

Dify’de değişken yapılandırması

Bu yapılandırma, metin (string) saklayan name adlı bir değişken oluşturdu. Varsayılan değeri boş bıraktık; bu yüzden başlangıçta değişken boş bir dize olacaktır.

Bunu doldurmanın birkaç yolu var; en yaygın yöntem, bir AI bloğunu kullanarak konuşmadan otomatik olarak çıkarmaktır. Bunu birazdan öğreneceğiz. Önce, uygulamanın akışını kontrol etmek için bir değişkenin değerini nasıl kontrol edeceğimizi öğrenelim.

IF/ELSE blokları

Bir değişkenin değerini kontrol etmek için bir IF/ELSE bloğu kullanabiliriz. Bu blok, değişkenin değerine bağlı olarak farklı eylemler yürütmek için kullanılır.

Yeni bir blok eklemek için alttaki "+" düğmesine tıklayın:

Dify’de blok ekleme

Ardından eklemek istediğiniz bloğu seçin. Bu durumda "IF/ELSE"yi seçiyoruz:

Dify’de IF/ELSE bloğu

Sonra, daha önce oluşturduğumuz name değişkenini seçerek bloğu yapılandırmak için bloğa tıklıyoruz.

Bunu test etmek için iki Answer bloğu ekliyoruz. Bu bloklar, sohbette bir mesaj görüntülemek için kullanılır. Bunlardan birini koşul doğruyken çalışan IF çıkışına, diğerini koşul yanlışken çalışan ELSE çıkışına bağlıyoruz.

Dify’de IF/ELSE bloğuyla akışı kontrol etme

IF çıkışı için "Üzgünüm, adınızı bilmiyorum." dizesini; ELSE için ise "Merhaba, {name}!" ifadesini ayarladım. Süslü parantezleri kullanarak bir değişkeni bir dizeye enjekte edebiliriz. Bu, istemler oluştururken de işimize yarayacaktır.

Bu Chatflow’u "Preview" düğmesine tıklayarak deneyebiliriz. Bir Chatflow’un kullanıcı mesajıyla tetiklendiğini unutmayın; bu yüzden önce "Hi" gibi bir mesaj göndermemiz gerekir. İsim ayarlı olup olmamasına göre sonuçlar şöyledir (ikinci örnek için arayüzde değişkeni elle ayarladım):

Akış kontrolü sonuçları

Değişken atayıcı ve parametre çıkarıcı blokları

Parametre Çıkarıcı bloğunu kullanarak değişkenlerin değerlerini tanımlamak ve çıkarmak için yapay zekâdan yararlanabiliriz. Bu blok, konuşmadan bilgi çıkarmak için bir LLM kullanır.

Parametre çıkarıcı blok

Önce IF dalına bağlı bir Parametre Çıkarıcı bloğu ekliyoruz. Blok yapılandırması şöyle:

Dify’de parametre çıkarıcı yapılandırması

  • INPUT VARIABLE olarak, kullanıcı mesajına karşılık gelen sys.query ayarlanır. Bu, Parametre Çıkarıcı bloğunun değeri kullanıcı mesajından çıkarmaya çalışacağı anlamına gelir.
  • EXTRACTION PARAMETERS bölümünde, çıkarmaya çalıştığımız bilgiyi tanımlarız. Ne yazık ki burada doğrudan bir değişken belirtemiyoruz; bu yüzden “+” düğmesine tıklayarak bu bilgiyi yeniden tanımlamamız gerekiyor.

Dify’de parametre yapılandırması

  • INSTRUCTION alanı, LLM’e ne yapılacağını anlatan istemdir.
  • Ardından, Parametre Çıkarıcı tarafından (varsa) çıkarılan değeri name değişkenine atamak için bir Değişken Atayıcı bloğu ekliyoruz.

Değişken atayıcı blok

Çıkarılan name değerinin name değişkenine atandığından emin olun.

Değişken atayıcı yapılandırması

Bu adımdan sonra, kullanıcı adını vermemiş olabilir; bu yüzden name değişkeni hâlâ tanımsız kalabilir. Bu nedenle kontrol etmek için bir IF/ELSE bloğu daha ekliyoruz. İsim ayarlıysa kullanıcıyı selamlıyoruz. Değilse adını soruyoruz.

İsim çıkarıcı akış

İşte örnek bir etkileşim:

Dify’de isim çıkarıcı akışla örnek sohbet

Bu akış, Dify iş akışlarının temelini gösterir. Kullanıcının mesajı ne olursa olsun, isim tanımlı değilse mesajdan ismi çıkarmaya çalışır. Başarısız olursa ister. Aksi halde kullanıcıyı adıyla selamlar.

Bu aşamada bir LLM bloğu yok; dolayısıyla aracının başka bir şey yapması mümkün değil.

Kod bloğu

Kod blokları, özel Python kodu yürütmek için kullanılabilir. Önceki akışı, kullanıcının adını değil konumunu çıkarmak üzere değiştirelim. Ardından bir hava durumu API’sine istek göndermek ve hava tahminini kullanıcıya iletmek için bir Kod bloğu kullanacağız.

  • location adlı yeni bir değişken oluşturun.
  • IF/ELSE bloklarını name yerine locationı kontrol edecek şekilde değiştirin.
  • Parametre Çıkarıcı bloğunu ismi değil konumu çıkaracak şekilde değiştirin.
  • Değişken Atayıcı bloğunu, çıkarılan değeri location değişkenine atayacak şekilde değiştirin.
  • Answer bloklarını sırasıyla konumu sormak ve konumu görüntülemek için değiştirin.

Bu adımlardan sonra akış şu şekilde görünmelidir:

Dify’de konum çıkarıcı akış

İşte örnek bir etkileşim:

Konum çıkarıcı ile örnek sohbet

Sonraki adım, konum alındıktan sonra bir Kod bloğu eklemektir. Bu blok, OpenWeather API’sine istek göndererek o konuma ait hava tahminini ister.

Bu API, çok fazla istek yapılmadığı sürece ücretsizdir. 

İkinci Answer bloğunu bir Kod bloğuyla değiştirin. 

Kod bloğu

location değerini alan tek bir parametre alacak şekilde yapılandırın.

Kod bloğunu yapılandırma

Python kodu için, OpenWeather API’sinden hava durumunu almak üzere requests paketini şu şekilde kullanabiliriz:

import requests

API_KEY = "PASTE_YOUR_API_KEY_HERE"

def main(location: str) -> str:
    base_url = "http://api.openweathermap.org/data/2.5/weather"
    params = {
        "q": location,
        "appid": API_KEY,
        "units": "metric",
    }
    response = requests.get(base_url, params=params)
    data = response.json()
    if response.status_code == 200:
        weather_desc = data["weather"][0]["description"]
        temp = data["main"]["temp"]
        return {
            "result": f"Current weather in {location}: {weather_desc}, Temperature: {temp}°C"
        }
    else:
        return {
            "result": "Could not retrieve weather data",
        }

Son olarak, çıktıyı kullanıcıya göstermek için Kod düğümünün çıktısını bir Answer düğümüne bağlıyoruz.

Kod bloğu sonucunu görüntüleme

Artık bize hava durumunu söyleyebilen bir Chatflow’umuz var:

Hava durumu aracısıyla örnek sohbet

Proje: Bir Seyahat Planlayıcı Yapay Zekâ Aracısı Oluşturma

Artık bir yapay zeka seyahat asistanı oluşturmak için gereken tüm araçlara sahibiz. Olanaklar sınırsız; ancak bu öğreticiyi gereksiz karmaşık hâle getirmemek için basit tutacağız.

Aracı, seyahatin tek bir gününü planlamaya odaklanacak. Önce kullanıcının konumunu ve yapmayı sevdiği etkinlik türlerini toplayacak. Bunu yapmak için iki değişken kullanıyoruz:

  • location: Kullanıcının seyahat ettiği konumu saklar.
  • activities: Kullanıcının yapmak istediği etkinlikleri saklayan bir metin dizisi.

Dify’de activities değişkeni yapılandırması

Her iki değişkeni de çıkarmak için bir akışı şöyle oluşturabiliriz:

Dify’de çift parametre çıkarıcı akış

Bu örnekte, location ve activities listesini birlikte çıkarmak için bir değişken çıkarma bloğuyla başlıyoruz.

Çift parametre çıkarıcı yapılandırması

Ardından, bu parametrelerin her birinin çıkarılıp çıkarılmadığını kontrol etmek ve çıkarıldıysa değişkenleri güncellemek için IF/ELSE bloklarını kullanıyoruz. Önceki örneklerimizden farklı olarak bu, kullanıcının değerleri güncellemesine olanak tanır.

Değer çıkarma ve değişken atama işleminin sonunda, eksik değer olup olmadığını kontrol etmek için başka bir IF/ELSE bloğu ekliyoruz. Bir şey eksikse kullanıcıdan açıkça istemekteyiz.

Kullanıcı bilgi vermediğinde değerlerin istenmesi.

Hem location hem de activities tanımlıysa, daha önce oluşturduğumuz Kod bloğunu kullanarak verilen konumdaki hava durumunu alırız. Son olarak, hava durumu, konum ve etkinlikleri bir LLM bloğuna vererek kullanıcının gününü planlarız.

Seyahat aracısı LLM yapılandırması.

LLM bloğu, modele ne yapacağını söyleyen bir sistem istemiyle yapılandırılır. Konum, etkinlikler ve hava durumu bu isteme enjekte edilir. İşte akışın son bölümü:

Nihai akış

İşte aracıyla örnek bir etkileşim:

Dify’de seyahat aracıyla örnek etkileşim

Yanıtta, Kod düğümü sayesinde aracının kullanıcıya hava durumunu sağlayabildiğini ve etkinlikleri planlarken bunu dikkate aldığını görüyoruz.

Akışın kurulma biçimi sayesinde, kullanıcı ilk mesajda bilgileri doğrudan verirse, aracı doğrudan gün için bir plan sunacaktır.

Kullanıcının bilgileri doğrudan verdiği başka bir örnek etkileşim.

Özel bir karşılama tanımlama

Aracının kullanıcıyı bir mesajla selamlayarak başladığını fark etmiş olabilirsiniz:

Karşılama mesajı

Bunu etkinleştirmek için Conversation Opener özelliğini aktif hâle getirmemiz gerekir.

Dify özelliklerine erişim

Dify’de karşılama mesajını etkinleştirme

Dify Araçları

Bu öğreticide Dify’nin temel yapı taşlarını öğrendik. Ele almadığımız bir yön ise araçlardı.

Dify’de araçlar, yapay zeka aracılarınızın bir dil modelinin sınırlamalarının ötesinde dış dünya ile etkileşime girmesine olanak tanıyan güçlü uzantılardır. Bir LLM, eğitim verileri ve istem bağlamına dayanarak akıl yürütebilir ve yanıt üretebilir; ancak canlı verilere veya haricî hizmetlere gerçek zamanlı erişimi yoktur.

Araçlar, aracınızın API çağrıları yapmasını, veritabanlarını sorgulamasını, hesaplamalar gerçekleştirmesini, belgeleri getirmesini ve daha fazlasını mümkün kılarak, temelde yapay zekânız ile dış bilgi kaynakları arasında köprü görevi görür.

Dify araçlarına erişim

Dify’de araçları, araç türünü (HTTP istekleri, kod yorumlayıcıları veya üçüncü taraf eklentiler gibi), girdi/çıktı şemasını ve tüm kimlik doğrulama gereksinimlerini belirterek platformun görsel arayüzü üzerinden yapılandırabilirsiniz. Kurulum tamamlandığında bu araçlar, Tool blokları aracılığıyla aracı akışınızda kullanılabilir; bu sayede araca veri iletip veriyi ondan alabilir ve sonuçları LLM düğümlerine veya diğer mantık bloklarına besleyebilirsiniz.

Bir araç bloğu ekleme

Bu, aracılarınızı yalnızca daha akıllı değil, aynı zamanda eylem odaklı hâle getirir; gerçek dünya hizmetleriyle etkileşime girerek güncel ve bağlamsal olarak ilgili yanıtlar sağlayabilirler.

Bizim örneğimizde hava durumu API’sine istek göndermek için bir kod bloğu kullandık. Alternatif olarak bir araç oluşturup bu aracı LLM’e sunabilirdik.

Sonuç

Bu öğreticide, Dify ile çalışmaya başlamak için ihtiyaç duyacağınız temel bloklardan bazılarını inceledik. Ancak Dify’de keşfedilecek daha pek çok özellik ve yetenek bulunmaktadır.

Pekiştirmek için iyi bir egzersiz, oluşturduğumuz seyahat aracısını geliştirmek olacaktır. Örneğin, yerel etkinlikleri çevrimiçi bulmak için internet araması yetenekleri ekleyerek aracının işlevselliğini zenginleştirebilir ve daha dinamik öneriler sunmasını sağlayabilirsiniz.

Dify gibi yapay zekâ aracı oluşturucularla ilgileniyorsanız, daha fazla öğrenmek için diğer öğreticilerimize göz atmanızı öneririm:


François Aubry's photo
Author
François Aubry
LinkedIn
CheapGPT’te full-stack mühendisi ve kurucuyum. Öğretmek her zaman tutkum oldu. Öğrencilik yıllarımdan itibaren diğer öğrencilere ders verme ve yardımcı olma fırsatlarını hevesle aradım. Bu tutku beni doktora yapmaya yönlendirdi; bu süreçte akademik çalışmalarımı desteklemek için araştırma görevlisi olarak da görev aldım. O yıllarda, geleneksel sınıf ortamında bağlar kurmaktan ve öğrenmeyi kolaylaştırmaktan büyük bir tatmin duydum. Ancak çevrim içi öğrenme platformlarının ortaya çıkmasıyla birlikte dijital eğitimin dönüştürücü potansiyelini fark ettim. Nitekim üniversitemizde bu tür bir platformun geliştirilmesinde aktif rol aldım. Geleneksel öğretim ilkelerini yenilikçi dijital yöntemlerle bütünleştirmeye derinden bağlıyım. Tutkum, yalnızca ilgi çekici ve bilgilendirici olmakla kalmayan, aynı zamanda bu dijital çağdaki öğrenenler için erişilebilir kurslar tasarlamaktır.
Konular
Yapay Zekâ Aracıları
Yapay Zeka

Bu kurslarla yapay zekâ öğrenin!

Kurs

AI Agent'lere Giriş

1 sa 30 dk
143.4K
AI ajanlarının temellerini, bileşenlerini ve gerçek hayattaki kullanımlarını öğrenin — kodlama gerekmez.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör