Home / Blog /

Dify AI: Workflow Builder untuk Aplikasi LLM. Tutorial RAG dengan Telkom LLM di Apilogy

Back

Dify AI: Workflow Builder untuk Aplikasi LLM. Tutorial RAG dengan Telkom LLM di Apilogy

30 Jan 2026 •

Dhivi Dhivi

Pendahuluan

Membangun aplikasi AI yang siap dipakai pengguna tidak cukup dengan “model yang bisa menjawab”. Aplikasi AI yang layak dipakai umumnya memerlukan alur proses yang terstruktur, kontrol terhadap konteks yang digunakan untuk menjawab, serta jalur integrasi yang jelas ke sistem lain. Tantangan ini sering muncul ketika aplikasi harus memberikan jawaban yang konsisten, dapat diuji, dan mudah diintegrasikan, bukan sekadar menghasilkan teks yang terdengar meyakinkan.

Di sinilah platform workflow seperti Dify menjadi relevan. Dify memungkinkan pengembang merangkai komponen aplikasi AI secara visual, mulai dari menerima input pengguna, melakukan retrieval dari knowledge base, menyusun konteks, memanggil model, hingga menghasilkan output yang dapat dipublikasikan sebagai aplikasi atau API. Dengan workflow yang eksplisit, perilaku sistem menjadi lebih mudah ditelusuri. Selain itu, proses debugging menjadi lebih praktis karena setiap node dapat diuji dan dievaluasi secara terpisah.

Artikel ini berfokus pada cara menggunakan Dify untuk membangun workflow RAG berbasis dokumen. Pada bagian pemanggilan model, Dify bersifat fleksibel. Anda bisa memakai provider bawaan, atau memanggil model eksternal melalui node HTTP Request. Di artikel ini akan dicontohkan integrasi ke Telkom LLM API yang tersedia di Apilogy, sebagai contoh bahwa model eksternal dapat dipakai dalam workflow Dify tanpa mengubah konsep RAG yang dibangun.

Apa itu Dify?

Dify adalah platform untuk membangun aplikasi AI berbasis workflow. Daripada menulis seluruh logika orkestrasi dari nol, Anda menyusun node yang mewakili langkah-langkah proses. Dify lalu mengelola aliran data antar node tersebut.

Secara praktis, Dify memberi manfaat pada tiga area berikut.

  • Orkestrasi alur yang eksplisit. Setiap langkah terlihat, dapat diuji, dan dapat diubah tanpa menulis aplikasi dari nol.
  • Pemakaian ulang komponen. Node retrieval, template, dan post-processing dapat dipakai ulang untuk use case lain.
  • Arah integrasi jelas. Hasil workflow dapat dipublikasikan dan dipanggil oleh aplikasi lain.

Dify juga menyediakan dua pola pembuatan aplikasi yang umum dipakai: Workflow dan Chatflow. Workflow cocok untuk alur multi-step yang terstruktur, sedangkan Chatflow lebih cocok untuk pengalaman percakapan yang lebih langsung.

Bagaimana Cara Menggunakan Dify?

Dify memudahkan pembangunan aplikasi AI karena alurnya berbasis workflow. Untuk kebutuhan yang jawabannya harus bersumber dari dokumen, salah satu fitur dari Dify yang sangat berguna adalah fitur Retrieval Augmented Generation (RAG). Mekanismenya sederhana.

  1. Dokumen dimasukkan ke knowledge base.
  2. Saat pengguna bertanya, dify mengambil potongan yang relevan.
  3. Potongan itu disusun menjadi konteks, lalu dikirim bersama pertanyaan ke model.

Dengan cara ini, model menjawab secara faktual berdasarkan konteks yang diberikan, bukan hanya menebak.

Pada tahap pemanggilan model, Dify fleksibel. Anda dapat memakai model bawaan, atau memanggil model eksternal melalui HTTP Request. Inilah yang memungkinkan Telkom LLM API dari Apilogy digunakan sebagai komponen model dalam workflow Dify. Dify mengelola retrieval dan orkestrasi, sedangkan Telkom LLM menghasilkan jawaban berdasarkan pertanyaan dan konteks yang dikirim.

Tutorial: Menggunakan Dify dengan API Telkom LLM

1.) Mempersiapkan Knowledge Base

Sebelum membuat workflow RAG, Anda perlu menyiapkan Knowledge Base sebagai sumber konteks untuk node Knowledge Retrieval. Pada tahap ini, Dify akan mengimpor dokumen, memecahnya menjadi potongan teks (chunks), lalu memprosesnya agar bisa dicari kembali saat pengguna bertanya.

Buka menu Knowledge di Dify lalu Klik Create Knowledge.

Pada halaman Data Source, Dify menyediakan beberapa opsi sumber dokumen, seperti:

  • Import from file (unggah file lokal)
  • Sync from Notion
  • Sync from website

Untuk tutorial ini, pilih Import from file, lalu unggah dokumen yang ingin dijadikan basis pengetahuan, misalnya file PDF Terms and Conditions. Setelah file muncul di daftar upload, klik Next untuk lanjut.

Pada tahap Document Processing, Anda akan melihat pengaturan yang memengaruhi kualitas retrieval, terutama:

  • Delimiter: pemisah untuk memecah teks (contoh umum \n\n untuk memotong per paragraf).
  • Maximum chunk length: panjang maksimum potongan teks.
  • Chunk overlap: tumpang tindih antar chunk agar konteks tidak “terputus” di batas potongan.
  • Index Method: opsi pemrosesan untuk kualitas atau efisiensi.
  • Top K: jumlah chunk yang diambil saat retrieval.

Rekomendasi untuk pemula

Jika Anda baru mulai, Anda bisa memakai pengaturan default. Default umumnya sudah cukup untuk dokumen seperti kebijakan atau TnC karena strukturnya relatif formal dan berbasis paragraf.

untuk pengguna advanced

Jika Anda ingin hasil retrieval lebih presisi, Anda dapat melakukan penyesuaian berikut.

  • Gunakan delimiter yang sesuai struktur dokumen. Untuk dokumen yang rapi per paragraf, \n\n biasanya efektif.
  • Naikkan chunk length bila dokumen banyak definisi panjang yang saling terkait. Namun jangan terlalu besar agar retrieval tidak memasukkan konteks yang terlalu melebar.
  • Pertahankan overlap kecil sampai sedang agar kalimat yang “nyambung” di batas chunk tetap terbaca.
  • Pilih index method “High Quality” bila Anda mengejar akurasi. Pilih “Economical” bila Anda mengejar hemat biaya, dengan konsekuensi potensi penurunan akurasi retrieval.

Anda dapat menekan tombol Preview Chunk untuk melihat hasil pemotongan dokumen sebelum diproses. Ini langkah cepat untuk memastikan chunk tidak terpotong di tengah poin penting.

Jika konfigurasi sudah sesuai, klik Save & Process. Dify akan menjalankan pemrosesan dokumen dan embedding. Setelah selesai, Knowledge Base siap dipakai pada node Knowledge Retrieval di workflow Anda.

2.) Membuat App Baru

Buka Workspace Dify, lalu klik Create from Blank

Pilih App Type:

  • Chatflow: cocok untuk pengalaman chat yang lebih langsung. Untuk tutorial ini, pilih Workflow.
  • Workflow: cocok untuk alur multi-step yang terstruktur (seperti RAG).

Isi informasi aplikasi:

  • App Name
  • Icon
  • Description

Klik Create untuk membuat app.

Catatan: pada tahap ini Anda belum mengatur API key atau konfigurasi model. Tahap ini hanya membuat “wadah” aplikasi dan kanvas workflow-nya.

3.) Menyusun Workflow Sederhana

Setelah app dibuat, Anda akan masuk ke kanvas workflow. Di sini Anda menyusun node sebagai rangkaian proses. Untuk menambahkan node baru, klik Add Node. Workflow minimal yang kita bangun adalah:

  1. User Input → 2) Knowledge Retrieval → 3) Template → 4) HTTP Request → 5) Code → 6) Output

Tujuan alurnya jelas: pengguna bertanya, sistem mengambil konteks dari dokumen, konteks dirapikan, lalu Telkom LLM menyusun jawaban, dan hasilnya ditampilkan sebagai teks yang bersih.

Tambahkan Input Field baru untuk menerima input dari user.

  • Klik node User Input.
  • Tambahkan satu input field untuk pertanyaan user.
  • Set Variable Name dan Field lain seperti Label dan Max Length bisa disesuaikan.

Node ini menjadi sumber pertanyaan yang akan dipakai untuk retrieval dan untuk prompt ke model.

Untuk memanfaatkan fitur Knowledge Retrieval pada Dify, dapat ditambahkan node Knowledge Retrieval. Lakukan konfigurasi pada node Knowledge Retrieval untuk mengatur input yang diterima dan Knowledge yang akan digunakan.

Catatan: Pastikan telah membuat Knowledge terlebih dahulu sebelum menambahkan node Knowledge Retrieval

  • Tambahkan node Knowledge Retrieval.
  • Pilih Knowledge Base yang sudah Anda buat pada tahap sebelumnya.
  • Pada bagian query input, gunakan variabel question dari User Input.

Output node ini adalah kumpulan potongan dokumen relevan (chunks). Bentuknya list, bukan teks tunggal.

Sebelum memanggil Telkom LLM, Anda perlu node Template untuk mengubah output Knowledge Retrieval menjadi teks konteks yang rapi.

Alasannya teknis namun penting:

  • Knowledge Retrieval mengembalikan list chunks (array objek berisi content dan metadata).
  • Endpoint chat completions membutuhkan messages[].content berupa string.

Template berfungsi sebagai “renderer” yang menyatukan chunks menjadi satu blok teks konteks dengan format konsisten. Format konsisten membantu model memahami mana konteks dan mana pertanyaan, sekaligus memudahkan pembaca menelusuri sumber.

Konfigurasi Input Variable dari Knowledge Retrieval serta tambahkan code agar merubah array menjadi satu String.

  • Tambahkan node Template.
  • Di bagian Input Variables, buat variabel bernama kb dan map nilainya ke output node Knowledge Retrieval (biasanya result).
  • Untuk Uji coba, dapat ditempel Template Code berikut.
JSON
{% set chunks = kb %}
{% if chunks and (chunks | length) > 0 %}
KONTEKS:
{% for c in chunks %}
[Sumber {{ loop.index }}]
{{ c.content | default(c.text) | default(c) }}
{% endfor %}
{% else %}
KONTEKS kosong.
{% endif %}

Output Template ini adalah satu string konteks. Nantinya string ini yang dikirim ke model bersama pertanyaan user.

Tambahkan node HTTP Request untuk memanggil Telkom LLM melalui API Apilogy.

  • Method: POST
  • URL: gunakan endpoint chat completions Telkom LLM (pastikan satu baris, tidak ada newline).
  • Headers:
  • Content-Type: application/json
  • x-api-key: <API_KEY>
    Disarankan menyimpan API key sebagai secret atau environment variable bila tersedia, agar tidak tertulis di workflow.

Pada konfigurasi Body, pilihlah opsi JSON, lalu susun payload agar messages berisi:

  • instruksi sistem (system prompt),
  • gabungan konteks dari Template + pertanyaan dari User Input.

Prinsipnya, content pada pesan user harus memuat dua hal: KONTEKS (hasil retrieval) dan PERTANYAAN (input user). Ini memastikan jawaban model bersandar pada konteks yang disediakan.

Sebelum kita arahkan node HTTP Request ke node output, mari kita tambahkan node baru yaitu Code. Respons dari chat completions umumnya berupa JSON yang panjang. Agar output di aplikasi rapi, tambahkan node Code untuk mengambil hanya isi jawaban choices[0].message.content. Pada node ini kita akan membuat suatu script untuk mengambil hanya content message yang diberikan dari HTTP Request saja agar di output nanti akan terlihat rapih.

  • Tambahkan node Code.
  • Buat input variable:
  • raw_body diambil dari output body milik node HTTP Request.
  • Untuk uji coba, dapat ditempel template script berikut.
JavaScript
function main({ raw_body }) {
let data;
try {
data = JSON.parse(raw_body);
} catch (e) {
return { answer: String(raw_body ?? "") };
}
const content = (data?.choices?.[0]?.message?.content) ?? "";
return { answer: content };
}

Setelah node Code selesai dikonfigurasi, tahap terakhir ialah menghubungkan node tersebut pada node Output. Seperti namanya, node output bertujuan untuk mengirimkan output dari hasil pipeline workflow yang telah dibuat sebelumnya.

Jika pipeline workflow dirasa sudah cukup, dapat dilakukan Test Run dengan menekan tombol tersebut dibagian kanan atas. Saat Test Run, diminta untuk memasukan input yang diinginkan. Mari kita coba bertanya terkait Terms and Conditions produk Apilogy.

Jika input sudah diisi, jalankan pipeline dengan menekan tombol Start Run. Tunggulah Workflow berjalan. Setelah selesai Output dari workflow akan langsung tampil.

Jika workflow berhasil, output akan menampilkan jawaban dalam format yang sudah dirapikan oleh node Code. Pada tahap ini, Anda sudah memiliki implementasi RAG paling minimal di Dify. Pertanyaan pengguna masuk, sistem mengambil konteks dari knowledge base, Telkom LLM dipanggil melalui HTTP Request, lalu jawaban dikembalikan sebagai teks siap pakai. Jika hasilnya konsisten, langkah berikutnya cukup melakukan Publish agar workflow dapat digunakan sebagai aplikasi atau endpoint.

Setelah workflow dipublikasikan, Dify menyediakan beberapa cara untuk menjalankannya. Tombol Run App akan membuka antarmuka aplikasi sehingga workflow bisa dicoba seperti chatbot oleh pengguna akhir. Jika Anda perlu membagikan demo, gunakan Open in Explore untuk membuka tampilan aplikasi yang dapat diakses melalui URL.

Di sisi integrasi, menu Access API Reference menampilkan dokumentasi endpoint agar workflow dapat dipanggil oleh sistem lain. Selain itu, untuk implementasi cepat di website internal, tampilan chatbot dapat disematkan menggunakan iframe dengan mengarahkan src ke URL aplikasi yang dibuka melalui Run App atau Explore.

HTML
<iframe
src="PASTE_URL_APP_DIFY_DI_SINI"
style="width:100%; height:720px; border:0; border-radius:12px;"
loading="lazy">
</iframe>

Kesimpulan

Dify membantu mengubah ide chatbot berbasis LLM menjadi aplikasi yang terstruktur karena setiap langkah, mulai dari input, retrieval, pemanggilan model, hingga output, dapat dirancang dan diuji secara eksplisit. Melalui pendekatan RAG, jawaban tidak hanya bergantung pada kemampuan generatif model, tetapi juga pada konteks dokumen yang dapat ditelusuri. Di sisi lain, fleksibilitas node HTTP Request membuka ruang integrasi ke model eksternal. Telkom LLM di Apilogy dapat diposisikan sebagai mesin generatifnya, sementara Dify menangani orkestrasi dan retrieval. Dengan demikian, Anda dapat membangun aplikasi berbasis dokumen yang lebih konsisten, mudah dipelihara, dan siap diintegrasikan ke kebutuhan produk maupun operasional.

Kunjungi website serta media sosial Apilogy dan temukan artikel menarik lainnya!

Related

n8n : Implementasi RAG menggunakan model Telkom LLM & Text Embedding

Popular Posts

n8n : Implementasi RAG menggunakan model Telkom LLM & Text Embedding
Dify AI: Workflow Builder untuk Aplikasi LLM. Tutorial RAG dengan Telkom LLM di Apilogy
Bahaya Spoofing terhadap Cybersecurity
User Guide - How to Publish your API