Bagian ini mencakup alat dan pertimbangan untuk penyimpanan serta pengambilan basis dokumen RAG. Kedua topik ini dibahas bersama karena teknologi penyimpanan membatasi mekanisme pengambilan yang tersedia untuk melakukan kueri dan mengambil data yang disimpan.
IBM® watsonx Discovery, yang didukung oleh IBM® Cloud Databases for Elasticsearch, adalah solusi perusahaan yang komprehensif yang dirancang untuk mendukung dan meningkatkan berbagai contoh penggunaan search dan Retrieval-Augmented Generation (RAG). Dengan kemampuan kuat seperti vector search, semantic search, federated search, dan banyak lagi, watsonx Discovery menyediakan rangkaian alat yang kaya untuk membangun aplikasi kontekstual yang berbasis AI. Solusi ini juga terintegrasi secara lancar dengan platform AI percakapan IBM® watsonx Assistant serta lapisan orkestrasi seperti watsonx Orchestrate untuk menghadirkan solusi bisnis yang canggih.
watsonx Discovery memanfaatkan IBM® Cloud Databases for Elasticsearch, yang menyediakan backend yang kuat dan fleksibel untuk mengelola kebutuhan pencarian perusahaan Anda:
Pemantauan dan Pemeriksaan Kesehatan: Dengan Elasticsearch, pengembang memperoleh akses ke alat pemantauan dan pemeriksaan kesehatan yang komprehensif untuk memastikan bahwa penanaman, metadata, ukuran potongan, dan struktur dokumen telah dioptimalkan. Halaman web Elasticsearch memungkinkan manajemen dan penskalaan yang mulus, sehingga tim dapat berfokus pada aplikasi daripada tugas operasional seperti pencadangan, pencatatan, pemantauan, dan konfigurasi.
Kemampuan Pencarian Tingkat Lanjut: watsonx Discovery mendukung berbagai algoritma pencarian tingkat lanjut, seperti pencarian semantik sparse dan dense, pencarian yang difilter berdasarkan metadata, pencarian leksikal, pencarian boolean (AND/OR/NOT/SLOP), pencarian awalan, pencarian fuzzy, serta pencarian hybrid. Kemampuan ini sangat penting untuk contoh penggunaan RAG yang menantang yang melibatkan kueri dan dokumen yang kompleks. Terapkan jenis pencarian lanjutan yang diuraikan dalam buku catatan ini untuk mengoptimalkan penerapan Anda.
Integrasi dengan Kerangka Kerja LLM: Kompatibilitas Elasticsearch dengan kerangka kerja orkestrasi LLM populer, seperti LangChain dan LlamaIndex, menjadikannya ideal untuk diintegrasikan dengan watsonx Discovery guna mendukung solusi RAG.
watsonx Discovery adalah solusi serbaguna yang mendukung berbagai metodologi pencarian:
Model ELSER (Elastic Search Embeddings) adalah model penyematan bawaan yang unggul untuk pencarian semantik, memungkinkan pencarian kontekstual bahkan tanpa memerlukan basis data vektor khusus.
watsonx Discovery mendukung pencarian federasi di berbagai penerapan yang sudah ada, sehingga mengurangi kebutuhan untuk menyimpan dan memelihara data duplikat. Hal ini memungkinkan pencarian dan pengambilan data di seluruh perusahaan yang tersebar di berbagai silo data.
watsonx Discovery menyederhanakan proses ekstraksi dan pengindeksan konten melalui rangkaian alat penyerapan data yang kaya:
Untuk informasi selengkapnya, jelajahi sumber daya Elasticsearch berikut untuk mempercepat pengembangan watsonx Discovery Anda:
watsonx Discovery terintegrasi dengan Kibana dan Enterprise Search untuk menyediakan pengambilan serta visualisasi informasi berbasis AI yang dapat diskalakan, yang disesuaikan dengan lingkungan perusahaan besar:
Kibana untuk Visualisasi Data: Buat dasbor dan visualisasi khusus berdasarkan data yang di-ingest oleh watsonx Discovery. Alat ini menawarkan analisis real-time terhadap metrik utama seperti ekstraksi entitas, analisis sentimen, dan klasifikasi dokumen. Hal ini membantu melacak tren, pola, dan anomali dalam data tidak terstruktur, sehingga merampingkan proses analisis dan meningkatkan pengambilan keputusan.
Enterprise Search untuk Pengambilan yang Dapat Diskalakan: Manfaatkan NLP dan pencarian semantik untuk memungkinkan pengambilan yang cepat dan akurat di berbagai sumber data terstruktur maupun tidak terstruktur. Sesuaikan fungsi pencarian untuk mengindeks dan mengambil data dari berbagai sumber, termasuk dokumen, email, dan basis data, guna membangun aplikasi pencarian khusus domain yang terintegrasi langsung ke dalam alur kerja bisnis.
watsonx Discovery menyediakan dukungan bawaan untuk kontrol akses berbasis peran dan berbasis atribut guna mengamankan akses terhadap konten serta melindungi privasi data. Hal ini memastikan bahwa informasi sensitif hanya dapat diakses oleh pengguna yang berwenang, sehingga melindungi data perusahaan.
watsonx Discovery dapat digabungkan dengan watsonx Orchestrate untuk meningkatkan alur kerja otomatisasi melalui pengambilan data yang sadar konteks. Ketika Orchestrate mengotomatiskan proses bisnis yang memerlukan insight dari data tidak terstruktur, Orchestrate memanfaatkan Discovery untuk mengambil serta menganalisis konten yang relevan, sehingga memungkinkannya melakukan tugas-tugas cerdas seperti:
IBM® watsonx.data adalah platform data yang kuat yang dibangun di atas arsitektur lakehouse terbuka, yang menggabungkan kekuatan data warehouse dan data lake. Platform ini menyediakan satu titik masuk untuk mengakses seluruh data Anda melalui lapisan metadata bersama yang terbuka, sehingga menjadikannya solusi ideal bagi organisasi yang ingin merampingkan manajemen data mereka. Dengan dukungan untuk format data terbuka, kemampuan vector penyematan terintegrasi, serta antarmuka percakapan berbasis AI generatif untuk memperoleh insight data, watsonx.data meningkatkan analisis real-time dan berbagai contoh penggunaan AI. Platform ini juga terintegrasi dengan lancar menggunakan basis data dan alat yang sudah ada, sambil menawarkan opsi penerapan yang fleksibel, termasuk konfigurasi cloud maupun lokal.
Komponen kunci dari IBM® watsonx.data adalah watsonx.data Milvus, sebuah basis data vektor sumber terbuka yang dirancang khusus untuk menyimpan, mengelola, dan mentransfer data vektor berdimensi tinggi seperti penyematan vector. Basis data vektor yang sangat mudah dikonfigurasi ini dioptimalkan untuk pengindeksan serta pengambilan vektor secara efisien, sehingga ideal untuk contoh penggunaan yang memerlukan pencarian kesamaan vektor dalam aplikasi AI. watsonx.data Milvus sangat bermanfaat bagi pelanggan yang memanfaatkan watsonx.ai dan memerlukan integrasi yang mulus dengan kemampuan basis data vektor, serta bagi mereka yang tertarik untuk menerapkan kerangka kerja sumber terbuka seperti LangChain yang sering digunakan dalam pola Retrieval-Augmented Generation (RAG).
IBM® watsonx.data tersedia dalam tiga opsi penerapan untuk memenuhi beragam kebutuhan:
Untuk organisasi yang ingin memanfaatkan basis data vektor, watsonx.data mendukung integrasi dengan Milvus sumber terbuka, yang memungkinkan kemampuan lanjutan seperti pencarian kesamaan vektor yang penting bagi aplikasi AI real-time.
Untuk mulai menggunakan IBM® watsonx.data, pilih opsi penerapan yang paling sesuai dengan kebutuhan Anda:
Menyediakan instans.
Untuk Penerapan Secara Lokal:
IBM® menyediakan dokumentasi yang ekstensif untuk membantu Anda memulai penggunaan platform inti watsonx.data serta basis data vektor Milvus:
Dengan memanfaatkan arsitektur terbuka watsonx.data, kemampuan basis data vektor terintegrasi, serta fitur AI canggih, organisasi dapat mengoptimalkan proses rekayasa data, meningkatkan analitik real-time, dan membuka insight baru melalui kemampuan yang didukung AI. Platform terpadu ini memberdayakan tim untuk bekerja dengan data terstruktur maupun tidak terstruktur secara inovatif, dengan menyatukan analitik tradisional dan pencarian kesamaan vektor yang canggih dalam satu solusi.
IBM® Watson Discovery adalah alat yang dirancang untuk mengambil dan menganalisis data tidak terstruktur. Fitur utamanya adalah pencarian kata kunci, yang memungkinkan pengguna menelusuri kumpulan data besar menggunakan istilah atau frasa tertentu. Berbeda dengan mesin pencari tradisional yang biasanya hanya mengandalkan pencocokan teks, watson Discovery memanfaatkan konteks di balik kata kunci untuk memberikan hasil yang lebih relevan.
Kemampuan penting lainnya dari watson Discovery adalah ekstraksi entitas. Artinya, watson Discovery dapat secara otomatis mengekstrak potongan informasi penting seperti orang, lokasi, organisasi, dan tanggal dari teks yang tidak terstruktur. Proses ini menyusun data sehingga lebih mudah diproses dan dapat langsung dimasukkan ke dalam respons RAG.
Banyak aplikasi LLM memerlukan data khusus pengguna yang tidak termasuk dalam set pelatihan model. Cara utama untuk mencapainya adalah melalui Retrieval-Augmented Generation (RAG). Dalam proses ini, data eksternal diambil dan diteruskan ke LLM pada saat langkah generasi dilakukan.
LangChain mendukung berbagai algoritma pengambilan yang berbeda. Kerangka kerja ini mendukung metode dasar seperti pencarian semantik. Selain itu, kami juga menambahkan sekumpulan algoritma tambahan di atas metode tersebut untuk meningkatkan kinerja. Yaitu antara lain:
Milvus adalah platform AI untuk otomatisasi dan ekstraksi data terstruktur dari dokumen tidak terstruktur, dan sering digunakan bersama watsonx Discovery untuk skenario pengambilan tertentu. Milvus dapat beradaptasi dengan berbagai format, sehingga cocok untuk alur kerja pemrosesan berskala besar. Bagi seorang insinyur AI, platform ini menawarkan solusi yang dapat diskalakan yang mengurangi upaya manual dalam ekstraksi data sekaligus memastikan presisi dan efisiensi.
Milvus pada dasarnya adalah basis data vektor yang dirancang untuk pencarian kesamaan di berbagai kumpulan data, dan sangat unggul dalam menangani vektor berdimensi tinggi. watsonx Discovery, di sisi lain, dikhususkan untuk pencarian semantik percakapan serta pemahaman dan pemrosesan dokumen, dengan penekanan khusus pada kemampuan pencarian percakapan dan semantik.
Milvus menawarkan fungsionalitas lanjutan seperti sparse vector, batch vector, pencarian terfilter, serta kemampuan pencarian hybrid. Platform ini juga memiliki arsitektur terdistribusi yang memungkinkan penskalaan keluar/masuk dan naik/turun, sehingga sangat dapat diskalakan untuk kumpulan data yang besar.
Milvus dapat menangani data vektor dalam skala besar serta mendukung pencarian kesamaan vektor berkinerja tinggi, yang penting untuk solusi RAG yang mengambil informasi dari kumpulan data besar.
Milvus terintegrasi secara lancar dengan watsonx.data, sehingga menyederhanakan manajemen data untuk model dan aplikasi AI. Integrasi ini memungkinkan contoh penggunaan RAG yang Dapat diskalakan di seluruh kumpulan data yang diatur.
Milvus mendukung fitur-fitur canggih seperti pemfilteran metadata, yang meningkatkan relevansi hasil pencarian serta meningkatkan efektivitas sistem RAG.
Penyimpanan vektor dasar berfungsi dengan baik untuk solusi RAG yang sederhana, tetapi dapat dengan cepat menjadi tidak efektif ketika terdapat beberapa informasi yang serupa dalam dokumen (serupa tidak selalu berarti relevan), ketika informasi untuk menjawab kueri tersebar di beberapa dokumen, atau ketika informasi tersebut didistribusikan di berbagai bagian dokumen. Beberapa contoh untuk menunjukkan…
Contoh 1
Sebuah bisnis mengoperasikan kantor di beberapa negara bagian, masing-masing dengan kebijakan SDM sendiri. Organisasi tersebut menggunakan format dokumen yang seragam untuk informasi SDM di seluruh kantornya. Jika perusahaan menyematkan kebijakan SDM ke dalam basis data vektor, akan terdapat beberapa potongan yang terkait dengan, misalnya, permintaan cuti, namun dengan teks pendukung yang berbeda; kondisi ini membuat halusinasi sangat mungkin terjadi.
Contoh 2
Kontrak layanan memiliki glosarium istilah yang didefinisikan dan ditulis dengan huruf kapital di seluruh dokumen kontrak untuk menunjukkan referensi ke definisi tertentu, misalnya Lessor, Periode Evaluasi, dan lain-lain. Penguraian serta pemotongan kontrak secara naif—yang memproses dan memotong kontrak secara berurutan dari awal hingga akhir—akan menghasilkan interaksi seperti berikut ini:
Kueri: Berapa lama waktu yang diperbolehkan Acme sebelum mereka akan ditagih setelah layanan selesai? Respons: Pembeli diberikan masa tenggang selama 10 hari setelah Periode Evaluasi sebelum mereka akan ditagih untuk layanan tersebut.
Bermanfaat tetapi dijamin untuk membuat pertanyaan lanjutan dan beberapa tambahan cepat untuk sampai pada jawaban yang lebih lengkap.
Contoh 3
Pemerintah negara bagian menerbitkan amandemen terhadap undang-undang sebagai “suntingan” terhadap undang-undang yang sudah ada. Misalnya, “Bagian 12.2 dari Undang-Undang Pengendalian Narkotika diubah untuk mengecualikan Ganja dan produk terkait Ganja”. Bagaimana basis data vektor menentukan bahwa cuplikan teks ini harus diprioritaskan dibandingkan semua potongan lain yang berkaitan dengan topik Cannabis?
Hierarki dokumen mengatur potongan dokumen ke dalam kategori yang mengelompokkan dokumen terkait bersama-sama, mirip dengan daftar isi atau kumpulan folder pada komputer. Dengan menggunakan hierarki dokumen, solusi RAG dapat “mempersempit” subjek kueri pengguna sehingga hanya mengambil dokumen yang paling relevan.
Menerapkan hal ini pada contoh dokumen SDM multi-negara bagian di atas, hierarki dokumen yang berguna akan mengategorikan dokumen berdasarkan negara bagian, sehingga solusi RAG hanya mengambil potongan dokumen yang relevan dengan negara bagian tertentu. Seperti yang ditunjukkan pada gambar di bawah ini, hierarki yang mungkin dapat mengatur dokumen pertama berdasarkan negara, kemudian berdasarkan negara bagian atau provinsi yang berlaku, dan selanjutnya berdasarkan bidang kebijakan atau topik. Tentu saja, ini berarti solusi tersebut perlu menyimpulkan negara bagian yang relevan dari negara bagian tempat tinggal pengguna yang tercantum, atau dengan meminta pengguna untuk memberikan negara bagian yang dimaksud.
Hierarki dokumen dapat diimplementasikan dalam penyimpanan vektor hibrida, yaitu penyimpanan vektor yang mendukung skema dengan tipe data numerik dan kategoris selain vektor, seperti Milvus, dengan menggunakan bidang kategori dan subkategori sebagai bagian dari kriteria pencarian, sebagaimana ditunjukkan dalam definisi skema Milvus di bawah ini.
chunk_id = FieldSchema( name="chunk_id", dtype=DataType.INT64, auto_id=True, ) state_id = FieldSchema( name="state_id", dtype=DataType.INT64, ) chunk = FieldSchema( name="chunk", dtype=DataType.FLOAT_VECTOR, dim=2 ) schema = CollectionSchema( fields=[chunk_id, state_id, chunk], description="HR documents by state" )
Graf pengetahuan menangkap hubungan antara entitas di dalam dokumen maupun di seluruh dokumen. Berbeda dengan pencarian kesamaan dalam basis data vektor, graf pengetahuan dapat secara konsisten dan akurat mengambil hubungan serta konten yang relevan, yang dapat secara signifikan mengurangi terjadinya halusinasi. Ketika dipasangkan dengan pencarian kesamaan pada basis data vektor, basis data graf dapat memungkinkan solusi RAG untuk menggabungkan konten terkait dari dalam dokumen dan/atau di seluruh kumpulan dokumen. Gambar di bawah ini menunjukkan contoh graf pengetahuan potensial untuk kontrak layanan.
Meskipun graf pengetahuan terbaik untuk solusi RAG dibuat dan dipelihara oleh manusia, penggunaan model bahasa besar (LLM) untuk mengekstrak entitas dan hubungan dalam dokumen serta untuk membangun graf pengetahuan juga dapat menghasilkan hasil yang sangat baik.
Neo4j adalah basis data graf sumber terbuka (GPLv3) yang populer. Tutorial ini membawa pembaca melalui konfigurasi serta pengodean solusi RAG yang ditingkatkan dengan graf pengetahuan menggunakan Neo4j dan LangChain.