Bangun sistem Generasi yang Diperkaya dengan Pengambilan Data (RAG) dengan Vector Retrieval Service for Milvus (Milvus) dan platform Dify.
Latar Belakang
Prinsip RAG
Model bahasa besar dapat mengalami “halusinasi”—menghasilkan informasi yang tidak akurat—ketika pengetahuan internalnya terbatas. Generasi yang Diperkaya dengan Pengambilan Data (RAG) mengatasi masalah ini dengan menghubungkan model ke basis pengetahuan eksternal. Sistem RAG yang efisien memerlukan database vektor yang andal.
Topik ini menjelaskan cara mengintegrasikan Milvus dan Dify untuk membangun aplikasi RAG tingkat enterprise yang menunjukkan nilai database vektor dalam menyelesaikan masalah "last mile" di bidang AI.
Dify
Dify adalah platform pengembangan aplikasi AI open-source berbasis alur kerja low-code yang menyederhanakan pembuatan aplikasi AI melalui integrasi backend-as-a-service (BaaS) dan LLMOps.
Dify menyediakan infrastruktur backend (layanan API, manajemen data) sehingga pengembang tidak perlu membangun dari awal. Antarmuka orkestrasi prompt visualnya menyederhanakan rekayasa prompt. Mesin RAG bawaannya terhubung ke basis pengetahuan privat seperti dokumen dan database perusahaan, memungkinkan LLM menghasilkan jawaban spesifik domain yang akurat dan dapat dilacak serta mengurangi halusinasi.
Prasyarat
-
Instans Milvus telah dibuat. Create a Milvus instance.
-
Alibaba Cloud Model Studio telah diaktifkan dan Kunci API telah diperoleh. Dapatkan App ID dan Workspace ID.
-
Docker dan Docker Compose telah diinstal. Install and use Docker and Docker Compose.
Prosedur
Langkah 1: Instal Dify
-
Klon proyek open-source Dify dari GitHub ke mesin lokal Anda.
git clone https://github.com/langgenius/dify.git -
Masuk ke direktori deployment dan backup file konfigurasi .env.
cd dify/docker/ cp .env.example .env -
Ubah pengaturan berikut dalam file .env.
# Vector storage engine configuration VECTOR_STORE=milvus # Specifies Milvus as the vector storage engine # Milvus connection information MILVUS_URI=http://YOUR_ALIYUN_MILVUS_ENDPOINT:19530 MILVUS_USER=YOUR_ALIYUN_MILVUS_USER MILVUS_PASSWORD=YOUR_ALIYUN_MILVUS_PASSWORDGanti nilai placeholder dengan informasi aktual Anda.
Parameter
Deskripsi
MILVUS_URITitik akhir instans Milvus. Formatnya adalah
http://<public IP address>:<port>.-
<public IP address>: Tersedia di halaman Details instans Milvus Anda. -
<port>: Tersedia di halaman Details instans Milvus Anda. Nilai default-nya adalah 19530.
MILVUS_USERUsername yang Anda tetapkan saat membuat instans Milvus.
MILVUS_PASSWORDPassword untuk user yang Anda tetapkan saat membuat instans Milvus.
-
-
Jalankan Dify.
docker compose up -d --build[root@xxx /docker]# docker compose up -d --build [+] Running 15/15 ✔ Network docker_default Created ✔ Network docker_milvus Created ✔ Network docker_ssrf_proxy_network Created ✔ Container docker-db-1 Healthy ✔ Container docker-redis-1 Started ✔ Container docker-sandbox-1 Started ✔ Container milvus-etcd Started ✔ Container milvus-minio Started ✔ Container docker-ssrf_proxy-1 Started ✔ Container docker-web-1 Started ✔ Container docker-plugin_daemon-1 Started ✔ Container docker-worker-1 Started ✔ Container docker-api-1 Started ✔ Container milvus-standalone Started ✔ Container docker-nginx-1 Started -
Buka
http://127.0.0.1/di browser untuk mengakses Dify. Tetapkan akun administrator dan kata sandi, lalu login.CatatanJika Dify dijalankan pada server remote (instans ECS atau mesin virtual), ganti
127.0.0.1dengan Alamat IP publik atau Nama domain server tersebut. Pastikan server dapat diakses secara publik.Masukkan Email, Username, dan Password Anda (minimal 8 karakter, terdiri atas huruf dan angka), lalu klik Set up.
Langkah 2: Konfigurasi model
-
Klik foto profil Anda di pojok kanan atas dan pilih Settings.
-
Di panel navigasi sebelah kiri, pilih Model Provider. Temukan Qwen dan klik Install.
-
Setelah model terinstal, pilih model tersebut dan masukkan kunci API dari Alibaba Cloud Model Studio.
-
Di panel System Model Settings, konfigurasikan System Inference Model, Embedding Model, Rerank Model, speech-to-text model, dan text-to-speech model, lalu klik Save.
Langkah 3: Buat basis pengetahuan
-
Di bagian atas halaman, klik Knowledge, lalu klik Create Knowledge.
-
Untuk Data source, pilih Import Existing Text. Unduh data sampel (README.md) dan unggah.
-
Ubah parameter sesuai kebutuhan dan klik Save & Process.
Gunakan nilai default untuk parameter utama: metode pengindeksan High quality, pengaturan pengambilan vector retrieval, Rerank Model gte-rerank diaktifkan, Top K 3, Score Threshold 0,5.
Pada contoh ini, ubah parameter berikut:
-
Maximum chunk length: Atur menjadi 1024.
-
Embedding Model: Pilih text-embedding-v1.
Setelah pemrosesan selesai, basis pengetahuan berhasil dibuat.
Rangkuman mengonfirmasi pengaturan: mode chunking Custom, pra-pemrosesan teks menggantikan spasi/baris baru/tab yang berurutan, metode pengindeksan High quality, pengaturan pengambilan vector retrieval. Klik Go to Documentation untuk melihat detailnya.
-
Langkah 4: Verifikasi pengambilan vektor
Login ke Konsol Vector Retrieval Service for Milvus. Pilih instans Milvus Anda dan klik Attu Manager di pojok kanan atas. Di halaman Attu, verifikasi bahwa koleksi yang sesuai telah dibuat. Attu tool management.
Langkah 5: Verifikasi kinerja RAG
-
Klik Studio di bagian atas halaman, lalu pilih Create from Template.
-
Cari dan pilih templat Knowledge Retrieval + Chatbot.
-
Di kotak dialog, klik Create.
-
Pilih node Knowledge Retrieval dan atur basis pengetahuan ke basis pengetahuan yang telah Anda buat pada langkah sebelumnya.
Alur kerja menghubungkan node dalam urutan berikut: START → KNOWLEDGE RETRIEVAL → LLM (qwen-max) → ANSWER. Variabel kueri adalah
sys.query. -
Pilih node LLM dan atur model ke qwen-max.
-
Di pojok kanan atas, klik Publish, lalu klik Publish Update.
-
Klik Run untuk membuka halaman uji. Masukkan pertanyaan yang terkait dengan konten basis pengetahuan untuk memverifikasi jawabannya.