Эта страница поможет вам начать внедрение функций генеративного ИИ в ваше приложение. Здесь описаны функции и интеграции 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).
Решение: Genkit
Краткое описание: Genkit — это фреймворк с открытым исходным кодом, который помогает создавать, развертывать и отслеживать готовые к использованию в производственной среде приложения на основе искусственного интеллекта.
Пример использования: Используйте Genkit и Cloud Firestore для создания приложений, которые генерируют пользовательский контент, используют семантический поиск, обрабатывают неструктурированные входные данные, отвечают на вопросы с помощью ваших бизнес-данных и многое другое!