Selamat datang di "Moin von Bremen," proyek yang menyenangkan dan interaktif yang dikembangkan oleh sekelompok mahasiswa master yang antusias dari University of Bremen. Dalam proyek ini, kami menyelami dunia LLMS (model bahasa besar), mengeksplorasi kekuatan pengambilan generasi augmented (RAG), dan bereksperimen dengan konsep multimodalitas. Bersama -sama, kami membuat panduan kota audio untuk kota Bremen kami yang tercinta! ? ️
Proyek ini adalah perjalanan yang menarik yang dimulai dengan gagasan membangun chatbot yang mampu melayani sebagai panduan kota audio. Kota apa yang lebih baik untuk dipilih selain Bremen, rumah kami saat belajar di Universitas Bremen? Dengan panduan ini, Anda akan mengenal Bremen tidak seperti sebelumnya!
Kami menggabungkan pengetahuan lokal kami dengan fakta yang dapat diandalkan dari Wikipedia untuk menciptakan pengalaman yang menarik dan informatif. Berikut ini adalah kerusakan langkah demi langkah tentang bagaimana kami melakukannya:
Pembuatan Data : Kami bersumber dari gambar dan data dari Wikipedia untuk mendukung chatbot kami. Lihat file datageneration.ipynb untuk detail lebih lanjut tentang bagaimana ini dilakukan.
LLM & RAG : Penasaran tentang membangun bot pribadi Anda sendiri? Begitu juga kita! Kami mempelajari LLMS dan teknik kain yang selalu populer untuk mengembangkan aplikasi pengetahuan khusus domain. Rag banyak digunakan oleh bisnis besar untuk membuat aplikasi khusus. Ingin belajar lebih banyak? Baca artikel Rag yang mendalam ini.
Teks embeddings dengan chromadb : Perjalanan kami dilanjutkan dengan file textdata_chromadb.py , di mana kami mengembangkan kain menggunakan vektor embeddings dengan chromadb. Kami bahkan membangun API menggunakan gradio untuk antarmuka pengguna yang lancar. Kami juga bereksperimen dengan konsep multimodal dengan membuat koleksi untuk teks dan gambar. Saat diberi prompt, sistem mencari gambar dan teks yang paling relevan dalam database.
Vektor embedding : Konsep embedding vektor meluas untuk membuat konteks numerik yang relevan, yang digunakan selama pencarian untuk menarik data yang paling relevan dari database. Untuk penjelasan mendalam, lihat artikel ini tentang database embeddings dan vektor.
Panduan Audio dengan FAISS : Bergerak maju, kami mengembangkan panduan audio dengan mengimplementasikan kode di audiodata_faissEmbedding.py . Kami menggunakan model ASR Whisper Openai untuk konversi audio-ke-teks. Pelajari lebih lanjut tentang Whisper di sini. Untuk menyelam dalam yang menarik ke dalam spektrogram, lihat artikel ini.
Pencarian kesamaan dengan FAISS : FAISS, yang dikembangkan oleh Facebook AI Research, dirancang untuk pencarian kesamaan yang efisien dan pengelompokan vektor padat. Ini sangat berguna untuk menemukan item serupa dalam dataset berdasarkan representasi vektor mereka. Untuk penjelasan terperinci, kunjungi halaman resmi FAISS.
Mengapa kami memilih Chromadb daripada FAISS untuk proyek ini? Inilah perbandingan cepat:
Untuk pencarian multi-modal (seperti mencari teks dengan embeddings gambar), Chromadb menawarkan lebih banyak fleksibilitas daripada FAISS. Kami memecah proses pengambilan keputusan kami dan implementasi di Main.py , diilustrasikan dalam diagram berikut (masukkan diagram di sini).
Untuk memulai proyek ini, ikuti langkah -langkah ini:
pip install -r requirements.txtdata .