Comece a usar a IA generativa

Esta página ajuda você a começar a implementar recursos de IA generativa no seu app. Ele descreve os recursos e as integrações do Firestore que envolvem a IA generativa.

Guia de início rápido para pesquisa vetorial com o Firestore

Criar soluções inovadoras com tecnologia de IA para casos de uso, como recomendações de produtos e os chatbots, geralmente exigem a pesquisa de similaridade de vetores. É possível fazer a pesquisa de vetores nos dados do Firestore sem ter que copiar dados para outra solução de pesquisa de vetores, mantendo a simplicidade e a eficiência operacional.

O fluxo de trabalho principal para pesquisa de vetores no Firestore consiste em quatro etapas.

Entenda a pesquisa de vetores na nossa postagem do blog

Gerar embeddings de vetor

A primeira etapa para utilizar a pesquisa de vetores é gerar embeddings de vetor. Os embeddings são representações de diferentes tipos de dados, como texto, imagens, e vídeo que capturam semelhanças semânticas ou sintáticas entre as entidades que representam. Os embeddings podem ser calculados com o uso de um serviço, como o a API de embedding de texto da Vertex AI.

Armazenar embeddings no Firestore

Depois que os embeddings são gerados, é possível armazená-los no Firestore usando um dos SDKs compatíveis. A operação é assim no SDK do 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
});

Criar um índice vetorial

A próxima etapa é criar um índice vetorial de KNN do Firestore em que os embeddings de vetor são armazenados. Durante a versão de pré-lançamento, você precisará criar o índice usando a ferramenta de linha de comando gcloud.

Depois de adicionar todos os embeddings de vetor e criar o índice de vetores, você estará pronto para fazer a pesquisa. Depois, você vai usar a chamada find_nearest em uma referência de coleção para transmitir o embedding de vetor de consulta que será comparado aos embeddings armazenados e usado para especificar a função de distância que você quer usar.

Mais uma vez, conheça o fluxo de trabalho e outros casos de uso na nossa postagem do blog.

Resumo: armazene e consulte embeddings de vetor.

Caso de uso: esse recurso é utilizado pelas outras ferramentas e recursos.

Consulte o guia da pesquisa de vetores

Solução: extensão para pesquisa de vetores com o Firebase

Resumo: use a extensão do Firebase para incorporar e consultar automaticamente seus documentos do Firestore com o recurso de pesquisa de vetores.

Caso de uso: faça a pesquisa de vetores automática nos seus projetos do Firebase.

Revisar a descrição da extensão

Solução: integrações do LangChain

Resumo: use o Firestore como armazenamento de vetores, carregador de documentos ou fonte do histórico de mensagens de chat do LangChain.

Caso de uso: crie aplicativos de IA generativa ou fluxos de trabalho da geração aumentada de recuperação (RAG).

Consulte o guia do LangChain

Solução: Genkit

Resumo: o Firebase Genkit é um framework de código aberto que ajuda você a criar, implantar e monitorar apps com tecnologia de IA prontos para produção.

Caso de uso: usar o Genkit e o Firestore para criar aplicativos que geram conteúdo personalizado, usar pesquisa semântica, lidar com entradas não estruturadas, responder relacionadas a dados da empresa e muito mais.

Consulte a documentação do Firebase Genkit