Kami membangun chatbot yang dapat meringkas dan merekomendasikan blog di situs web Redis.com berdasarkan kueri pengguna.

Proyek kecil ini menggunakan 2 model AI
Dalam proyek ini, kami bertujuan untuk menunjukkan
Cara termudah adalah dengan menggunakan gambar Docker menggunakan perintah di bawah ini
docker run -d -p 6379:6379 -p 8001:8001 redis/redis-stack:latestJika Anda tidak ingin menggunakan gambar Docker, Anda dapat mendaftar untuk berlangganan Redis Cloud gratis di sini.
Unduh repositori
git clone https://github.com/mar1boroman/ask-redis-blogs.git && cd ask-redis-blogs
Persiapkan dan aktifkan lingkungan virtual
python3 -m venv .env && source .env/bin/activate
Instal perpustakaan dan dependensi yang diperlukan
pip install -r requirements.txt
Kami memiliki basis pengetahuan yang luas di blog Redis mari kita jalankan skrip pertama yang merupakan Webscraper, skrip ini akan mengikis situs web dan membuat file CSV yang berisi data semua blog yang tersedia.
python 0_ext_redis_blogs.pyPerhatikan repositori ini sudah memiliki blog yang diperbarui hingga 19 September, 2023, menjalankan skrip ini hanya akan mengunduh blog baru. File CSV disimpan di redis_blogs.csv
Pada langkah ini, kami menghasilkan embedding untuk konten teks dari setiap blog dan menyimpannya dalam format hash
python 1_load_redis_blogs.pyAnda dapat menjelajahi konten database Redis Anda di Redisinsight di browser Anda di http: // localhost: 8001
Sekarang kami telah menyimpan blog dan embeddings mereka di Redis, saatnya untuk melihat chatbot beraksi!.
streamlit run 3_ui.py
Mari kita jalankan pencarian kesamaan vektor sederhana melalui blog kami.

Pastikan kotak centang 'ringkasan otomatis' tidak dicentang
Masukkan prompt. Untuk misalnya
Triggers and Functions
Anda akan mendapatkan 3 rekomendasi blog dalam milidetik. Responsnya juga mencakup waktu yang dibutuhkan untuk mengembalikan respons. Dalam hal ini, pencarian terjadi sepenuhnya di Redis, kecuali bahwa prompt dijalankan melalui semua-mpnet-base-v2 sebelum menjalankan pencarian kesamaan
Mari kita menjadi sedikit lebih maju.

Pastikan kotak centang 'Ringkas Otomatis' dicentang
Masukkan prompt. Untuk misalnya
Triggers and Functions
Saat Anda memasukkan prompt ini untuk pertama kalinya, hal -hal berikut akan terjadi
Ini membutuhkan waktu yang sangat lama, sekitar 30 detik
Oleh karena itu, kami menyimpan respons dan prompt di Redis. Periksa redisinsight Anda di browser dan Anda akan melihat kunci yang dibuat dengan awalan llm_cache
Setelah responsnya kembali, prompt dan responsnya di-cache, dan yang lebih penting prompt dijalankan melalui all-mpnet-base-V2 dan embedding yang sesuai juga di-cache
Sekarang coba jalankan prompt yang sama (atau prompt serupa lagi). Untuk misalnya
About Triggers and functions
Anda akan mendapatkan respons yang di -cache berdasarkan pencarian kesamaan vektor yang sangat cepat antara penanaman petunjuk dan respons yang di -cache pada langkah sebelumnya.
Kita dapat dengan jelas melihat manfaat menggunakan caching semantik di sini
Versi chatbot tersedia dalam versi CLI
python 2_vecsim_redis_blogs.py