Семантический поиск на LangChain и Oracle AI Database

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

О чём урок

В этом руководстве показано, как создать рабочий процесс семантического поиска с использованием: OpenAI embeddings для преобразования текста в векторные представления интеграции LangChain с Oracle vector store для записи и запроса векторов через привычный Python-интерфейс Oracle AI Database Vector Search для хранения embeddings наряду с реляционными/прикладными данными OpenAI используется для генерации embeddings. LangChain предоставляет абстракцию vector store, а Oracle AI Database обеспечивает хранение векторов и поиск по сходству (similarity search). Это явно определяет роль OpenAI, не подразумевая, что OpenAI предоставляет отдельную управляемую функцию vector search. Этот паттерн полезен для retrieval-augmented generation (RAG), внутреннего семантического поиска и приложений, где исходные данные уже находятся в Oracle. Он позволяет добавить семантический поиск (semantic retrieval) без внедрения отдельной векторной базы данных, сохраняя при этом интерфейс поиска LangChain доступным для более крупных рабочих процессов приложений. Текстовые документы преобразуются в embeddings с помощью text-embedding-3-small. LangChain записывает текст, метаданные и векторы в таблицу Oracle AI Database. Запрос на естественном языке преобразуется в embedding с помощью той же модели OpenAI. Oracle AI Database Vector Search возвращает ближайшие сохраненные документы. Извлеченный текст может быть передан модели генерации в более крупном RAG-приложении. учетных данных из переменных среды или локального файла .env. Подключение к Oracle AI Database с помощью Python-драйвера oracledb. Инициализация OpenAI embeddings и Oracle vector store от LangChain. Вставка небольшого повторно запускаемого набора демонстрационных данных без накопления дубликатов. Выполнение семантического поиска по сходству (semantic similarity search) с помощью similarity_search(..., k=3). Python 3.10+ Ключ OpenAI API с доступом к embeddings Oracle AI Database с включенным Vector Search Python-пакеты: langchain, langchain-openai, langchain-oracledb, oracledb, python-dotenv, numpy Если эти пакеты уже установлены в вашей среде, эта cell не внесет никаких изменений. Notebook считывает конфигурацию из переменных среды.

План урока

  1. Краткий обзор архитектуры
  2. Что демонстрирует этот notebook
  3. Требования
  4. Установка зависимостей
  5. Настройка учетных данных и подключения к Oracle
  6. Варианты настройки Oracle
  7. Подключение к Oracle AI Database
  8. Выбор демонстрационной таблицы и метрики расстояния

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

Урок входит в темы

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