Начните работу с генеративным ИИ

Эта страница поможет вам начать внедрение функций генеративного ИИ в ваше приложение. Здесь описаны функции и интеграции Firestore, использующие генеративный ИИ.

Быстрый старт для векторного поиска с помощью Cloud Firestore

Создание инновационных решений на основе ИИ для таких задач, как рекомендации товаров и чат-боты, часто требует поиска по сходству векторов, или, сокращенно, векторного поиска. Вы можете выполнять векторный поиск по данным Firestore без необходимости копирования данных в другое решение для векторного поиска, сохраняя простоту и эффективность работы.

Основной рабочий процесс векторного поиска в Cloud Firestore состоит из 4 шагов.

Подробное описание векторного поиска вы найдете в нашей статье в блоге.

Генерация векторных представлений

Первый шаг в использовании векторного поиска — это генерация векторных представлений. Векторные представления — это способы отображения различных типов данных, таких как текст, изображения и видео, которые отражают семантическое или синтаксическое сходство между представляемыми ими объектами. Векторные представления можно рассчитать с помощью сервиса, например, API для генерации текстовых векторных представлений от Vertex AI.

Хранить встраивания в Firestore

После генерации эмбеддингов вы можете сохранить их в Firestore, используя один из поддерживаемых SDK. Вот как выглядит эта операция в SDK NodeJS:

const db = new Firestore();
let collectionRef = db.collection("beans");
await collectionRef.add({
  name: "Kahawa coffee beans",
  type: "arabica",
  description: "Information about the Kahawa coffee beans.",
  embedding_field: FieldValue.vector([0.1, 0.3, ..., 0.2]), // a vector with 768 dimensions
});

Создать векторный индекс

Следующий шаг — создание векторного индекса Firestore KNN, в котором будут храниться векторные представления. В предварительной версии вам потребуется создать индекс с помощью инструмента командной строки gcloud .

После того как вы добавили все векторные представления и создали векторный индекс, вы готовы выполнить поиск. Затем вы используете вызов find_nearest для ссылки на коллекцию, чтобы передать векторное представление запроса, с которым будут сравниваться сохраненные представления, и указать функцию расстояния, которую вы хотите использовать.

Ещё раз, ознакомьтесь с рабочим процессом и другими вариантами использования в нашей статье в блоге .

Краткое описание: Хранение и запрос векторных представлений.

Пример использования: Эта функция используется другими инструментами и функциями.

См. руководство по векторному поиску.

Решение: расширение для векторного поиска с использованием Firebase.

Краткое описание: Используйте расширение Firebase для автоматического встраивания и запроса документов Firestore с помощью функции векторного поиска.

Пример использования: Выполнение автоматического векторного поиска в ваших проектах Firebase.

Ознакомьтесь с описанием расширения.

Решение: интеграция с LangChain.

Краткое описание: Используйте Firestore в качестве хранилища векторных данных, загрузчика документов или источника истории сообщений чата для LangChain.

Пример использования: Создание приложений генеративного искусственного интеллекта или рабочих процессов генерации с дополненной реальностью (RAG).

См. руководство по LangChain.

Решение: Genkit

Краткое описание: Genkit — это фреймворк с открытым исходным кодом, который помогает создавать, развертывать и отслеживать готовые к использованию в производственной среде приложения на основе искусственного интеллекта.

Пример использования: Используйте Genkit и Cloud Firestore для создания приложений, которые генерируют пользовательский контент, используют семантический поиск, обрабатывают неструктурированные входные данные, отвечают на вопросы с помощью ваших бизнес-данных и многое другое!

См. документацию Genkit.