Sistem tanya jawab perusahaan sering kesulitan memberikan jawaban yang akurat. Dengan membangun aplikasi RAG (retrieval-augmented generation) yang mengintegrasikan Dify dengan Alibaba Cloud Tablestore sebagai database vektor, Anda dapat mencapai pengambilan pengetahuan yang sangat akurat dan menjawab pertanyaan secara cerdas.
Cara kerja
Tablestore adalah database vektor berkinerja tinggi yang menyediakan respons kueri dalam hitungan milidetik. Layanan ini mendukung pencarian hibrida yang menggabungkan pengambilan berbasis vektor dan teks lengkap. Satu tabel dapat menyimpan puluhan miliar titik data vektor. Dify melakukan orkestrasi aplikasi dan menyediakan antarmuka pengguna, sehingga menyederhanakan proses pembuatan dan penerapan aplikasi RAG.
Aplikasi RAG menerapkan tanya jawab cerdas melalui proses inti berikut:
Vektorisasi pengetahuan: Dify secara otomatis membagi dokumen perusahaan menjadi segmen-segmen pengetahuan, mengonversinya menjadi representasi vektor, lalu menyimpannya di database vektor Tablestore.
Pencarian kemiripan: Ketika pengguna mengajukan pertanyaan, sistem dengan cepat mengambil segmen pengetahuan yang paling relevan dari Tablestore.
Generasi yang diperkaya: Pengetahuan yang diambil digabungkan dengan pertanyaan pengguna dan dimasukkan ke dalam model bahasa besar untuk menghasilkan jawaban yang akurat dan berdasarkan fakta.
Siapkan lingkungan penerapan
Buat instans Tablestore
Tablestore berfungsi sebagai database vektor untuk aplikasi RAG. Layanan ini menyimpan representasi vektor dokumen Anda dan menyediakan pencarian kemiripan yang efisien.
Masuk ke Konsol Tablestore. Di bagian atas halaman, pilih wilayah untuk instans, misalnya
China (Hangzhou).Klik Create Instance dan pilih CU Mode (formerly On-demand Mode). Atur parameter instans seperti yang dijelaskan dalam daftar berikut. Gunakan pengaturan default untuk item konfigurasi lainnya.
Instance Name: Masukkan nama untuk instans.
Instance Type: Pilih High-performance.
Klik OK untuk membuat instans.
Buat instans ECS
Instans ECS berfungsi sebagai lingkungan runtime untuk aplikasi Dify. Instans ini memerlukan sumber daya komputasi yang cukup untuk mendukung kluster kontainer Docker.
Buat instans ECS dengan konfigurasi berikut. Anda dapat menggunakan pengaturan default untuk parameter lainnya.
Billing Method: Pilih Pay-As-You-Go.
Region: Pilih wilayah untuk instans. Untuk alasan jaringan, tutorial ini menggunakan wilayah China (Hong Kong).
Network and Zone: Pilih Virtual Private Cloud (VPC) dan zona default.
Instance: Klik All Instance Types, lalu cari dan pilih
ecs.e-c1m2.large.CatatanJika tipe instans ini habis, pilih tipe lainnya.
Images: Pilih Public Image dan pilih Alibaba Cloud Linux (Alibaba Cloud Linux 3.2104 LTS 64-bit).
System Disks: Atur kapasitas disk ESSD Entry menjadi 40 GiB.
Public IP Address: Pilih Assign Public IPv4 Address.
Bandwidth Billing Method: Pilih Pay-by-traffic untuk menghemat biaya.
Maximum Bandwidth: Pilih 5 Mbps atau lebih tinggi.
Security Group: Pilih Existing Security Group.
Logon Credential: Pilih Custom Password, atur nama logon menjadi root, dan tetapkan Logon Password Anda. Simpan kata sandi di tempat yang aman.
Terapkan dan akses Dify
Langkah 1: Instal lingkungan Docker
Dify menggunakan penerapan berbasis kontainer. Anda harus terlebih dahulu menginstal Docker dan Docker Compose pada instans ECS Anda untuk mengelola orkestrasi kontainer.
Instal plug-in dnf-plugins-core.
dnf -y install dnf-plugins-coreTambahkan repositori resmi Docker.
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoInstal Docker Engine dan Docker Compose.
dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginJalankan layanan Docker dan aktifkan agar berjalan otomatis saat sistem boot.
systemctl enable --now docker
Langkah 2: Terapkan layanan Dify
Selanjutnya, ambil kode sumber Dify dan konfigurasikan variabel lingkungan, termasuk parameter koneksi ke Tablestore sebagai database vektor.
Instal tool kontrol versi Git.
yum -y install gitKlon repositori Dify.
git clone https://github.com/langgenius/dify.gitBuka direktori penerapan Docker.
cd dify/dockerSalin templat file lingkungan.
cp .env.example .envEdit file lingkungan.
vi .envUbah item konfigurasi berikut:
Parameter
Deskripsi
VECTOR_STORE
Jenis database vektor. Atur nilai ini ke
tablestore.TABLESTORE_ENDPOINT
PentingSecara default, instans Tablestore baru memiliki akses jaringan publik yang dinonaktifkan. Untuk menggunakan titik akhir publik, buka Konsol Tablestore. Di halaman Instance Management, buka tab Network Management. Di bagian Allowed Network Type, pilih Internet dan klik Configure untuk menyimpan konfigurasi.
Buka Konsol Tablestore. Di Instances, klik alias instans untuk membuka halaman Instance Management. Salin nama instans dan titik akhirnya. Pilih titik akhir berdasarkan penerapan Anda:
Jika instans ECS dan instans Tablestore berada di wilayah yang sama, Anda dapat menggunakan titik akhir publik atau VPC.
Jika instans ECS dan instans Tablestore berada di wilayah berbeda, Anda harus menggunakan titik akhir publik.
TABLESTORE_INSTANCE_NAME
TABLESTORE_ACCESS_KEY_ID
Buka halaman AccessKey Management untuk membuat AccessKey untuk Akun Alibaba Cloud Anda. Dapatkan dan simpan ACCESS_KEY_ID serta ACCESS_KEY_SECRET.
TABLESTORE_ACCESS_KEY_SECRET
Jalankan kluster kontainer Dify.
docker compose up -dJika berhasil dijalankan, akan muncul output berikut:
✔ Network docker_default Created 0.1s ✔ Network docker_ssrf_proxy_network Created 0.1s ✔ Container docker-sandbox-1 Started 0.8s ✔ Container docker-redis-1 Started 1.0s ✔ Container docker-ssrf_proxy-1 Started 1.3s ✔ Container docker-web-1 Started 1.0s ✔ Container docker-db-1 Started 0.9s ✔ Container docker-plugin_daemon-1 Started 2.4s ✔ Container docker-api-1 Started 2.4s ✔ Container docker-worker-1 Started 2.3s ✔ Container docker-nginx-1 Started 3.8s
Langkah 3: Konfigurasikan aturan akses grup keamanan
Untuk mengakses antarmuka manajemen Dify dari internet, buka port yang diperlukan di grup keamanan ECS.
Buka Konsol ECS. Untuk instans target, klik .
Konfigurasikan aturan grup keamanan: Atur Action ke Allow dan Protocol Type ke Web HTTP Traffic Access. Untuk Destination, masukkan port layanan Dify (default adalah 80).
Atur Priority ke
1dan Source ke0.0.0.0/0untuk mengizinkan akses dari alamat IPv4 mana pun.Klik OK untuk menyimpan aturan.
Langkah 4: Akses antarmuka Dify
Buka browser dan kunjungi http://server_ip, di mana server_ip adalah Alamat IP publik instans ECS Anda. Saat pertama kali mengakses halaman ini, Anda akan diarahkan ke halaman inisialisasi. Ikuti petunjuk untuk menyiapkan akun administrator. Setelah penyiapan selesai, sistem akan langsung masuk secara otomatis.
Halaman inisialisasi mencakup bidang Email, Username, dan Password. Kata sandi harus mengandung huruf dan angka serta minimal terdiri dari 8 karakter. Setelah mengisi detailnya, klik Setup.
Bangun aplikasi RAG dan verifikasi hasilnya
Langkah 1: Konfigurasikan layanan model dan kunci API
Aplikasi RAG memerlukan model bahasa besar untuk memahami pertanyaan dan menghasilkan jawaban, serta model Embedding untuk mengonversi teks menjadi representasi vektor.
Instal penyedia model dan konfigurasikan kunci API-nya.
Di halaman utama Dify, klik avatar pengguna Anda, lalu klik Settings di menu drop-down.
Di halaman Settings, klik Model Provider, pilih Tongyi, lalu klik Install.
Setelah instalasi, di daftar model yang perlu dikonfigurasi, klik Setup.
Tombol Setup terletak di area API-KEY pada kartu penyedia model (misalnya, Tongyi).
Ikuti petunjuk di layar untuk mendapatkan API key dari Alibaba Cloud Model Studio dan masukkan di sini. Lalu, klik Save.
Di formulir konfigurasi, atur Use International Endpoint ke No.
Konfigurasikan model sistem default.
Di halaman Model Provider, klik System Model Settings di sebelah kanan Model List.
Gunakan model rekomendasi berikut, atau pilih model lain yang sesuai dengan kebutuhan Anda.
System Reasoning Model: Pilih qwen3-max-preview.
Embedding Model: Pilih text-embedding-v4.
Rerank Model: Pilih gte-rerank-v2.
Speech-to-Text Model: Pilih paraformer-realtime-v2.
Text-to-Speech Model: Pilih tts-1.
Setelah mengonfigurasi model, tekan tombol ESC untuk kembali ke halaman utama Dify.
Langkah 2: Buat basis pengetahuan
Basis pengetahuan merupakan komponen inti aplikasi RAG. Komponen ini menyimpan dokumen perusahaan dan menyediakan pengambilan informasi cerdas.
Di halaman utama Dify, klik Knowledge, lalu klik Create Knowledge.
Klik I want to create an empty Knowledge. Di kotak dialog Create an empty Knowledge, masukkan nama untuk basis pengetahuan (misalnya, Tablestore), lalu klik Create.
Di halaman detail basis pengetahuan, klik Add file. Pilih file contoh Model_Studio_Series_Mobile_Phone_Product_Introduction.docx, lalu klik Next untuk mengonfigurasi segmentasi dan pembersihan teks.
Konfigurasikan parameter pemrosesan: atur Index Method ke High Quality dan Retrieval Setting ke hybrid search. Setelah mengonfigurasi parameter, klik Save & Process. Anda dapat mengklik Go to document untuk memeriksa status pemrosesan dokumen yang diunggah.
Saat dokumen telah diproses, kolom status akan menampilkan Available.
Anda dapat membuka Konsol Tablestore untuk melihat data pengetahuan yang disimpan di database vektor.
Di tab Data Management tabel indeks vektor, setiap catatan data pengetahuan mencakup kolom id (primary key), metadata, metadata_tags, page_content, dan vector. Hal ini menunjukkan bahwa dokumen pengetahuan telah berhasil diurai dan ditulis ke database sebagai penyematan vektor.
Langkah 3: Buat asisten dan verifikasi RAG
Akhirnya, buat aplikasi chatbot. Dengan membandingkan tanggapannya sebelum dan sesudah menambahkan basis pengetahuan, Anda dapat memverifikasi kemampuan retrieval-augmented dari aplikasi RAG.
Di halaman utama Dify, klik Studio, lalu klik Create from Blank.
Pilih templat Beginner-friendly, lalu pilih tipe aplikasi Chatbot. Masukkan nama untuk aplikasi dan klik Create.
Setelah dibuat, Anda akan diarahkan ke antarmuka konfigurasi Orchestrate.
Uji chatbot dengan mengajukan pertanyaan, misalnya,
What are the Model Studio phone models?. Pada tahap ini, jawaban asisten mungkin tidak akurat atau kurang detail.Pada titik ini, belum ada Knowledge yang ditambahkan di halaman Orchestrate, dan prompt-nya kosong. Tanggapan asisten hanya didasarkan pada pengetahuan umum model besar. Asisten mengartikan "Model Studio" sebagai platform layanan model besar Alibaba Cloud, bukan domain bisnis yang dimaksud, sehingga mengonfirmasi ketidakakuratannya.
Di halaman Orchestrate aplikasi, klik Add di sebelah Knowledge, pilih basis pengetahuan yang telah Anda buat sebelumnya, lalu klik Restart untuk mengatur ulang area debugging sesuai permintaan.
Ajukan pertanyaan yang sama kepada chatbot lagi. Dengan menggunakan basis pengetahuan, asisten dapat memberikan jawaban yang akurat dan detail.
Bagian Citations di bawah balasan asisten menampilkan dokumen sumber yang diambil. Mode pengambilan basis pengetahuan dikonfigurasi sebagai High Quality·Hybrid Search.
Beralih ke produksi
Praktik terbaik
Untuk memastikan ketersediaan tinggi aplikasi Dify di lingkungan produksi, kami merekomendasikan menerapkannya di ACK. Untuk rencana implementasi terperinci, lihat solusi Quickly deploy Dify to build AI applications dan pilih opsi penerapan produksi (menggunakan ACK).
Manajemen risiko
Kontrol akses: Kelola akses sumber daya dengan Pengguna RAM. Kendalikan cakupan izin secara ketat, hanya memberikan izin operasional yang diperlukan terkait Tablestore dan ECS.
Audit: Aktifkan ActionTrail untuk mencatat semua operasi akses dan modifikasi pada sumber daya kritis, sehingga semua tindakan dapat dilacak.
Backup data: Secara berkala backup data Tablestore Anda untuk mencegah kehilangan data akibat kegagalan tak terduga atau kesalahan manusia.
Bersihkan sumber daya
Setelah menyelesaikan tutorial ini, jika Anda tidak berencana menerapkan aplikasi di lingkungan produksi, segera bersihkan sumber daya cloud untuk menghindari biaya yang tidak perlu.
Lepaskan instans ECS
Buka Konsol ECS, temukan instans target, klik , lalu ikuti petunjuk di layar untuk melepaskan instans.
Hapus tabel data Tablestore
Buka Konsol Tablestore. Di Instances, klik alias instans target. Di halaman Instance Management, pertama-tama klik Indexes di sebelah kanan tabel data target. Di halaman Indexes, hapus indeks pencarian. Kemudian, kembali ke daftar tabel data, lalu di sebelah kanan tabel data target, klik untuk menghapus tabel data.
Lepaskan instans Tablestore
Buka Konsol Tablestore. Di daftar instans, temukan instans target dan klik Release di kolom Actions.
Klik OK untuk melepaskan instans. Jika diminta verifikasi identitas, ikuti petunjuk di layar.