Sistem generasi pengambilan semula multimodal (RAG) merevolusi AI dengan mengintegrasikan pelbagai jenis data-teks, imej, audio, dan video-untuk respons yang lebih nuanced dan konteks. Ini melampaui kain tradisional, yang hanya memberi tumpuan kepada teks. Kemajuan utama adalah embeddings penglihatan nomik, mewujudkan ruang bersatu untuk data visual dan tekstual, yang membolehkan interaksi silang modal lancar. Model lanjutan menjana embeddings berkualiti tinggi, meningkatkan pengambilan maklumat dan merapatkan jurang antara bentuk kandungan yang berbeza, akhirnya memperkayakan pengalaman pengguna.
Objektif Pembelajaran*Artikel ini adalah sebahagian daripada Blogathon Sains Data *** . Jadual Kandungan
Apa itu kain multimodal?
Mengatasi batasan model klip:
Walaupun klip cemerlang dalam keupayaan sifar-tembakan, pengekod teksnya kurang baik dalam tugas-tugas di luar pengambilan imej (seperti yang ditunjukkan dalam penanda aras MTEB). Penglihatan Nomic Embed menangani ini dengan menyelaraskan pengekod penglihatannya dengan ruang laten teks Nomic Embed.
Penglihatan Nomic Embed dilatih bersama teks Nomic Embed, membekukan pengekod teks dan melatih pengekod penglihatan pada pasangan teks imej. Ini memastikan hasil yang optimum dan keserasian mundur dengan embeddings teks embed nomik.
Model klip, sementara yang mengagumkan dalam keupayaan sifar-tembakan, menunjukkan kelemahan dalam tugas-tugas yang tidak sama seperti persamaan semantik (penanda aras MTEB). Penglihatan Nomic Embed mengatasi ini dengan menjajarkan pengekod visi dengan ruang laten teks Nomic Embed, menghasilkan prestasi yang kuat di seluruh imej, teks, dan tugas multimodal (ImageNet Zero-shot, MTEB, Penanda Aras DataComp).
pelaksanaan python hands-on rag multimodal dengan embeddings penglihatan nomik
Tutorial ini membina sistem RAG multimodal yang mengambil maklumat dari PDF yang mengandungi teks dan imej (menggunakan Google Colab dengan T4 GPU).
Tetapkan kunci API OpenAI dan import yang diperlukan perpustakaan (PYMUPDF, PIL, LANGCHAIN, OPENAI, dan lain -lain). (Kod yang ditinggalkan untuk keringkasan.)
Ekstrak imej dari PDF menggunakan pymupdf dan simpannya ke direktori. (Kod yang ditinggalkan untuk keringkasan.)
Ekstrak teks dari setiap halaman pdf menggunakan pymupdf. (Kod yang ditinggalkan untuk keringkasan.)
Simpan imej dan teks yang diekstrak. (Kod yang ditinggalkan untuk keringkasan.)
Pecahkan teks yang diekstrak ke dalam ketulan yang lebih kecil menggunakan Langchain's RecursiveCharacterTextSplitter
. (Kod yang ditinggalkan untuk keringkasan.)
Load Nomic's Text and Vision Embedding Models menggunakan Transformers Face Hugging. (Kod yang ditinggalkan untuk keringkasan.)
menghasilkan teks dan embeddings imej. (Kod yang ditinggalkan untuk keringkasan.)
Embeddings Text Store dalam koleksi qdrant. (Kod yang ditinggalkan untuk keringkasan.)
Embeddings Image Store dalam koleksi QDrant yang berasingan. (Kod yang ditinggalkan untuk keringkasan.)
Buat fungsi untuk mendapatkan teks dan embeddings imej yang berkaitan berdasarkan pertanyaan. (Kod yang ditinggalkan untuk keringkasan.)
Gunakan Langchain untuk memproses data yang diambil dan menghasilkan respons menggunakan model bahasa (mis., GPT-4). (Kod yang ditinggalkan untuk keringkasan.)
Pertanyaan contoh menunjukkan keupayaan sistem untuk mendapatkan maklumat dari kedua -dua teks dan imej dalam PDF. (Contoh pertanyaan dan output yang ditinggalkan untuk keringkasan, tetapi hadir dalam asal.)
Embeddings Visi Nomic dengan ketara meningkatkan kain multimodal, membolehkan interaksi lancar antara data visual dan teks. Ini menangani batasan model seperti klip, menyediakan ruang embedding bersatu dan prestasi yang lebih baik dalam pelbagai tugas. Ini membawa kepada pengalaman pengguna yang lebih kaya dan lebih terperinci dalam persekitaran pengeluaran.
(Soalan Lazim yang ditinggalkan untuk keringkasan, tetapi hadir di asal.)
NOTA: Coretan kod telah ditinggalkan untuk keringkasan, tetapi fungsi dan langkah teras tetap diterangkan dengan tepat. Input asal mengandungi kod yang luas; Termasuk semuanya akan membuat respons ini terlalu lama. Rujuk input asal untuk pelaksanaan kod lengkap.
Atas ialah kandungan terperinci Meningkatkan Sistem RAG dengan Pembasmian Nomik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!