Перейти к содержимому

Создание семантического поиска на Android с помощью EmbeddingGemma

Simplified Coding

0:00 / 0:00

Создание семантического поиска на Android с помощью EmbeddingGemma

1 107 просмотров · 5 дней назад
Simplified Coding
118 тыс. подписчиков
1 107 просмотров · 5 дней назад
Создайте семантический поиск на Android с помощью EmbeddingGemma и посмотрите, что на самом деле происходит, когда приложение для Android начинает поиск по смыслу, а не по точному совпадению слов. Семантический поиск может выглядеть удивительно умно. Ищете одно слово, получаете другое слово практически без совпадений по ключевым словам и каким-то образом получаете правильный результат. Но есть проблема. Ближайший вектор не является автоматически правильным ответом. В этом эпизоде ​​«Создание приложения RAG на устройстве Android с помощью Gemma» мы изолируем слой поиска и создаем небольшую систему семантического поиска непосредственно на Android с использованием EmbeddingGemma. Никакого облачного API. Никакой векторной базы данных. Никакой обработки PDF-файлов. Никакой генерации ответа с помощью LLM. Только то, что важно для понимания поиска. Вы увидите, как текст преобразуется в эмбеддинги, как эмбеддинги запроса сравниваются с эмбеддингами сохраненных документов, как косинусное сходство создает рейтинг и как Top K определяет, какие результаты остаются в списке. Что еще более важно, мы также рассмотрим случай сбоя, который большинство демонстрационных примеров семантического поиска удобно пропускают. Что происходит, когда правильного ответа нет в ваших данных? Векторный поиск все равно что-то найдет. Один кандидат всегда будет ближе всего. Именно здесь начинают играть важную роль пороги сходства, отклонение и качество поиска. В этом эпизоде ​​также рассматривается важная деталь EmbeddingGemma, которую легко упустить при реализации семантического поиска на Android. Запросы и сохраненные документы используют разные роли поиска, хотя оба встраиваются с использованием одной и той же модели. Мы также обсуждаем, почему семантический поиск не является простой заменой поиска по ключевым словам или лексическому поиску, и почему реальные системы RAG часто в конечном итоге комбинируют оба подхода. Полный проект Android для этого курса доступен здесь: https://github.com/probelalkhan/on-de... Если вы проходите полный курс, цель состоит не только в создании еще одного демонстрационного примера RAG. Цель — понять, почему поиск работает, где он дает сбои и что нужно измерить, прежде чем доверять ему в реальном Android-приложении. Потому что найти ближайший результат легко. А вот определить, действительно ли этот результат полезен, — более сложная задача. #СемантическийПоиск #РазработкаAndroid #EmbeddingGemma #OnDeviceAI #AndroidAI #RAG #ВекторныйПоиск #ВстраиваниеТекста #КосинусноеСходство #Kotlin #JetpackCompose #ЛокальныйИИ #МашинноеОбучение #AIEngineering #РазработчикиAndroid