Proyek Treehacks 2024. Gulir ke bawah untuk detailnya.
| Bagian | Keterangan |
|---|---|
| Aplikasi Visi OS | Instruksi untuk mengunduh dan mengekstraksi file visionMama.zip untuk aplikasi Vision OS. |
| Pipa Agen AI untuk pembuatan resep, pencarian makanan, dan pemesanan Instacart | Detail tentang pipa dari permintaan makanan pengguna untuk menghasilkan resep, mengidentifikasi bahan -bahan, menemukan lokasi pembelian, dan membuat pesanan Instacart. Memanfaatkan Mistral-7B LLM yang disempurnakan, GPT-4-Turbo, SERP API, dan algoritma peringkat yang canggih. |
| Pra-pelatihan | Informasi tentang persiapan dataset, proses pra-pelatihan, dan pengambilan keputusan mengenai penggunaan model Mistral-7B yang disempurnakan. |
| Fine-tuning | Menjelaskan fine-tuning Lora dari Mistral-7B dengan 250 ribu resep, pengaturan yang digunakan, dan dampak ukuran dataset pada kinerja. |
| Agen obrolan web reflex.dev | Menggunakan Reflex.dev untuk membuat antarmuka obrolan untuk berinteraksi dengan agen AI, termasuk pemicu untuk pembuatan resep dan identifikasi bahan. |
| Intersystems iris vector database untuk penemuan resep semantik | Penggunaan database vektor iris untuk embeddings resep dan pencarian semantik berdasarkan input "getaran" pengguna. |
Dalam file visionmama.zip, silakan unduh dan ekstrak ini
Kami membangun titik akhir yang kami tekan dari Vision Pro dan situs refleks kami. Pada dasarnya apa yang terjadi adalah kami mengirimkan makanan pengguna yang diinginkan seperti "sup pisang". Kami meneruskannya ke Mistral-7B LLM yang disesuaikan untuk menghasilkan resep. Kemudian, kami dengan cepat menggunakan GPT-4-turbo untuk menguraikan resep dan mengekstrak bahan. Kemudian kami menggunakan API SERP pada setiap bahan untuk menemukan di mana ia dapat dibeli di dekatnya. Kami memprioritaskan bahan yang lebih murah dan menggunakan algoritma untuk mencoba mengunjungi paling sedikit toko untuk membeli semua bahan. Akhirnya, kami mengisi panggilan API pesanan Instacart untuk membeli bahan (disimulasikan untuk saat ini karena kami tidak memiliki akses mitra yang sebenarnya ke API Instacart)
Kami menemukan dataset online dari 250.000 resep. Kami preproses mereka dan membagi dan membagi mereka untuk pretraining. Kami menggunakan tokenizer encoding pasangan byte GPT2. Kami melatih parameter 40m kami LLM menggunakan implementasi nanogpt yang dimodifikasi, kami tidak punya waktu untuk mencari cara menggunakan LLM sehingga kami menggunakan model Mistral-7B yang disempurnakan dengan baik (yang juga berkinerja lebih baik). Rincian lebih lanjut tentang devpost kami.
Kami lora fine-tuned mistral-7b menggunakan platform online Monsterapi: monsterapi.ai. (Terima kasih kepada tim karena telah memberi kami kredit gratis!) Pengaturan: Satu zaman, lora r = 8, lora alpha = 16, dropout = 0, bias = tidak ada, langkah akumulasi gradien = 32, lr = 0,0002, langkah pemanasan = 100
Sebelum menyempurnakan, kami menyiapkan 250 ribu resep yang kami dapatkan dari online ke format instruksi standar menggunakan skrip ini: preparerecipesforfinetuning.py formatnya adalah: Anda adalah koki ahli. Anda tahu tentang banyak masakan yang beragam. Anda menulis resep lezat yang bermanfaat. N n ### Instruksi: Pikirkan langkah demi langkah dan hasilkan resep terperinci untuk {prompt} n n ### respons: {penyelesaian}
Kami juga menurunkan semua petunjuk dan penyelesaian. Kami bereksperimen dengan fine-tuning menggunakan resep 10K, 50K, dan 250K. Kami mengamati bahwa menggunakan lebih banyak data menyebabkan kerugian yang lebih rendah, tetapi pada pengembalian yang semakin berkurang. Kami menggunakan Mistral-7B yang disetel dengan baik (contoh 250k) menggunakan monsterapi.ai skrip finetuned-mistral7b-monsterapi.py menunjukkan bagaimana kami menyebut model yang disesuaikan serta memproses output ke dalam format standar menggunakan metode pemrosesan regex dan string.
Kami menggunakan Reflex.dev, yang seperti React tetapi seluruhnya dalam Python, untuk membuat antarmuka obrolan sederhana untuk berinteraksi dengan agen kami, karena kebanyakan orang tidak memiliki visi Pro. Kami menjalankan GPT-3.5-turbo yang cepat direkayasa untuk memberikan informasi gizi kepada pengguna jika mereka mengajukan pertanyaan. Namun, jika pengguna memulai pesan obrolan mereka dengan "Get Me" dan kemudian makanan imajiner, itu memicu pipa agen AI kami yang kemudian memanggil Mistral-7B yang disesuaikan dengan baik untuk menghasilkan resep, GPT-4-turbo untuk memproses dan mengekstrak bahan-bahan yang paling baik dari rinies yang dianimasikan dengan baik dari SERP API dan A Canggih To- Toorsing To-Toormeching To-To-To-To-Toage, toko, dan akhirnya mengisi panggilan API pesanan Instacart . Kami menjadi tuan rumah di Reflex.dev yang mudah. Kami baru saja melakukan Reflex menggunakan dan memasukkan variabel Env kami dari terminal! Terima kasih untuk refleks.
Kami menggunakan versi akses awal dari database Iris Vector , menjalankannya di Mac dengan Docker. Kami menanamkan 10.000 resep unik dari beragam masakan menggunakan embedding Text-002 Text-002 Openai. Kami menyimpan embeddings dan resep dalam database vektor iris. Kemudian, kami membiarkan pengguna memasukkan "getaran", seperti "hari musim dingin yang hujan dingin". Kami menggunakan Mistral-7b untuk menghasilkan tiga dorongan dokumen hipotetis (Hyde) dalam format terstruktur. Kami kemudian menanyakan Iris DB menggunakan tiga petunjuk yang dihasilkan Mistral. Kuncinya di sini adalah bahwa pencarian semantik biasa tidak memungkinkan Anda mencari secara efektif. Jika Anda melakukan pencarian semantik pada "hari musim dingin hujan dingin", itu lebih mungkin memberi Anda hasil yang terkait dengan dingin atau hujan, daripada makanan. Dorongan kami mendorong Mistral untuk memahami getaran masukan Anda dan mengonversinya menjadi petunjuk Hyde yang lebih baik. Contoh Nyata: Input Pengguna: Sesuatu untuk Hari Musim Dingin yang Dingin Yang Dihasilkan Pertanyaan Pencarian: {'Queries': ['Resep Hidangan Musim Dingin Pemanasan', 'Resep Makanan yang Menyenangkan untuk Hari Dingin', 'semur yang lezat dan sup untuk cuaca dingin']}