Gemini Embedding 2 — мультимодальный поиск по любым файлам
Google Gemini Embedding 2 — революция в поиске по документам!
Теперь можно искать по картинкам в PDF, находить аудио по текстовому запросу и определять место в видео по голосу — всё через единую модель!
🚀 ЧТО ТАКОЕ GEMINI EMBEDDING 2?
Мультимодальная векторизация:
Gemini Embedding 2 — это не обычная embedding-модель. Она работает сразу с:
- 📄 Текст (любой длины)
- 🖼️ Картинки (JPEG, PNG)
- 📹 Видео (до 2 минут)
- 🎵 Аудио (любые форматы)
- 📑 Документы (PDF, Word)
Главная фишка: Все типы файлов векторизуются в единое векторное пространство без предварительной обработки!
⚠️ КАК ЭТО РАБОТАЛО РАНЬШЕ:
Традиционный подход (сложный):
📄 Текстовый файл → Извлечь текст → Векторизовать → Сохранить
🖼️ Картинка → Описать через AI → Векторизовать описание → Сохранить
📑 PDF с картинками → Достать картинки → Описать → Векторизовать → Сохранить
🎵 Аудио → Транскрибировать → Векторизовать текст → Сохранить
📹 Видео → Извлечь кадры → Описать → Векторизовать → Сохранить
Проблемы:
- ❌ Нужно 5+ разных моделей
- ❌ Сложная поддержка
- ❌ Потеря контекста
- ❌ Дорогие пайплайны
✨ КАК РАБОТАЕТ GEMINI EMBEDDING 2:
Новый подход (простой):
📄 Текст → Gemini Embedding 2 → Векторы
🖼️ Картинка → Gemini Embedding 2 → Векторы
📑 PDF → Gemini Embedding 2 → Векторы
🎵 Аудио → Gemini Embedding 2 → Векторы
📹 Видео → Gemini Embedding 2 → Векторы
Преимущества:
- ✅ Одна модель для всех типов файлов
- ✅ Единое векторное пространство
- ✅ Без предварительной обработки
- ✅ Простая поддержка
🧪 ПРАКТИЧЕСКИЕ ТЕСТЫ:
Тест 1: Поиск по тексту в PDF
Запрос: "подготовленные кладовые помещения"
Результат: ✅ Найдено в PDF #3
Тест 2: Поиск по картинке в PDF
Запрос: "где есть карта?"
Результат: ✅ Найдено в PDF #2 (карта нарисована, текстом не описана!)
Тест 3: Поиск по изображению
Запрос: "красивые здания"
Результат: ✅ Найдено на Картинке #1
Тест 4: Поиск по скриншоту
Запрос: 📸 Скриншот шины
Результат: ✅ Найдено в PDF #3 (там есть фото шин!)
Тест 5: Поиск по голосу
Запрос: 🎤 Голосовое: “А что там по набору с инструментами?”
Результат: ✅ Найдено в PDF #3 (коробка с инструментами на фото!)
🛠️ КАК НАСТРОИТЬ СВОЙ ПОИСК:
Шаг 1: Получить API ключ
- Перейти на aistudio.google.com
- Нажать “Get API Key”
- Создать ключ и скопировать
Шаг 2: Векторизация документов
Формат запроса:
POST https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-001:embedContent
Headers:
x-goog-api-key: YOUR_API_KEY
Body:
{
"model": "models/gemini-embedding-001",
"content": {
"parts": [{
"inline_data": {
"mime_type": "application/pdf",
"data": "BASE64_ENCODED_FILE"
}
}]
}
}
Для разных типов файлов:
| Тип файла | MIME Type | Подготовка |
|---|---|---|
| Текст | text/plain | Конвертировать в Base64 |
| Картинка | image/jpeg | Конвертировать в Base64 |
application/pdf | Конвертировать в Base64 | |
| Аудио | audio/wav | Конвертировать в Base64 |
| Видео | video/mp4 | Конвертировать в Base64 (до 2 мин) |
Шаг 3: Сохранение векторов
Пример для Supabase:
CREATE TABLE documents (
id SERIAL PRIMARY KEY,
filename TEXT,
embedding VECTOR(768),
created_at TIMESTAMP DEFAULT NOW()
);
Вставка векторов:
# После получения векторов от Google
embedding = response['embedding']['values']
cursor.execute(
"INSERT INTO documents (filename, embedding) VALUES (%s, %s)",
(filename, embedding)
)
Шаг 4: Поиск по векторам
SQL запрос для Similarity Search:
SELECT filename,
1 - (embedding <=> $1) AS similarity
FROM documents
ORDER BY embedding <=> $1
LIMIT 1;
Где $1 — вектор вашего запроса (тоже через Gemini Embedding 2).
🎯 ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:
1. Умный поиск по документации
Загрузить: PDF с инструкциями
Поиск: "как настроить сервер?"
Результат: Страница 42 с скриншотом настроек
2. Поиск по видео-курсам
Загрузить: Видео-уроки (до 2 мин каждый)
Поиск: "объяснение циклов for"
Результат: Видео на 5:32 где объясняют циклы
3. Поиск по голосовым заметкам
Загрузить: Голосовые сообщения
Поиск: "идея для проекта"
Результат: Голосовое от 15 марта с идеей
4. Поиск по скриншотам
Загрузить: Скриншот ошибки
Поиск: 📸 Скриншот
Результат: Документ с решением этой ошибки
⚠️ ОГРАНИЧЕНИЯ:
| Параметр | Значение |
|---|---|
| Макс. размер видео | 2 минуты |
| Макс. размер файла | 20 MB |
| Размер вектора | 768 измерений |
| Поддерживаемые языки | 100+ (включая русский) |
💰 ТАРИФЫ:
| Операция | Лимит | Цена |
|---|---|---|
| Бесплатно | 1000 запросов/день | $0 |
| Платно | >1000 запросов | $0.02 / 1000 запросов |
⚠️ ДОСТУП В РФ:
Проблема: Google AI Studio может быть недоступен напрямую
Решение: Используйте семейный облачный сервер для доступа
🔗 Получить ключ: razdvavpn.netlify.app
🔗 ССЫЛКИ:
- Gemini Embedding 2: ai.google.dev
- API Keys: aistudio.google.com
- Документация: cloud.google.com
- Доступ из РФ: razdvavpn.netlify.app
💡 СОВЕТЫ:
- Конвертируйте всё в Base64 перед отправкой
- Видео режьте на части до 2 минут
- Сохраняйте векторы в Supabase или Pinecone
- Используйте Similarity Search для поиска
- Тестируйте на своих данных перед продакшеном
💡 Совет: Для доступа из России используйте семейный облачный сервер — надежно и недорого!
🎯 Вывод: Gemini Embedding 2 — это будущее мультимодального поиска. Одна модель вместо пяти, простое API и отличные результаты!