Treehacks 2024 Project. Прокрутите вниз для деталей. 
| Раздел | Описание |
|---|---|
| Приложение Vision OS | Инструкции по загрузке и извлечению файла VisionMama.zip для приложения ОС Vision. |
| Трубопровод агента ИИ для генерации рецептов, поиска продуктов питания и заказа Instacart | Подробная информация о трубопроводе из запроса на питание пользователя по созданию рецепта, выявлению ингредиентов, поиске мест покупки и создании заказа Instacart. Использует тонко настроенный LLM Mistral-7B, GPT-4-Turbo, Serp API и сложный алгоритм ранжирования. |
| Предварительное обучение | Информация о подготовке наборов данных, процессе предварительного обучения и принятии решений относительно использования тонкой настроенной модели Mistral-7B. |
| Тонкая настройка | Описывает Лору точную настройку Mistral-7B с 250K-рецептами, используемыми настройками и влиянием размера набора данных на производительность. |
| Reflex.dev Web Chat Agent | Использование Reflex.dev для создания интерфейса чата для взаимодействия с агентом искусственного интеллекта, включая триггеры для генерации рецептов и идентификации ингредиентов. |
| Межсистемная база данных Iris Vector для получения семантического раскрытия рецептов | Использование базы данных вектора IRIS для внедрения рецептов и семантических поисков на основе входов пользователя «атмосфера». |
В файле visionmama.zip, пожалуйста, загрузите и извлеките это
Мы построили конечную точку, которую мы попали из нашего Vision Pro и нашего рефлекторного сайта. По сути, мы представляем желаемую еду пользователя, такую как «банановый суп». Мы передаем это нашему тонко настроенным LLM Mistral-7B, чтобы генерировать рецепт. Затем мы быстро используем GPT-4-Turbo для анализа рецепта и извлечения ингредиентов. Затем мы используем SERP API на каждом ингредиенте, чтобы найти, где его можно купить поблизости. Мы расставляем приоритеты более дешевые ингредиенты и используем алгоритм, чтобы попытаться посетить наименьшее количество магазинов, чтобы купить все ингредиенты. Наконец, мы заполняем вызов API заказа Instacart для покупки ингредиентов (моделируемые на данный момент, поскольку у нас нет фактического доступа к партнеру к API Instacart)
Мы нашли набор данных онлайн из 250 000 рецептов. Мы предварительно их разделили и разделяли и направляли их для предварительной подготовки. Мы использовали токенизатор пары GPT2, кодирующий токенизатор. Мы обучили нашу 40-метровый параметр LLM, используя модифицированную реализацию Nanogpt, у нас не было времени, чтобы выяснить, как развернуть LLM, поэтому мы пошли с нашей тонкой моделью Mistral-7B (которая также выполнялась лучше). Более подробная информация о нашем Devpost.
Мы с тонкой настройкой Mistral-7B с использованием онлайн-платформы Monsterapi: Monsterapi.ai. (Спасибо команде за предоставленные нам бесплатные кредиты!) Настройки: одна эпоха, Lora R = 8, Lora alpha = 16, Dropout = 0, Bias = None, шаги накопления градиента = 32, LR = 0,0002, шаги разминки = 100
Перед тонкой настройкой мы подготовили рецепты 250K, которые мы получили из онлайн в стандартный формат инструктов, используя этот сценарий: PreparereCipesForfineTuning.py Формат: вы являетесь опытным шеф-поваром. Вы знаете о многих разнообразных кухнях. Вы пишете полезные вкусные рецепты. N n ### Инструкция: Пожалуйста, подумайте шаг за шагом и сгенерируйте подробный рецепт для {reffice} n n ### response: {opplion}
Мы также снизили все подсказки и завершения. Мы экспериментировали с тонкой настройкой с помощью рецептов 10K, 50K и 250K. Мы наблюдали, что использование большего количества данных привело к снижению потери, но при уменьшении доходности. Мы развернули наш тонкий настройка Mistral-7B (примеры 250K), используя Monsterapi.ai. Скрипт, созданный Mistral7b-monsterapi.py, демонстрирует, как мы называем тонкую модель, а также обрабатывают вывод в стандартизированный формат с использованием методов REGEX и обработки строк.
Мы использовали Reflex.DEV, который похож на React, но полностью в Python, чтобы создать простой интерфейс чата для взаимодействия с нашим агентом, потому что у большинства людей нет Vision Pro. Мы запускаем GPT-3.5-Turbo, который быстро спроектирован для предоставления информации о питании пользователю, если они задают вопрос. However, if the user begins their chat message with "get me " and then an imaginary food, it triggers our AI agent pipeline which then calls our fine-tuned Mistral-7b to generate a recipe, GPT-4-turbo to process and extract ingredients from the recipe, and then Google Search via SERP API and a sophisticiated multiobjective ranking algorithm to identify the cheapest and best ingredients from the minimal number of stores, и, наконец, заполняет вызовы API Order Instacart . Мы организовали его на Reflex.dev, что было легко. Мы только что развернули рефлексное развертывание и вставили нашу переменную ENV из терминала! Спасибо Reflex.
Мы использовали версию раннего доступа базы данных Vector Iris , запустив ее на Mac с Docker. Мы встроили 10 000 уникальных рецептов из разнообразных кухонь, используя встраивание Text-ADA-002 OpenAI. Мы сохранили встроенные и рецепты в базе данных векторной радужной оболочки. Затем мы позволяем пользователю вводить «атмосферу», например, «холодный дождливый зимний день». Мы используем Mistral-7B для генерации трех гипотетических документов, встраивающихся (HYDE) в структурированном формате. Затем мы запросили радужную оболочку, используя три подсказки, сгенерированные ошибкой. Ключ здесь заключается в том, что обычный семантический поиск не позволяет вам эффективно искать по атмосферу. Если вы проводите семантический поиск в «холодный дождливый зимний день», это, скорее всего, даст вам результаты, связанные с холодом или дождем, а не с продуктами. Наше подсказка побуждает Мистраль понять атмосферу вашего вклада и преобразовать его в лучшие подсказки Hyde. Реальный пример: Пользовательский ввод: что -то для холодного зимнего дня, сгенерированных поисковыми запросами: {'Queries': [«Рецепты согревания зимних блюд», «Рецепты комфортной еды для холодных дней», «Сердечные рагу и супы для холодной погоды»]}}}}}}}}}}}}}}}}