All Products
Search
Document Center

:Bangun asisten AI Tanya & Jawab dengan Dify

Last Updated:Jun 16, 2026

Terapkan Dify pada Container Service for Kubernetes (ACK) untuk membuat asisten AI Tanya & Jawab yang dapat diskalakan dan didukung oleh basis pengetahuan perusahaan Anda.

Ikhtisar solusi

Contoh aplikasi AI kustom Dify

2024-08-21_16-01-26 (1)

Contoh aplikasi AI terintegrasi web

2024-08-23_14-14-02 (1)

Siapkan asisten AI Tanya & Jawab khusus dalam tiga langkah:

  1. Instal komponen ack-dify: Buat kluster ACK dan instal komponen ack-dify.

  2. Tambahkan asisten AI Tanya & Jawab: Akses layanan Dify untuk menambahkan asisten AI Tanya & Jawab ke situs web Anda.

  3. Kustomisasi asisten AI Tanya & Jawab: Tambahkan basis pengetahuan khusus untuk meningkatkan akurasi dalam menjawab pertanyaan spesifik domain.

yuque_diagram12

Interaksi antara layanan Dify dan kluster ACK:

Pengenalan Dify

Dify adalah platform pengembangan aplikasi large language model (LLM) open-source yang menggabungkan Backend-as-a-Service (BaaS) dan LLMOps. Platform ini memungkinkan pengembang maupun pengguna non-teknis untuk membangun aplikasi AI generatif siap produksi tanpa harus membangun ulang komponen inti.

Komponen utama arsitektur Dify:

  1. Komponen teknologi inti: Dify mengintegrasikan komponen esensial untuk membuat aplikasi LLM, termasuk kompatibilitas dengan berbagai model, antarmuka desain prompt yang ramah pengguna, sistem Retrieval-Augmented Generation (RAG) berkinerja tinggi, serta arsitektur Agent yang dapat dikustomisasi.

  2. Orkestrasi visual dan operasional: Antarmuka intuitif Dify memungkinkan orkestrasi visual prompt, alur kerja operasional yang disederhanakan, serta manajemen set data yang efisien. Hal ini secara signifikan mempercepat proses pengembangan aplikasi AI, memungkinkan pengembang untuk segera menerapkan atau mengintegrasikan LLM ke dalam sistem yang sudah ada, serta mendukung optimalisasi operasional berkelanjutan.

  3. Templat aplikasi dan kerangka orkestrasi: Dify menyediakan templat aplikasi siap pakai dan kerangka orkestrasi bagi pengembang, sehingga mereka dapat dengan cepat mengembangkan aplikasi AI generatif berbasis large language model. Platform ini juga mendukung penskalaan instan dan mulus untuk memenuhi kebutuhan bisnis yang berubah, mendorong pertumbuhan bisnis.

Bersama-sama, komponen-komponen ini menyediakan platform komprehensif untuk pengembangan dan penerapan aplikasi AI generatif secara cepat.

1. Instal komponen ack-dify

Penerapan satu klik

Jika Anda baru mengenal kluster ACK dan belum familiar dengan proses pembuatannya, klik penerapan satu klik untuk membuat lingkungan runtime Dify. Ini akan menerapkan aplikasi Dify single-instance melalui templat Helm ack-dify dari ACK App Marketplace, cocok untuk pengembangan dan pengujian.

Penting

Sebelum menggunakan penerapan satu klik, pastikan Container Service for Kubernetes (ACK) telah diaktifkan dan diotorisasi. Untuk informasi lebih lanjut, lihat Buat kluster ACK yang dikelola.

Solusi ini menggunakan sumber daya cloud berikut. Untuk informasi penagihan, lihat Penagihan.

Sumber daya cloud

Deskripsi

1 Virtual Private Cloud (VPC)

Menyediakan jaringan pribadi untuk sumber daya cloud seperti instance Elastic Compute Service (ECS) dan kluster ACK.

2 vSwitch

Menghubungkan sumber daya seperti instance ECS dan kluster ACK untuk komunikasi dan isolasi jaringan.

1 security group

Menentukan aturan jaringan inbound dan outbound untuk instance ECS di VPC.

1 instance Classic Load Balancer (CLB)

Menyediakan akses internet ke platform Dify.

1 sistem file NAS

Menyimpan data untuk layanan internal Dify (api dan worker).

1 kluster ACK yang dikelola

Menyebarkan Dify. Pilih minimal satu node dengan 8 vCPU dan memori 16 GiB (misalnya ecs.u1-c1m2.2xlarge) untuk menghindari kekurangan sumber daya.

Prosedur

  1. Klik penerapan satu klik. Di ROS, pilih wilayah Anda, misalnya Tiongkok (Hangzhou). Ikuti templat ROS untuk mengonfigurasi ID zona vSwitch, tipe instans kelompok node, kata sandi, konfirmasi keamanan, dan pengaturan lainnya. Gunakan nilai default untuk sisanya, lalu klik Next: Check and Confirm.

  2. Pembuatan kluster memerlukan waktu sekitar 10 menit. Setelah kluster dibuat, masuk ke Konsol Container Service for Kubernetes. Di panel navigasi sisi kiri, pilih Clusters. Klik kluster target Anda, lalu pilih Workloads > Pods, atur namespace ke dify-system, dan pastikan bahwa komponen ack-dify telah diinstal di kluster.

  3. (Opsional) Jika sebuah pod berstatus Pending, kemungkinan kluster tidak memiliki dependensi PVC untuk ack-dify. Buat sistem file CNFS dan StorageClass NAS untuk kluster tersebut. Untuk informasi lebih lanjut, lihat Kelola sistem file NAS menggunakan CNFS. Untuk informasi troubleshooting eksepsi pod, lihat Troubleshoot pod exceptions.

Setelah komponen ack-dify terinstal, lanjutkan ke langkah berikutnya.

Catatan

Jika Anda sebelumnya telah menggunakan ROS penerapan satu klik untuk menginstal komponen ack-dify, akses publik untuk layanan ack-dify sudah diaktifkan. Anda dapat melewati langkah-langkah di Akses layanan Dify.

Penerapan manual

Jika Anda sudah familiar dengan proses pembuatan kluster ACK, ikuti langkah-langkah berikut untuk membuat kluster sesuai kebutuhan Anda.

1.1 Prasyarat

  1. Kluster ACK Pro, versi 1.22 atau lebih baru, telah dibuat. Untuk informasi lebih lanjut, lihat Buat kluster ACK yang dikelola dan Upgrade kluster.

    Siapkan minimal 2 vCPU dan memori 4 GB. Pastikan plugin penyimpanan CSI dan sistem file CNFS telah dikonfigurasi.

    Konfigurasikan plugin penyimpanan CSI (untuk kluster baru)

    Saat membuat kluster, pilih Dynamically Provision Volumes by Using Default NAS File Systems and CNFS, Enable NAS Recycle Bin, and Support Fast Data Restore

    image

    Konfigurasikan sistem file CNFS dan StorageClass NAS (untuk kluster yang sudah ada)

    Jika kluster yang sudah ada dibuat tanpa sistem file NAS default dan CNFS, periksa apakah StorageClass bernama alibabacloud-cnfs-nas tersedia di kluster.

    kubectl get sc alibabacloud-cnfs-nas

    Jika perintah mengembalikan error NotFound, berarti kluster kekurangan dependensi PVC untuk ack-dify. Simpan konten YAML berikut ke dalam file bernama cnfs-nas-filesystem.yaml, lalu jalankan perintah kubectl apply -f cnfs-nas-filesystem.yaml untuk membuat sistem file CNFS dan StorageClass NAS.

    apiVersion: storage.alibabacloud.com/v1beta1
    kind: ContainerNetworkFileSystem
    metadata:
      name: cnfs-nas-filesystem
    spec:
      description: "cnfs"
      type: nas
      reclaimPolicy: Retain  # Hanya Retain yang didukung. Instans NAS backend tidak dihapus saat CNFS dihapus.
    ---
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alibabacloud-cnfs-nas
    mountOptions:
      - nolock,tcp,noresvport
      - vers=3
    parameters:
      volumeAs: subpath # Direktori sub tersendiri dibuat di bawah NAS untuk setiap PVC.
      containerNetworkFileSystem: cnfs-nas-filesystem # Mengaitkan dengan instans CNFS yang didefinisikan di atas.
      path: "/"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain
    allowVolumeExpansion: true # Opsional: Atur ke true untuk mengizinkan ekspansi kuota direktori volume.
  2. kubectl telah terhubung ke kluster. Lihat Hubungkan ke kluster ACK menggunakan kubectl.

1.2 Terapkan komponen

Terapkan komponen ack-dify di kluster Anda untuk layanan Dify.

  1. Login ke Konsol Container Service for Kubernetes. Di panel navigasi kiri, pilih Clusters. Klik kluster target Anda. Ikuti langkah-langkah bernomor pada gambar untuk menginstal komponen ack-dify.

    Anda tidak perlu mengonfigurasi Application Name atau Namespace untuk komponen tersebut. Klik Next. Di kotak dialog Confirm yang muncul, klik Yes untuk menerima nilai default (ack-dify / dify-system). Kemudian, pilih Chart Version terbaru dan klik OK untuk menginstal komponen ack-dify.

    image

  2. Tunggu sekitar satu menit, lalu verifikasi bahwa semua pod di namespace dify-system berada dalam status Running.

    kubectl get pod -n dify-system

    Jika ada pod berstatus Pending, kemungkinan kluster tidak memiliki dependensi PVC untuk ack-dify. Buat sistem file CNFS dan StorageClass NAS. Untuk informasi lebih lanjut, lihat Kelola sistem file NAS menggunakan CNFS. Untuk informasi troubleshooting eksepsi pod, lihat Troubleshoot pod exceptions.

2. Tambahkan asisten AI Tanya & Jawab

2.1 Akses layanan Dify

  1. Aktifkan akses publik untuk layanan ack-dify.

    Catatan

    Akses publik hanya untuk tujuan demonstrasi. Untuk keamanan data di lingkungan produksi, aktifkan fitur Access Control.

    image

  2. Setelah dikonfigurasi, pilih Network > Services > ack-dify, atur namespace ke dify-system. Anda akan melihat External IP layanan ack-dify. Buka IP tersebut di browser Anda untuk mengakses Dify.

    image

  3. Daftarkan akun.

    Akses External IP dan ikuti petunjuk untuk membuat akun administrator (email, username, password).

    image

2.2 Buat asisten AI Tanya & Jawab

  1. Masukkan External IP di browser Anda dan login ke platform Dify.

  2. Tambahkan model AI (Qwen dalam contoh ini) dan atur kunci API dari Alibaba Cloud. Lihat gambar di bawah:

    Setelah kuota gratis Qwen habis, biaya akan dihitung berdasarkan token usage. Hal ini mengurangi biaya di muka dibandingkan dengan self-hosting model.

    1. Dapatkan kunci API: Pilih Username > Settings > Model Provider > Instal dan atur plugin Qwen > Get API Key From Alibaba Cloud.

    2. Masukkan kunci API, lalu klik Save.

    image

  3. Buat asisten AI Tanya & Jawab tujuan umum.

    Pilih Studio > Create from Blank, lalu masukkan Name dan Description untuk asisten tersebut. Gunakan nilai default untuk parameter lainnya.

    image

2.3 Verifikasi asisten AI Tanya & Jawab

Uji asisten dengan mengajukan pertanyaan. Chatbot tujuan umum dapat menangani percakapan sederhana tetapi belum mampu menjawab pertanyaan spesifik tentang Dify.

image

3. Kustomisasi asisten AI

3.1 Buat basis pengetahuan

Untuk menjawab pertanyaan teknis terkait Dify secara akurat, konfigurasikan basis pengetahuan khusus untuk asisten tersebut.

Contoh ini menyediakan file korpus dify_doc.md. Buat dan unggah basis pengetahuan sebagai berikut.

  1. Unggah file korpus yang telah disiapkan dify_doc.md ke basis pengetahuan.

    Pilih Knowledge > Create Knowledge > Import from file > Select File > Next.

    image

  2. Klik Next. Lakukan segmentasi teks dan pembersihan, lalu simpan.

    Gunakan nilai default. Basis pengetahuan secara otomatis membersihkan, membagi, dan mengindeks dokumen untuk pengambilan.

Untuk memahami bagaimana file korpus di atas diorganisasi menjadi satu file .md, buka bagian yang dapat dilipat di bawah ini untuk detailnya.

Siapkan basis pengetahuan kustom

Siapkan basis pengetahuan Dify khusus. Dify saat ini mendukung pengunggahan satu file dalam format TXT, HTML, Markdown, atau PDF.

Sebelum memulai pelatihan, Anda perlu menyiapkan basis pengetahuan. Karena semua dokumen CODING sebelumnya dikelola dalam repositori Git dengan format Markdown, Anda hanya perlu menarik dokumen tersebut secara lokal dan menggabungkan serangkaian file .md menjadi satu file. Berikut adalah contoh umum untuk referensi Anda:

  1. Klon repositori kode. Gunakan perintah Git untuk mengklon repositori kode Dify yang sesuai.

    git clone https://github.com/langgenius/dify-docs.git
  2. Organisasi korpus. Untuk memudahkan vektorisasi korpus selanjutnya, Anda dapat menggunakan kode Python berikut untuk menggabungkan dan mengorganisasi file .md dalam repositori kode Dify.

    from langchain_text_splitters import MarkdownHeaderTextSplitter, RecursiveCharacterTextSplitter
    import os
    
    
    def merge_markdown_files_from_directory(root_dir, output_file):
        """
        Fungsi merge_markdown_files_from_directory
          1. Fungsi: Menggabungkan konten semua file .md dalam direktori tertentu ke dalam satu file output.
          2. Parameter:
            root_dir: Jalur direktori root yang ditentukan.
            output_file: Jalur file output.
          3. Implementasi:
            Menggunakan os.walk untuk menelusuri direktori root_dir dan subdirektorinya.
            Memeriksa apakah setiap file berakhiran .md. Jika ya, menambahkan jalurnya ke daftar markdown_files.
            Membuka output_file dan menulis konten setiap file dari markdown_files ke dalamnya.
        """
        markdown_files = []
        for root, dirs, files in os.walk(root_dir):
            for file in files:
                if file.endswith('.md'):
                    markdown_files.append(os.path.join(root, file))
    
        with open(output_file, 'w', encoding='utf-8') as outfile:
            for file_path in markdown_files:
                with open(file_path, 'r', encoding='utf-8') as infile:
                    outfile.write(infile.read())
                    # outfile.write('\n\n')
    
                   
    def process_and_write_markdown(file_path: str, headers_to_split_on: list, chunk_size: int, chunk_overlap: int, output_file: str):
        """
        Fungsi process_and_write_markdown
          1. Fungsi:
            Memproses konten satu file Markdown, membagi teks berdasarkan header dan aturan chunking yang ditentukan, lalu menulis hasilnya ke file baru.
          2. Parameter:
            file_path: Jalur file Markdown input.
            headers_to_split_on: Daftar tupel yang mendefinisikan level header, misalnya [("#", "Header 1"), ("##", "Header 2")].
            chunk_size: Panjang maksimum setiap chunk teks.
            chunk_overlap: Panjang tumpang tindih antar chunk teks.
            output_file: Jalur file output.
          3. Implementasi:
            Membaca konten file Markdown dari file_path.
            Membuat objek MarkdownHeaderTextSplitter untuk membagi konten berdasarkan headers_to_split_on.
            Membuat objek RecursiveCharacterTextSplitter untuk membagi lebih lanjut teks berdasarkan chunk_size dan chunk_overlap.
            Membuka output_file dan menulis metadata serta konten setiap chunk yang terbagi ke dalam file tersebut.
        """
        try:
            # Membaca konten file Markdown dari file_path.
            with open(file_path, "r", encoding="utf-8") as doc:
                markdown_content = doc.read()
    
            # Membuat objek MarkdownHeaderTextSplitter untuk membagi konten berdasarkan headers_to_split_on.
            splitter = MarkdownHeaderTextSplitter(headers_to_split_on=headers_to_split_on, strip_headers=True)
            md_splits = splitter.split_text(markdown_content)
    
            # Membuat objek RecursiveCharacterTextSplitter untuk membagi lebih lanjut teks berdasarkan chunk_size dan chunk_overlap.
            text_splitter = RecursiveCharacterTextSplitter(chunk_size=chunk_size, chunk_overlap=chunk_overlap)
            splits = text_splitter.split_documents(md_splits)
    
            # Membuka output_file dan menulis metadata serta konten setiap chunk teks yang terbagi ke dalam file tersebut.
            with open(output_file, "w") as f:
                for line in splits:
                    f.write(str(line.metadata))
                    f.write("\n")
                    f.write(line.page_content)
                    f.write("\n\n\n\n")
    
        except FileNotFoundError:
            raise FileNotFoundError(f"File {file_path} tidak ditemukan.")
    
    
    # Contoh penggunaan
    if __name__ == "__main__":
        """
         1. Atur parameter:
          root_directory: Jalur direktori root yang ditentukan.
          merged_file_path: Jalur file Markdown yang digabungkan.
          output_file: Jalur file output yang telah diproses.
          headers_to_split_on: Daftar level header.
          chunk_size dan chunk_overlap: Ukuran dan panjang tumpang tindih untuk chunk teks.
        2. Langkah eksekusi:
          Panggil merge_markdown_files_from_directory untuk menggabungkan semua file .md ke merged_file_path.
          Panggil process_and_write_markdown untuk memproses file yang digabungkan dan menulis hasilnya ke output_file.
          Langkah-langkah ini menyelesaikan proses skrip dari penggabungan beberapa file Markdown hingga pemrosesan dan output akhir.
        """
        
        # Jalur folder yang akan diproses
        root_directory = 'path/to/dify-docs/en'
        # Jalur file yang digabungkan
        merged_file_path = './merged_markdown.md'
        # Jalur file yang telah dibersihkan
        output_file = './dify_doc.md'
        
        merge_markdown_files_from_directory(root_directory, merged_file_path)
        headers_to_split_on = [
            ("#", "Header 1"),
            ("##", "Header 2"),
            ("###", "Header 3"),
        ]
        chunk_size = 500
        chunk_overlap = 50
        process_and_write_markdown(merged_file_path, headers_to_split_on, chunk_size, chunk_overlap, output_file)
    
  3. Unggah dokumen yang telah disiapkan dify_doc.md ke basis pengetahuan.

3.2 Orkestrasi dan publikasikan asisten

Konfigurasikan prompt dan tambahkan basis pengetahuan ke konteks asisten.

  1. Konfigurasikan prompt: Salin konten berikut ke bidang Instructions. Prompt meningkatkan akurasi respons dengan instruksi dan batasan.

    You will act as Dify's AI assistant, dedicated to answering customers' questions about Dify products and their features. Your responses should be based on the existing knowledge base to ensure accuracy. If a question is beyond your knowledge, please honestly inform them that you do not know the answer, in order to maintain the integrity of the information. Please communicate in a friendly and warm tone, and feel free to use emoticons appropriately to enhance the interactive experience.
  2. Tambahkan basis pengetahuan ke konteks: Klik Add di area Context untuk menambahkan basis pengetahuan, sehingga memungkinkan jawaban yang akurat dan profesional.

  3. Klik Releases > Update untuk menyimpan dan menerapkan konfigurasi.

Konfigurasi ditampilkan pada gambar berikut:

image

3.3 Verifikasi hasil

Dengan basis pengetahuan khusus, asisten AI memberikan jawaban yang lebih akurat dan spesifik domain dibandingkan chatbot tujuan umum.image

Rangkuman

Fitur inti Dify:

Fitur

Deskripsi

LLMOps komprehensif

Pemantauan real-time terhadap log dan metrik aplikasi, dengan optimalisasi berkelanjutan terhadap prompt, set data, dan model berdasarkan data produksi.

Mesin RAG

Pipeline RAG end-to-end dari ingestion dokumen hingga pengambilan. Memproses format umum seperti PDF dan PPT secara langsung.

Agent

Definisikan agent menggunakan pemanggilan fungsi LLM atau paradigma ReAct, dengan lebih dari 50 alat bawaan dan dukungan untuk alat kustom.

orkestrasi alur kerja

Kanvas visual untuk membangun alur kerja AI dengan menyeret dan menghubungkan komponen, dengan coding minimal.

observabilitas

Lacak dan evaluasi kualitas serta biaya aplikasi LLM melalui dasbor pemantauan.

Fitur enterprise (SSO/kontrol akses)

Organisasi dapat mengurangi risiko kebocoran informasi dan kerusakan data, memastikan keamanan informasi dan kelangsungan bisnis.

Go-live

Empat opsi untuk menerapkan asisten AI Tanya & Jawab ke lingkungan produksi:

  1. Situs web yang dibagikan ke publik.

    Aplikasi AI yang Anda buat dengan Dify dapat dipublikasikan sebagai aplikasi web yang dapat diakses melalui internet, yang akan beroperasi berdasarkan prompt dan pengaturan orkestrasi Anda. Untuk informasi lebih lanjut, lihat Publikasikan sebagai aplikasi web publik.

  2. Panggilan berbasis API.

    Dify menyediakan API untuk semua aplikasi berdasarkan konsep "Backend-as-a-Service", memungkinkan pengembang memanfaatkan kekuatan large language model di aplikasi front-end mereka tanpa perlu khawatir tentang arsitektur dan penerapan back-end yang kompleks. Untuk informasi lebih lanjut, lihat Kembangkan dengan API.

  3. Pengembangan ulang berbasis komponen front-end.

    Jika Anda mengembangkan produk baru dari awal atau berada dalam tahap desain prototipe, gunakan Dify untuk segera mempublikasikan situs AI. Untuk informasi lebih lanjut, lihat Kembangkan ulang berbasis komponen front-end.

  4. Embedding ke situs web perusahaan atau pribadi Anda.

    Dify mendukung embedding aplikasi AI Anda ke situs web bisnis. Gunakan kemampuan ini untuk membuat layanan pelanggan AI resmi, Tanya & Jawab bisnis, dan aplikasi lainnya dengan data bisnis Anda dalam hitungan menit. Untuk informasi lebih lanjut, lihat Embed ke situs web.

Contoh: Embed ke situs web

Embed aplikasi LLM Anda ke situs web perusahaan atau pribadi.

Contoh ini hanya untuk tujuan demonstrasi. Untuk keamanan data di lingkungan produksi, aktifkan juga fitur Access Control.

  1. Aktifkan akses publik untuk layanan ack-dify dan buka external IP di browser Anda. Untuk informasi lebih lanjut, lihat Akses layanan Dify.

    image

  2. Bangun dengan cepat aplikasi web sederhana di kluster ACK Anda untuk men-debug asisten AI Tanya & Jawab Anda.

    Ini akan menerapkan aplikasi web di kluster ACK Anda untuk meng-host aplikasi LLM Dify yang di-embed.

    1. Dapatkan kode layanan Dify.

      Seperti yang ditunjukkan pada gambar, pilih metode untuk meng-embed kode aplikasi chat ke situs web Anda.image

    2. Di kluster, buat Deployment untuk menjalankan aplikasi web Anda dan buat Service untuk mengeksposnya.

      Berikut adalah contoh YAML sederhana yang menunjukkan cara menerapkan server Nginx dengan HTML statis.

      1. Login ke Konsol Container Service for Kubernetes (ACK). Di halaman ConfigMaps, atur namespace ke default, lalu klik Create from YAML. Salin konten YAML di bawah ini ke dalam templat dan modifikasi parameter window.difyChatbotConfig, src, dan id berdasarkan kode layanan Dify yang telah Anda peroleh.

        Lihat contoh di bawah.

        Konten YAML

        apiVersion: apps/v1
        kind: Deployment
        metadata:
          name: web-deployment
        spec:
          replicas: 2
          selector:
            matchLabels:
              app: web
          template:
            metadata:
              labels:
                app: web
            spec:
              containers:
              - name: web
                image: registry.openanolis.cn/openanolis/nginx:1.14.1-8.6
                ports:
                - containerPort: 80
                volumeMounts:
                - name: web-content
                  mountPath: /usr/share/nginx/html
              volumes:
              - name: web-content
                configMap:
                  name: web-config
          
        
        ---
        apiVersion: v1
        kind: Service
        metadata:
          name: web-service
        spec:
          selector:
            app: web
          ports:
            - protocol: TCP
              port: 80
              targetPort: 80
          type: LoadBalancer
        
        
        ---
        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: web-config
        data:
          index.html: |
            <!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <title>The simplest website service</title>
                <style>
                    #dify-chatbot-bubble-button {
                        background-color: #1C64F2 !important;
                    }
                </style>
            </head>
            <body>
                <h1>Welcome to my website!</h1>
            
            
                <script>
                 window.difyChatbotConfig = {
                  token: 'W1b8mRL******yiD6',
                  baseUrl: 'http://8.154.XX.XX'
                 }
                </script>
                <script
                 src="http://8.154.XX.XX/embed.min.js"
                 id="W1b8mRL******yiD6"
                 defer>
                </script>
                <style>
                  #dify-chatbot-bubble-button {
                    background-color: #1C64F2 !important;
                  }
                </style>
        
        
        
            </body>
            </html>
      2. Periksa status deployment. Deployment berhasil jika kedua pod berada dalam status Running.

      3. Aktifkan akses publik untuk layanan yang diterapkan.

        Untuk keamanan data di lingkungan produksi, kami merekomendasikan agar Anda juga mengaktifkan fitur Access Control.

        image

        Setelah dikonfigurasi, Anda akan melihat External IP layanan web-service. Buka IP tersebut di browser Anda.

        image

        Penting
        • Jika Anda ingin perangkat lain mengakses layanan tersebut, pastikan firewall atau security group kluster Anda mengizinkan traffic pada port 80. Untuk informasi lebih lanjut, lihat Tambahkan aturan grup keamanan.

        • Pastikan kode Anda dan kode pihak ketiga aman untuk mencegah potensi embedding XSS atau kode berbahaya. Ini adalah contoh dasar hanya untuk tujuan demonstrasi; Anda dapat mengembangkan dan memodifikasinya sesuai kebutuhan.

      4. Hasil Contoh.

        2024-08-23_14-14-02 (1)

Penagihan

Penggunaan fitur ini menimbulkan biaya untuk manajemen kluster ACK Pro dan penggunaan sumber daya Alibaba Cloud. Produk Alibaba Cloud yang terlibat meliputi Elastic Compute Service (ECS), Classic Load Balancer (CLB), elastic IP address (EIP), dan Apsara File Storage NAS. Anda akan ditagih berdasarkan sumber daya yang digunakan sesuai aturan penetapan harga masing-masing produk. Untuk informasi lebih lanjut mengenai biaya manajemen kluster dan biaya sumber daya produk cloud, lihat Ikhtisar penagihan.

Penafian

Dify pada ACK adalah solusi penerapan Helm yang menyesuaikan proyek open-source Dify untuk lingkungan Alibaba Cloud ACK guna memungkinkan penerapan cepat. ACK tidak menjamin kinerja aplikasi Dify atau kompatibilitasnya dengan komponen ekosistem lainnya, seperti plugin dan database. ACK tidak menyediakan layanan komersial, seperti kompensasi atau ganti rugi, atas kerugian bisnis apa pun yang disebabkan oleh cacat pada Dify atau komponen ekosistemnya. Untuk memastikan stabilitas dan keamanan Dify, ikuti pembaruan dari komunitas open-source dan perbaiki secara proaktif masalah pada perangkat lunak open-source tersebut.