All Products
Search
Document Center

Platform For AI:Terapkan sistem chat LLM RAG di PAI-EAS

Last Updated:Apr 02, 2026

Terapkan sistem chat Retrieval-Augmented Generation (RAG) di PAI-EAS dengan model LLM dan database vektor pilihan Anda.

Versi yang berlaku

Topik ini berlaku untuk RAG v0.4.x. Untuk versi sebelumnya, lihat PAI-RAG (v0.3.x).

Langkah 1: Terapkan layanan RAG

  1. Login ke Konsol PAI. Pilih wilayah di bagian atas halaman, lalu pilih ruang kerja yang diinginkan dan klik Elastic Algorithm Service (EAS).

  2. Pada tab Inference Service, klik Deploy Service. Di bagian Scenario-based Model Deployment, klik RAG-based Smart Dialogue Deployment.

  3. Pada halaman RAG-based LLM Chatbot Deployment, konfigurasikan parameter kunci berikut:

    • Version: Pilih LLM Decoupled Deployment untuk hanya menerapkan layanan RAG. Canary Release

      Catatan

      Menyebarkan layanan RAG dan LLM dalam instans yang sama hanya disarankan untuk model yang lebih kecil. Model yang lebih besar memerlukan lebih banyak resource.

    • RAG Version: pai-rag:0.4.3.

    • Resource Information:

      • Resource Type: Pilih Public Resources.

      • Deployment: Layanan RAG mengonsumsi resource minimal. Pilih spesifikasi dengan minimal 8 vCPU dan memori 16 GB, seperti ecs.c7.2xlarge atau ecs.c7.4xlarge.

    • Pengaturan database vektor:

      • Vector Database Type: Pilih FAISS untuk database vektor lokal agar cepat memulai. Untuk lingkungan produksi, gunakan database vektor tingkat produksi. Untuk detailnya, lihat Gunakan database vektor Alibaba Cloud.

      • OSS Path: Direktori penyimpanan OSS yang sudah ada di wilayah saat ini untuk file basis pengetahuan. Untuk membuatnya, lihat Panduan cepat di konsol.

    • VPC: Untuk mengakses Alibaba Cloud Model Studio melalui internet publik, konfigurasikan VPC dengan gerbang NAT publik dan entri SNAT. Untuk detailnya, lihat Izinkan layanan EAS mengakses internet publik.

  4. Klik Deploy. Proses deployment membutuhkan waktu sekitar 5 menit. Ketika Service Status berubah menjadi Running, deployment telah selesai.

Langkah 2: Uji tanya jawab basis pengetahuan

Pada tab Inference Services, temukan layanan RAG yang telah diterapkan dan buka halaman detailnya. Klik Web applications di pojok kanan atas untuk membuka antarmuka web.

image

2.1 Konfigurasikan LLM

Di pojok kiri bawah, klik Settings > Model untuk membuka halaman konfigurasi model. Contoh berikut menggunakan qwen3-8b dari Alibaba Cloud Model Studio. Untuk detailnya, lihat Konfigurasi model.

Catatan
  • Model ID: Identifier untuk memilih model dalam percakapan. Contoh: Qwen3-8B_bailian.

  • Endpoint URL: Alamat layanan model. Contoh untuk Alibaba Cloud Model Studio di wilayah China (Beijing): https://dashscope.aliyuncs.com/compatible-mode/v1.

    Penting

    URL harus diakhiri dengan /v1 atau /v2. Untuk layanan EAS, tambahkan /v1 ke titik akhir layanan.

  • API key: Lihat Dapatkan API key.

  • Nama model: Masukkan qwen3-8b.

image

2.2 Tambahkan basis pengetahuan

Model penyematan default telah dikonfigurasi sebelumnya. Anda dapat langsung membuat basis pengetahuan dan mengunggah dokumen.

  1. Buat basis pengetahuan. Di panel navigasi kiri, klik Knowledge Base, lalu klik Create Knowledge Base.

    imageSebagai contoh, untuk membuat basis pengetahuan tentang spesifikasi teknis iPhone 16, atur nama menjadi iPhone16 dan biarkan parameter lain tetap default.image

  2. Unggah file. Pada tab File Management, klik Upload File. Setelah file diunggah, klik Start Parsing. Contoh: iPhone 16 and iPhone 16 Plus - Technical Specifications - Apple (CN).pdf.image

  3. Lihat file basis pengetahuan. Setelah unggahan berhasil, klik nama file untuk melihat pembagian dokumen (chunking).

  4. Uji pengambilan. Beralih ke tab Retrieval Test dan masukkan kueri seperti iPhone16 untuk menguji pengambilan dari basis pengetahuan.

    image

2.3 Tanya jawab basis pengetahuan

  1. Di panel navigasi kiri, klik New Chat. Di bagian atas halaman chat, pilih model. Di bagian bawah, klik Knowledge Base, pilih basis pengetahuan seperti iPhone16, klik Activate, lalu klik Save.

    Catatan

    Uji konfigurasi model dalam percakapan sebelum mengaktifkan basis pengetahuan.

    image

  2. Masukkan pertanyaan Anda di kotak chat.image

Langkah 3: Jelajahi mode tanya jawab lanjutan

Tanya jawab multimodal

Tanya jawab multimodal memerlukan variabel lingkungan OSS untuk penyimpanan file dan model multimodal.

  1. Konfigurasikan variabel lingkungan penyimpanan OSS untuk layanan RAG. Deployment berbasis skenario tidak mendukung variabel lingkungan secara langsung. Pada halaman deployment layanan, klik Convert to Custom Deployment di pojok kanan atas. Untuk layanan yang sudah ada, klik Update untuk membuka halaman deployment. Di bagian Environment Information, tambahkan variabel lingkungan berikut:

    • FILE_STORE_TYPE: oss.

    • OSS_BUCKET: Nama bucket OSS Anda.

      Catatan

      Saat FILE_STORE_TYPE diatur ke oss, direktori bernama pairag_knowledgebases akan dibuat secara otomatis di OSS_BUCKET untuk menyimpan file basis pengetahuan dan lampiran chat yang diunggah. Jika FILE_STORE_TYPE tidak diatur, file disimpan di direktori OSS yang dimount.

    • OSS_ENDPOINT: Titik akhir OSS. Lihat Wilayah dan titik akhir OSS. Contoh: oss-cn-hangzhou.aliyuncs.com.

    • OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET: ID AccessKey dan Rahasia AccessKey dengan izin AliyunOSSFullAccess.

  2. Konfigurasikan LLM multimodal (seperti seri Qwen-VL). Contoh berikut menggunakan qwen3-vl-plus. Aktifkan sakelar model multimodal.image

  3. Contoh percakapan:image

Agentic Tanya Jawab

Mode ini menggunakan kemampuan reasoning model untuk memanggil tool eksternal seperti pencarian dan peta guna menjawab pertanyaan kompleks.

Alur kerja contoh:

  1. Konfigurasikan model Deep Thinking. Dalam konfigurasi model, aktifkan opsi Deep Thinking.image

  2. Konfigurasikan pencarian.

    image.png

  3. Konfigurasikan Amap MCP. Di pojok kiri bawah, klik Settings > MCP dan konfigurasikan parameter berikut.

    • Nama MCP: amaps

    • Tautan MCP: https://mcp-server-amap-jitptfyoyw.cn-hangzhou.fcapp.run/sse

    • Jenis MCP: SSE

    • Uji percakapan. Di panel navigasi kiri, klik New Chat. Di bagian atas, pilih model Qwen3-8B_bailian. Di bagian bawah, pilih Deep Thinking, Search, dan MCP (aktifkan amaps).

      image

Langkah 4: Evaluasi kinerja RAG

Sistem RAG mencakup modul evaluasi bawaan untuk menganalisis kinerja tanya jawab secara kuantitatif di berbagai konfigurasi.

  1. Buat set data. Di panel navigasi kiri, klik Evaluation. Pada halaman Evaluasi, klik Create Dataset.

    image.png

  2. Impor sampel. Klik set data untuk membuka tugas evaluasi. Pada tab Samples, klik Import Data.

    image

  3. Buat konfigurasi run. Pada tab Run Settings, klik Create Configuration dan sesuaikan pengaturan sesuai kebutuhan.

    image.png

  4. Buat konfigurasi evaluasi. Pada tab Evaluator Settings, klik Create Configuration dan pilih konfigurasi serta jenis evaluator sesuai kebutuhan.

    image.png

  5. Jalankan evaluasi. Pada tab Samples, pilih sampel yang akan dievaluasi dan klik Run Experiment. Masukkan nama dan pilih Run Configuration serta Evaluation Configuration.

    image.png

  6. Lihat hasil. Setelah eksperimen dibuat, halaman detail eksperimen akan terbuka secara otomatis. Atau, beralihlah ke tab Run History dan pilih eksperimen yang dituju.

    image.png

Penerapan produksi

Gunakan database vektor Alibaba Cloud

PAI-RAG mendukung database vektor yang dibangun dengan Elasticsearch, Hologres, OpenSearch, atau RDS for PostgreSQL.

Catatan
  • Hologres, Elasticsearch, dan RDS for PostgreSQL mendukung akses jaringan internal dan internet publik. Akses jaringan internal direkomendasikan.

  • OpenSearch hanya mendukung akses melalui internet publik.

Elasticsearch

Siapkan instans Elasticsearch

Jika belum tersedia instans Elasticsearch, login ke Konsol Alibaba Cloud Elasticsearch dan buat instans dengan pengaturan berikut. Untuk detailnya, lihat Buat instans Alibaba Cloud Elasticsearch.

  • Region and availability zone: Wilayah yang sama dengan layanan PAI-EAS Anda.

  • VPC: VPC yang sama dengan layanan PAI-EAS Anda untuk akses jaringan internal.

  • Instance type: Pilih Standard.

  • Scenario initialization configuration: Pilih General-purpose.

Konfigurasi layanan
Penting

Aktifkan pembuatan indeks otomatis untuk instance Elasticsearch Anda. Di halaman Configuration Management > ES Cluster Configuration, klik Modify Configurations, lalu atur Auto Index Creation ke Allowed. Untuk detail selengkapnya, lihat Konfigurasi parameter YML.

  • Vector Database Type: Pilih Elasticsearch.

  • Private Endpoint and Port: Titik akhir pribadi dan port dari bagian Informasi Dasar pada halaman detail instans. Format: http://<Alamat IP pribadi>:<port>.

  • Index Name: Perilaku tergantung pada nama yang Anda masukkan.

    • Nama baru: PAI-EAS secara otomatis membuat indeks yang kompatibel dengan PAI-RAG selama deployment.

      Penting

      Secara default, Alibaba Cloud Elasticsearch tidak mengizinkan pembuatan Indeks otomatis. Untuk mengaktifkannya, buka halaman Configuration Management > ES Cluster Configuration, klik Modify Configurations, perbarui file YML, lalu atur Auto Index Creation ke Allowed. Untuk informasi selengkapnya, lihat Mengonfigurasi parameter YML.

    • Nama yang sudah ada: PAI-EAS menggunakan indeks yang sudah ada. Pastikan indeks tersebut dibuat oleh layanan PAI-RAG agar strukturnya kompatibel.

  • Account dan Password: Username dan password yang dikonfigurasi saat membuat instans Elasticsearch. Username default: elastic. Untuk mengatur ulang password, lihat Atur ulang password instans.

  • OSS Path: Direktori penyimpanan OSS yang sudah ada di wilayah saat ini untuk manajemen file basis pengetahuan.

Manajemen indeks dengan Kibana

Untuk manajemen indeks, lihat Hubungkan ke kluster Elasticsearch menggunakan klien Kibana.

Hologres

Sebelum memulai, beli instans Hologres.

  • Vector Database Type: Pilih Hologres.

  • Invocation Information: Informasi host VPC. Di Konsol Hologres, buka halaman detail instans. Di bagian Network Information, klik Copy di samping Specified VPC. Host adalah bagian dari endpoint sebelum :80.

  • Database Name: Nama database instans Hologres. Untuk membuatnya, lihat Buat database.

  • Account: Akun pengguna kustom. Untuk membuatnya, lihat Buat pengguna kustom. Untuk Select Member Role, pilih SuperUser.

  • Password: Password untuk akun pengguna kustom.

  • Table Name: Perilaku tergantung pada nama yang Anda masukkan.

    • Nama baru: PAI-EAS secara otomatis membuat tabel yang kompatibel dengan PAI-RAG selama deployment.

    • Nama yang sudah ada: PAI-EAS menggunakan tabel yang sudah ada. Pastikan tabel tersebut dibuat oleh layanan PAI-RAG agar strukturnya kompatibel.

  • OSS Path: Direktori penyimpanan OSS yang sudah ada di wilayah saat ini untuk manajemen file basis pengetahuan.

OpenSearch

Siapkan instans OpenSearch Vector Search Edition

Jika belum tersedia instans OpenSearch, login ke Konsol OpenSearch dan buat instans dengan pengaturan berikut. Untuk detailnya, lihat Beli instans OpenSearch Vector Search Edition.

  • Product Version: Pilih Vector Search Edition.

  • Region and availability zone dan VPC: OpenSearch hanya mendukung akses internet publik. Pengaturan ini tidak perlu sesuai dengan layanan PAI-EAS Anda.

Konfigurasi layanan
  • Vector Database Type: Pilih OpenSearch.

  • Endpoint: Titik akhir publik instans OpenSearch Vector Search Edition Anda.

    Catatan

    Aktifkan akses publik untuk instans OpenSearch Vector Search Edition dan tambahkan alamat IP publik EAS ke daftar izin (allowlist).

  • Instance ID: ID instans dari daftar instans OpenSearch Vector Search Edition.

  • Username dan Password: Username dan password yang dikonfigurasi saat membuat instans OpenSearch Vector Search Edition.

  • Table Name: Buat tabel indeks yang kompatibel terlebih dahulu. Lihat Konfigurasi instans dan gunakan parameter kunci berikut:

    • Pilih templat skenario tujuan umum dan impor file konfigurasi berikut untuk menentukan bidang.

      File konfigurasi bidang

      {
      	"schema": {
      		"summarys": {
      			"parameter": {
      				"file_compressor": "zstd"
      			},
      			"summary_fields": [
      				"id",
      				"embedding",
      				"file_path",
      				"file_name",
      				"file_type",
      				"node_content",
      				"node_type",
      				"doc_id",
      				"text",
      				"source_type"
      			]
      		},
      		"file_compress": [
      			{
      				"name": "file_compressor",
      				"type": "zstd"
      			},
      			{
      				"name": "no_compressor",
      				"type": ""
      			}
      		],
      		"indexs": [
      			{
      				"index_fields": [
      					{
      						"boost": 1,
      						"field_name": "id"
      					},
      					{
      						"boost": 1,
      						"field_name": "embedding"
      					}
      				],
      				"indexer": "aitheta2_indexer",
      				"index_name": "embedding",
      				"parameters": {
      					"enable_rt_build": "true",
      					"min_scan_doc_cnt": "20000",
      					"vector_index_type": "Qc",
      					"major_order": "col",
      					"builder_name": "QcBuilder",
      					"distance_type": "SquaredEuclidean",
      					"embedding_delimiter": ",",
      					"enable_recall_report": "true",
      					"ignore_invalid_doc": "true",
      					"is_embedding_saved": "false",
      					"linear_build_threshold": "5000",
      					"dimension": "1536",
      					"rt_index_params": "{\"proxima.oswg.streamer.segment_size\":2048}",
      					"search_index_params": "{\"proxima.qc.searcher.scan_ratio\":0.01}",
      					"searcher_name": "QcSearcher",
      					"build_index_params": "{\"proxima.qc.builder.quantizer_class\":\"Int8QuantizerConverter\",\"proxima.qc.builder.quantize_by_centroid\":true,\"proxima.qc.builder.optimizer_class\":\"BruteForceBuilder\",\"proxima.qc.builder.thread_count\":10,\"proxima.qc.builder.optimizer_params\":{\"proxima.linear.builder.column_major_order\":true},\"proxima.qc.builder.store_original_features\":false,\"proxima.qc.builder.train_sample_count\":3000000,\"proxima.qc.builder.train_sample_ratio\":0.5}"
      				},
      				"index_type": "CUSTOMIZED"
      			},
      			{
      				"has_primary_key_attribute": true,
      				"index_fields": "id",
      				"is_primary_key_sorted": false,
      				"index_name": "id",
      				"index_type": "PRIMARYKEY64"
      			},
      			{
      				"index_fields": "file_path",
      				"index_name": "file_path",
      				"index_type": "STRING"
      			},
      			{
      				"index_fields": "file_name",
      				"index_name": "file_name",
      				"index_type": "STRING"
      			},
      			{
      				"index_fields": "file_type",
      				"index_name": "file_type",
      				"index_type": "STRING"
      			},
      			{
      				"index_fields": "node_content",
      				"index_name": "node_content",
      				"index_type": "STRING"
      			},
      			{
      				"index_fields": "node_type",
      				"index_name": "node_type",
      				"index_type": "STRING"
      			},
      			{
      				"index_fields": "doc_id",
      				"index_name": "doc_id",
      				"index_type": "STRING"
      			},
      			{
      				"index_fields": "text",
      				"index_name": "text",
      				"index_type": "STRING"
      			},
      			{
      				"index_fields": "source_type",
      				"index_name": "source_type",
      				"index_type": "STRING"
      			}
      		],
      		"attributes": [
      			{
      				"file_compress": "no_compressor",
      				"field_name": "id"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "embedding"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "file_path"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "file_name"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "file_type"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "node_content"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "node_type"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "doc_id"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "text"
      			},
      			{
      				"file_compress": "no_compressor",
      				"field_name": "source_type"
      			}
      		],
      		"fields": [
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "id"
      			},
      			{
      				"user_defined_param": {
      					"multi_value_sep": ","
      				},
      				"multi_value": true,
      				"compress_type": "uniq",
      				"field_type": "FLOAT",
      				"field_name": "embedding"
      			},
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "file_path"
      			},
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "file_name"
      			},
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "file_type"
      			},
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "node_content"
      			},
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "node_type"
      			},
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "doc_id"
      			},
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "text"
      			},
      			{
      				"compress_type": "uniq",
      				"field_type": "STRING",
      				"field_name": "source_type"
      			}
      		],
      		"table_name": "abc"
      	},
      	"extend": {
      		"description": [],
      		"vector": [
      			"embedding"
      		],
      		"embeding": []
      	}
      }
    • Pada Index Schema, pastikan dimensi vektor sesuai dengan dimensi model penyematan. Untuk Distance Type, pilih InnerProduct.

Kelola tabel indeks dan data
  1. Login ke Konsol Alibaba Cloud OpenSearch Vector Search Edition dan klik ID instans yang telah Anda buat untuk membuka halaman Instance Details.

  2. Buka halaman manajemen tabel. Untuk detailnya, lihat Manajemen tabel.image

  3. Pada halaman manajemen vektor, jalankan uji kueri dan kelola data. Untuk detailnya, lihat Manajemen vektor.

RDS for PostgreSQL

Siapkan instans RDS for PostgreSQL
  1. Jika belum tersedia instans RDS for PostgreSQL, buka halaman pembuatan instans RDS, konfigurasikan parameter kunci berikut, dan ikuti petunjuk di layar. Untuk detailnya, lihat Buat instans ApsaraDB RDS for PostgreSQL.

    • Engine: Pilih PostgreSQL.

    • VPC: VPC yang sama dengan layanan PAI-EAS Anda untuk akses jaringan internal.

    • Privileged Account: Di Advanced Settings, pilih Set Now dan konfigurasikan akun database dan password.

  2. Buat database.

    1. Klik nama instans. Di panel navigasi kiri, klik Database Management, lalu klik Create Database.

    2. Pada panel Create Database, konfigurasikan Database (DB) Name. Untuk Authorized Account, pilih akun istimewa. Untuk parameter lainnya, lihat Buat database dan akun.

    3. Klik Create.

Konfigurasi layanan

Sebelum memulai, buat instans RDS for PostgreSQL.

  • Vector Database Type: Pilih RDS PostgreSQL.

  • Host address: Titik akhir internal instans RDS for PostgreSQL Anda, tersedia di halaman Database Connection di Konsol ApsaraDB RDS for PostgreSQL.

  • Port: Default: 5432. Masukkan port aktual jika berbeda.

  • Database: Authorized Account harus berupa Privileged Account. Lihat Buat database dan akun. Pasang ekstensi vector dan jieba untuk database.

  • Table Name: Nama tabel database kustom.

  • Account dan Password: Nama pengguna dan kata sandi yang sah yang dikonfigurasi saat membuat database. Untuk membuat akun istimewa, lihat Membuat database dan akun, lalu pilih Privileged Account sebagai Account Type.

  • OSS Path: Direktori penyimpanan OSS yang sudah ada di wilayah saat ini untuk manajemen file basis pengetahuan.

Manajemen database RDS for PostgreSQL
  1. Buka daftar instans RDS, alihkan ke wilayah instans Anda, lalu klik nama instans.

  2. Di panel navigasi kiri, pilih Database Management. Di kolom Actions, klik SQL Query.

  3. Masukkan Database Account dan Database Password (kredensial akun istimewa), lalu klik Sign in.

  4. Kueri basis pengetahuan yang diimpor.image