Buku catatan ini berisi langkah -langkah dan kode untuk menunjukkan dukungan dari pengambilan generasi auglumed di watsonx.ai. Ini memperkenalkan perintah untuk pengambilan data, pembangunan basis pengetahuan & kueri, dan pengujian model.
Gunakan model LLM, Langchain dan Milvus untuk membuat sistem pengambilan augmented generasi (RAG). Ini akan memungkinkan kami untuk mengajukan pertanyaan tentang dokumen kami (yang tidak termasuk dalam data pelatihan), tanpa memalsukan model bahasa besar (LLM). Saat menggunakan RAG, jika Anda diberi pertanyaan, Anda terlebih dahulu melakukan langkah pengambilan untuk mengambil dokumen yang relevan dari database khusus, database vektor tempat dokumen -dokumen ini diindeks.
Retrieval Augmented Generation (RAG) adalah pola serbaguna yang dapat membuka sejumlah kasus penggunaan yang membutuhkan mengingat kembali informasi faktual, seperti menanyakan basis pengetahuan dalam bahasa alami.
Model Bahasa Besar (LLM) telah membuktikan kemampuan mereka untuk memahami konteks dan memberikan jawaban yang akurat untuk berbagai tugas NLP, termasuk ringkasan, T&J, ketika diminta. Meskipun dapat memberikan jawaban yang sangat baik untuk pertanyaan tentang informasi yang mereka latih, mereka cenderung berhalusinasi ketika topiknya adalah tentang informasi yang mereka lakukan "tidak tahu", IE tidak termasuk dalam data pelatihan mereka. Pengambilan generasi augmented menggabungkan sumber daya eksternal dengan LLMS. Oleh karena itu, dua komponen utama kain adalah retriever dan generator.
Bagian retriever dapat digambarkan sebagai sistem yang dapat menyandikan data kami sehingga dapat dengan mudah mengambil bagian yang relevan setelah menanyakannya. Pengkodean dilakukan dengan menggunakan embeddings teks, yaitu model yang dilatih untuk membuat representasi vektor informasi. Opsi terbaik untuk mengimplementasikan retriever adalah database vektor. Sebagai database vektor, ada beberapa opsi, baik produk open source atau komersial. Beberapa contoh adalah Chromadb, Mevius, Faiss, Pinecone, Weaviate. Opsi kami di notebook ini akan menjadi contoh lokal ChromadB (persisten).
Untuk bagian generator, opsi yang jelas adalah LLM. Dalam buku catatan ini kami akan menggunakan model Llama V2 yang dikuantisasi, dari koleksi Kaggle Model.
Orkestrasi Retriever dan Generator akan dilakukan dengan menggunakan Langchain. Fungsi khusus dari Langchain memungkinkan kami untuk membuat penerima-generator dalam satu baris kode.
Dalam bentuknya yang paling sederhana, Rag membutuhkan 3 langkah:
690.000 kata -kata bernilai teks yang dibersihkan dari Wikipedia.
Ada tiga file pertanyaan, satu untuk setiap tahun siswa: S08, S09, dan S10.
File "quesanswerpairs.txt" berisi pertanyaan dan jawaban. Kolom dalam file ini adalah sebagai berikut:
Pertanyaan yang dinilai miskin dibuang dari kumpulan data ini.
Sering ada beberapa baris dengan pertanyaan yang sama, yang muncul jika pertanyaan -pertanyaan itu dijawab oleh banyak orang. https://www.kaggle.com/rtatman/questionanswer-dataset