Lewati ke konten utama

Dify AI: Panduan dengan Proyek Demo

Pelajari apa itu Dify dan cara membangun agen perjalanan AI menggunakan antarmuka low-code drag-and-drop.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Dify adalah platform ramah pengguna yang membantu Anda membangun aplikasi AI dengan sedikit atau tanpa kode. Cara kerjanya adalah dengan menyeret dan meletakkan blok dengan fungsi berbeda. Informasi mengalir melalui blok-blok ini, kemudian diproses dan digabungkan untuk menghasilkan jawaban.

Dalam artikel ini, saya akan menjelaskan dasar-dasar Dify dengan menuntun Anda melalui langkah-langkah untuk membuat agen perjalanan AI.

Kami selalu memperbarui pembaca tentang kabar terbaru AI melalui The Median, buletin gratis setiap Jumat yang merangkum berita utama pekan ini. Berlangganan dan tetap up-to-date hanya dalam beberapa menit per minggu:

Apa Itu Dify?

Dify adalah platform yang dirancang untuk menyederhanakan pengembangan aplikasi AI tanpa memerlukan keterampilan coding yang mendalam. Platform ini menyediakan lingkungan low-code yang mudah digunakan, di mana pengguna dapat membangun aplikasi dengan menyeret dan meletakkan berbagai komponen.

Bayangkan Dify sebagai kotak peralatan digital berisi blok siap pakai yang dapat disusun untuk membuat perangkat lunak fungsional. Pendekatan ini membuat teknologi lebih mudah diakses, memungkinkan orang dengan pengetahuan pemrograman terbatas untuk mewujudkan ide mereka.

Setiap jenis blok memiliki input dan mengubahnya menjadi output yang berbeda, tergantung pada jenis bloknya. Informasi diteruskan dan diubah dari satu blok ke blok lainnya hingga menghasilkan hasil akhir.

Mulai Menggunakan Dify

Ada dua cara menggunakan Dify:

  • Penyiapan lokal.
  • Menggunakan versi cloud.

Dalam tutorial ini, kita menggunakan versi cloud. Versi cloud Dify menawarkan paket gratis, jadi Anda dapat mengikuti tutorial ini tanpa perlu berlangganan berbayar.

Jika Anda tertarik dengan penyiapan lokal, cara termudah adalah:

  1. Unduh atau klon Dify dari repositori resmi.
  2. Jalankan Dify menggunakan Docker seperti dijelaskan pada bagian Quick Start pada README repositori.

Membuat Chatflow dengan Dify

Dify menyediakan beberapa jenis aplikasi. Kita akan fokus membangun aplikasi Chatflow, yaitu alur AI di mana pengguna menggunakan antarmuka chat untuk berinteraksi dengan agen.

Untuk membuat aplikasi Chatflow baru, pertama klik "Create from blank" lalu pilih opsi "Chatflow".

Membuat alur kosong di Dify

Untuk membuat alur, kita tetapkan nama lalu klik tombol “Create”:

Membuat Chatflow di Dify

Ini akan membuat alur bawaan berikut:

Chatflow bawaan di Dify

Alur ini memiliki tiga blok:

  • Blok start bertugas memulai alur. Dalam kasus Chatflow, alur dimulai ketika pengguna mengirim pesan.
  • Node LLM menerima pesan pengguna sebagai input dan mengirimkannya ke LLM, dalam hal ini gpt-4.
  • Node final digunakan untuk menampilkan pesan di chat. Dalam contoh ini, node tersebut terhubung ke node LLM, sehingga output node LLM dikirim ke chat.

Ketiga node ini bersama-sama secara efektif menciptakan chat AI seperti ChatGPT. Sebelum menjalankan aplikasi ini, kita perlu memasang dan menyiapkan plugin OpenAI.

Memasang dan menyiapkan plugin OpenAI

Untuk memasang plugin OpenAI, lakukan:

  1. Klik tombol "Plugins" di pojok kanan atas.

Menambahkan plugin openai di dify

  1. Klik “Install from Marketplace.”

Mengakses marketplace di dify

  1. Ketik "openai" di kotak pencarian lalu klik plugin OpenAI.

Memasang plugin OpenAI di dify

  1. Pilih plugin OpenAI dan klik “Install.”

Selanjutnya, kita perlu menyiapkan kunci API OpenAI. Jika Anda belum memilikinya, buat di sini. Perlu dicatat bahwa penggunaan API OpenAI tidak gratis, jadi Anda perlu mengaitkan metode pembayaran dengan kunci API tersebut.

Setelah kita memiliki kunci, kita dapat mengonfigurasinya dengan:

  1. Memilih node LLM.

Memilih blok Dify

  1. Klik ikon konfigurasi di sebelah nama model.

Mengonfigurasi blok LLM di dify

  1. Klik dropdown model di bagian atas.

Dropdown model

  1. Klik "Model Provider Settings" di bagian bawah daftar.

Mengonfigurasi penyedia model di dify

  1. Klik "Setup" pada bagian API key.

Penyiapan model di dify

  1. Tempel kunci API lalu klik “Save”.

Mengonfigurasi kunci API OpenAI di dify

Menjalankan aplikasi

Sekarang kita bisa menjalankan aplikasi dengan mengklik tombol preview:

Melihat pratinjau aplikasi.

Saat ini, ini belum terlalu menarik karena hanya chatbot AI. Ingat bahwa aplikasi tidak akan melakukan apa pun sampai pengguna mengirim pesan.

Contoh percakapan di dify

Membuat variabel

Dify memungkinkan penyimpanan state aplikasi dengan menetapkan nilai ke variabel yang dapat diakses semua blok.

Untuk membuat variabel, klik tombol variabel:

Menambahkan variabel di dify

Mari buat variabel untuk menyimpan nama pengguna:

Konfigurasi variabel di dify

Konfigurasi ini membuat variabel bernama name yang menyimpan string (teks). Kita biarkan nilai default kosong, jadi awalnya variabel akan berupa string kosong.

Ada beberapa cara untuk mengisinya, tetapi cara yang paling umum adalah menggunakan blok AI untuk mengetahuinya secara otomatis dari percakapan. Kita akan mempelajarinya nanti. Pertama, kita pelajari cara memeriksa nilai variabel untuk mengendalikan alur aplikasi.

Blok IF/ELSE

Untuk memeriksa nilai suatu variabel, kita dapat menggunakan blok IF/ELSE. Blok ini digunakan untuk mengeksekusi tindakan yang berbeda bergantung pada nilai variabel.

Untuk menambahkan blok baru, klik tombol "+" di bagian bawah:

Menambahkan blok di dify

Lalu pilih blok yang ingin ditambahkan. Dalam kasus ini, pilih "IF/ELSE":

Blok IF/ELSE di dify

Kemudian klik blok untuk mengonfigurasinya dengan memilih variabel name yang kita buat sebelumnya.

Untuk mengujinya, tambahkan dua blok Answer. Blok-blok ini digunakan untuk menampilkan pesan di chat. Hubungkan salah satunya ke output IF (yang berjalan ketika kondisi bernilai true) dan yang lain ke output ELSE (yang berjalan ketika kondisi bernilai false).

Mengendalikan alur dengan blok IF/ELSE di dify

Untuk output IF, saya menetapkan string "Maaf, saya tidak tahu nama Anda." sedangkan untuk ELSE, saya menetapkan "Halo, {name}!" Kita dapat menggunakan kurung kurawal untuk menyisipkan variabel ke dalam string. Ini juga akan berguna nanti saat membangun prompt.

Kita dapat mencoba Chatflow ini dengan mengklik tombol "Preview". Perhatikan bahwa Chatflow dipicu oleh pesan pengguna, jadi kita perlu mengirim pesan terlebih dahulu, seperti "Hi." Berikut hasilnya bergantung pada apakah nama disetel atau tidak (saya menetapkannya secara manual di antarmuka variabel untuk contoh kedua):

Hasil pengendalian alur

Blok variable assigner dan parameter extractor

Kita dapat menggunakan AI untuk mengidentifikasi dan mengekstrak nilai variabel menggunakan blok Parameter Extractor. Blok ini menggunakan LLM untuk mengekstrak informasi dari percakapan.

Blok parameter extractor

Pertama, kita menambahkan blok Parameter Extractor yang terhubung ke cabang IF. Berikut konfigurasi bloknya:

Konfigurasi parameter extractor di dify

  • Bagian INPUT VARIABLE disetel ke sys.query, yang sesuai dengan pesan pengguna. Artinya, blok Parameter Extractor akan mencoba mengekstrak nilai dari pesan pengguna.
  • Pada EXTRACTION PARAMETERS, kita mendefinisikan informasi yang ingin diekstrak. Sayangnya, kita tidak bisa langsung menentukan variabel di sini, jadi kita perlu mendefinisikan ulang informasi tersebut dengan mengklik tombol “+”.

Konfigurasi parameter di dify

  • Kolom INSTRUCTION adalah prompt untuk memandu LLM tentang apa yang harus dilakukan.
  • Selanjutnya, tambahkan blok Variable Assigner untuk menetapkan nilai yang diekstrak oleh Parameter Extractor (jika ada) ke variabel name.

Blok variable assigner

Pastikan untuk menetapkan name yang diekstrak ke variabel name.

Konfigurasi variable assigner

Setelah langkah ini, variabel name mungkin masih belum terdefinisi karena bisa saja pengguna tidak memberikan namanya. Jadi kita menambahkan lagi blok IF/ELSE untuk memeriksa. Jika nama disetel, kita menyapa pengguna. Jika tidak, kita menanyakan namanya.

Alur ekstraktor nama

Berikut contoh interaksi:

Contoh chat dengan alur ekstraktor nama di dify

Alur ini menggambarkan dasar-dasar workflow Dify. Apa pun pesan pengguna, jika nama belum didefinisikan, sistem akan mencoba mengekstrak nama dari pesan. Jika gagal, sistem akan menanyakannya. Jika berhasil, sistem langsung menyapa pengguna dengan namanya.

Pada titik ini, belum ada blok LLM, jadi agen belum melakukan hal lain.

Blok kode

Blok kode dapat digunakan untuk mengeksekusi kode Python kustom. Mari kita modifikasi alur sebelumnya untuk mengekstrak lokasi pengguna alih-alih nama. Lalu kita akan menggunakan blok Code untuk membuat permintaan ke API cuaca dan mengirimkan prakiraan cuaca kepada pengguna.

  • Buat variabel baru bernama location.
  • Ubah blok IF/ELSE untuk memeriksa location alih-alih name.
  • Ubah blok Parameter Extractor untuk mengekstrak lokasi alih-alih nama.
  • Ubah blok Variable Assigner untuk menetapkan nilai yang diekstrak ke variabel location.
  • Ubah blok Answer masing-masing untuk menanyakan lokasi dan menampilkan lokasi.

Setelah langkah-langkah ini, alurnya akan terlihat seperti ini:

Alur ekstraktor lokasi di dify

Berikut contoh interaksi:

Contoh percakapan dengan ekstraktor lokasi

Langkah berikutnya adalah menambahkan blok Code setelah kita mendapatkan lokasi. Blok ini membuat permintaan ke OpenWeather API untuk meminta prakiraan cuaca di lokasi tersebut.

API ini gratis digunakan selama kita tidak membuat terlalu banyak permintaan. 

Ganti blok Answer kedua dengan blok Code. 

Blok Code

Konfigurasikan agar menerima satu parameter dengan nilai location.

Mengonfigurasi blok kode

Untuk kode Python, berikut cara menggunakan paket requests untuk mendapatkan cuaca dari OpenWeather API:

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",
        }

Terakhir, kita hubungkan output node Code ke node Answer untuk menampilkannya kepada pengguna.

Menampilkan hasil blok kode

Sekarang kita memiliki Chatflow yang dapat memberi tahu prakiraan cuaca:

Contoh percakapan dengan agen cuaca

Proyek: Membuat Agen AI Perencana Perjalanan

Sekarang kita memiliki semua alat yang kita butuhkan untuk membangun agen perjalanan AI. Kemungkinannya tidak terbatas, tetapi agar tutorial ini tidak terlalu rumit, kita akan menjaganya tetap sederhana.

Agen akan fokus merencanakan satu hari perjalanan. Agen akan mulai dengan mengumpulkan lokasi pengguna dan jenis aktivitas yang mereka sukai. Untuk itu, kita gunakan dua variabel:

  • location: Menyimpan lokasi tempat pengguna bepergian.
  • activities: Array string yang menyimpan aktivitas yang ingin dilakukan pengguna.

Konfigurasi variabel activities di dify

Berikut cara kita membuat alur untuk mengekstrak kedua variabel:

Alur dual parameter extractor di dify

Dalam contoh ini, kita memulai dengan blok ekstraksi variabel untuk mengekstrak location dan daftar activities sekaligus.

Konfigurasi dual parameter extractor

Kemudian kita menggunakan blok IF/ELSE untuk memeriksa apakah masing-masing parameter ini berhasil diekstrak dan memperbarui variabel jika ya. Berbeda dengan contoh sebelumnya, ini memungkinkan pengguna memperbarui nilainya.

Di akhir proses ekstraksi nilai dan penetapan variabel, kita tambahkan lagi blok IF/ELSE untuk memeriksa apakah ada nilai yang hilang. Jika ada yang kurang, kita secara eksplisit meminta pengguna untuk menyediakannya.

Meminta nilai saat pengguna belum menyediakannya.

Jika location dan activities telah didefinisikan, kita gunakan blok Code yang dibuat sebelumnya untuk mendapatkan cuaca di lokasi tersebut. Terakhir, kita berikan cuaca, lokasi, dan aktivitas ke blok LLM untuk merencanakan hari pengguna.

Konfigurasi LLM untuk agen perjalanan.

Blok LLM dikonfigurasi dengan system prompt yang memberi tahu model apa yang harus dilakukan. Lokasi, aktivitas, dan cuaca disisipkan ke dalamnya. Berikut bagian akhir alurnya:

Alur final

Berikut contoh interaksi dengan agen:

Contoh interaksi dengan agen perjalanan di dify

Kita lihat pada respons bahwa, berkat node Code, agen dapat memberikan informasi cuaca kepada pengguna dan mempertimbangkannya saat merencanakan aktivitas.

Berkat cara alur disusun, jika pengguna langsung memberikan informasi pada pesan pertama, agen akan langsung memberikan rencana untuk hari itu.

Contoh interaksi lain di mana pengguna langsung memberikan informasi.

Menentukan sapaan kustom

Anda mungkin memperhatikan bahwa agen memulai dengan menyapa pengguna melalui sebuah pesan:

Pesan sapaan

Untuk mengaktifkannya, kita perlu mengaktifkan fitur Conversation Opener.

Mengakses fitur Dify

Mengaktifkan pesan sapaan di dify

Dify Tools

Dalam tutorial ini, kita mempelajari blok-blok dasar Dify. Satu aspek yang belum kita bahas adalah tools.

Di Dify, tools adalah ekstensi kuat yang memungkinkan agen AI Anda berinteraksi dengan dunia luar melampaui keterbatasan model bahasa. Sementara LLM dapat bernalar dan menghasilkan respons berdasarkan data pelatihan dan konteks prompt, LLM tidak memiliki akses waktu nyata ke data live atau layanan eksternal.

Tools menyelesaikan masalah ini dengan memungkinkan agen Anda melakukan panggilan API, melakukan kueri basis data, menjalankan perhitungan, mengambil dokumen, dan banyak lagi—pada dasarnya bertindak sebagai jembatan antara AI Anda dan sumber informasi eksternal.

Mengakses Dify tools

Anda dapat mengonfigurasi tools di Dify melalui antarmuka visual platform dengan menentukan jenis tool (seperti permintaan HTTP, code interpreter, atau plugin pihak ketiga), skema input/output, dan persyaratan autentikasi. Setelah disiapkan, tools ini dapat digunakan dalam alur agen Anda melalui blok Tool, yang memungkinkan Anda mengirim dan menerima data dari tool dan memasukkan hasilnya ke node LLM atau blok logika lainnya.

Menambahkan blok tool

Ini membuat agen Anda tidak hanya lebih cerdas, tetapi juga berorientasi pada tindakan, mampu memberikan jawaban terkini dan relevan dengan konteks melalui interaksi dengan layanan dunia nyata.

Dalam contoh kita, kita menggunakan blok kode untuk membuat permintaan ke API cuaca. Alternatifnya adalah membuat tool dan menyediakannya kepada LLM.

Kesimpulan

Dalam tutorial ini, kita telah menjelajahi beberapa blok dasar yang Anda perlukan untuk mulai bekerja dengan Dify. Namun, Dify menawarkan banyak fitur dan kapabilitas lain untuk dijelajahi.

Untuk memantapkan pemahaman Anda, latihan yang bagus adalah meningkatkan agen perjalanan yang telah kita buat. Pertimbangkan untuk menambahkan fitur seperti kemampuan pencarian internet untuk menemukan aktivitas lokal secara online, yang dapat memperkaya fungsionalitas agen dan memberikan saran yang lebih dinamis.

Jika Anda tertarik dengan pembuat agen AI seperti Dify, saya sarankan melihat tutorial kami yang lain untuk pembelajaran lanjutan:


François Aubry's photo
Author
François Aubry
LinkedIn
Insinyur full-stack & pendiri di CheapGPT. Mengajar selalu menjadi passion saya. Sejak masa awal sebagai mahasiswa, saya aktif mencari peluang untuk membimbing dan membantu mahasiswa lain. Passion ini mendorong saya menempuh studi PhD, di mana saya juga menjadi asisten pengajar untuk mendukung kegiatan akademik saya. Selama tahun-tahun itu, saya menemukan kepuasan besar dalam suasana kelas tradisional, membangun koneksi dan memfasilitasi proses belajar. Namun, dengan hadirnya platform pembelajaran daring, saya melihat potensi transformatif pendidikan digital. Bahkan, saya terlibat aktif dalam pengembangan salah satu platform tersebut di universitas kami. Saya sangat berkomitmen untuk mengintegrasikan prinsip-prinsip pengajaran tradisional dengan metodologi digital yang inovatif. Tujuan saya adalah menciptakan kursus yang tidak hanya menarik dan informatif, tetapi juga mudah diakses oleh para pembelajar di era digital ini.
Topik
Agen AI
Kecerdasan Buatan

Belajar AI dengan kursus-kursus ini!

Kursus

Pengantar Agen Kecerdasan Buatan

1 jam 30 menit
143.4K
Pelajari dasar-dasar agen AI, komponennya, serta penerapannya di dunia nyata — tanpa perlu coding.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

Lihat SelengkapnyaLihat Selengkapnya