Начните использовать генеративный ИИ

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

Краткое руководство по векторному поиску с помощью Cloud Firestore

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

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

Подробнее о векторном поиске

Создание векторных эмбеддингов

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

Сохранение эмбеддингов в Firestore

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

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 для ссылки на коллекцию, чтобы передать векторное встраивание запроса, с которым будут сравниваться сохраненные встраивания, и указать функцию расстояния, которую вы хотите использовать.

Подробнее о рабочем процессе и других примерах использования читайте в нашем блоге.

Краткое описание. Хранение и запрос векторных эмбеддингов.

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

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

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

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

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

Руководство по LangChain

Решение: Genkit

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

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

Документация по Genkit