Семантический поиск на Supabase Vector

Урок 284 из 299 курса «OpenAI Cookbook»: официальный курс OpenAI Academy (ОпенАИ) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Цель этого руководства — продемонстрировать, как хранить OpenAI embeddings в Supabase Vector (Postgres + pgvector) для целей семантического поиска. Supabase — это альтернатива Firebase с открытым исходным кодом, построенная на базе Postgres, производственной SQL-базы данных. Поскольку Supabase Vector построен на pgvector, вы можете хранить свои embeddings в той же базе данных, которая содержит остальные данные вашего приложения. В сочетании с алгоритмами индексирования pgvector, векторный поиск остаётся быстрым при больших масштабах. Supabase предлагает экосистему сервисов и инструментов для максимально быстрого создания приложений (например, автоматически генерируемый REST API). Мы будем использовать эти сервисы для хранения и запроса embeddings в Postgres. Это руководство охватывает: Настройка вашей базы данных Создание SQL-таблицы, которая может хранить векторные данные Генерация OpenAI embeddings с использованием JavaScript-клиента OpenAI Хранение embeddings в вашей SQL-таблице с использованием JavaScript-клиента Supabase Выполнение семантического поиска по embeddings с использованием функции Postgres и JavaScript-клиента Supabase Сначала перейдите на https://database.new, чтобы подготовить вашу базу данных Supabase. Это создаст базу данных Postgres на облачной платформе Supabase. В качестве альтернативы вы можете воспользоваться опциями локальной разработки, если вы предпочитаете запускать базу данных локально с использованием Docker. В студии перейдите в SQL editor и выполните следующий SQL-запрос, чтобы включить pgvector: В производственном приложении лучшей практикой является использование database migrations, чтобы все SQL-операции управлялись в системе контроля версий. Чтобы упростить задачу в этом руководстве, мы будем выполнять запросы непосредственно в SQL Editor. Если вы создаете производственное приложение, не стесняйтесь перенести их в миграцию базы данных. Далее мы создадим таблицу для хранения документов и embeddings. В SQL Editor выполните: Поскольку Supabase построен на Postgres, мы используем здесь обычный SQL. Вы можете изменять эту таблицу по своему усмотрению, чтобы она лучше соответствовала вашему приложению. Если у вас есть существующие таблицы базы данных, вы можете просто добавить новый столбец vector в соответствующую таблицу.

План урока

  1. Настройка базы данных
  2. Создание векторной таблицы
  3. Генерация OpenAI embeddings
  4. Хранение embeddings в базе данных
  5. Семантический поиск
  6. Следующие шаги

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды