As novas funcionalidades do Firebase!? Desenvolvimento de aplicativos incorporando recursos de IA Generativa!
As novas funcionalidades do Firebase!? Desenvolvimento de aplicativos incorporando recursos de IA Generativa!
Recentemente, temos ouvido falar diariamente sobre IA Generativa (Generative AI), como o ChatGPT e o Google Bard.
Em maio de 2023, no Google I/O 2023, foram anunciadas novas funcionalidades do Firebase relacionadas à IA Generativa.
Neste post, vou apresentar como desenvolver rapidamente aplicações incorporando a IA Generativa utilizando estas novas funcionalidades do Firebase.
Índice
- O que é o Firebase?
- O que são as extensões do Firebase?
- Sobre as novas funcionalidades adicionadas às Extensões do Firebase
- Vamos experimentar na prática
- Criando um aplicativo para resumo
- Conclusão
1. O que é o Firebase?
Firebase é um serviço de backend especializado para o desenvolvimento de aplicações móveis / web.
Ao utilizar o Firebase, não há necessidade de desenvolver e gerenciar o backend, permitindo que você se concentre no desenvolvimento front-end de aplicações móveis / web.
Como resultado, você pode esperar uma redução significativa no tempo de desenvolvimento.
2. O que são as Extensões do Firebase?
O Firebase possui uma funcionalidade chamada Extensões do Firebase, que permite implantar rapidamente funcionalidades em aplicações utilizando soluções pré-empacotadas.
Exemplos de Extensões do Firebase incluem a geração de imagens redimensionáveis, envio de e-mails, limpeza automática de banco de dados, entre outros.
Por exemplo, para usar a solução de geração de imagens redimensionáveis, tudo o que você precisa fazer é pressionar o botão “Instalar” na seção “Redimensionar Imagens” que aparece na captura de tela acima.
Você pode usar essas soluções úteis de forma simples e rápida.
Além disso, você pode verificar a lista de soluções disponíveis no Firebase Extensions Hub.
3. Sobre as novas funcionalidades adicionadas às Extensões do Firebase
No Google I/O 2023, realizado em maio de 2023, mais de 20 funcionalidades (soluções) foram adicionadas às Extensões do Firebase.
Dentre elas, algumas estão relacionadas à IA Generativa:
- Chatbot with PaLM API
- Summarize Text with PaLM API
- Language Tasks with PaLM API
- Semantic Search with Vertex AI
- Call PaLM API Securely
O que é a PaLM API?
A PaLM API é uma API baseada no modelo de próxima geração da Google, o PaLM 2, que está incorporado no Google Bard.
O PaLM utiliza a tecnologia de Processamento de Linguagem Natural (NLP) para possibilitar a geração, sumarização e classificação de texto.
Especificamente, através da PaLM API, você pode acessar as seguintes funcionalidades avançadas de processamento de linguagem natural.
Função | Descrição |
Criação de conteúdo | Gera novos textos e artigos |
Resumo | Resumir textos longos de forma concisa e destacando os principais pontos |
Classificação | Classificar textos em categorias ou tags |
A partir de agora, vamos acessar as funcionalidades avançadas do modelo de linguagem de grande escala da Google, utilizando a PaLM API através das Extensões do Firebase.
4. Vamos experimentar na prática
Agora, vamos instalar a PaLM API no projeto Firebase e experimentar várias coisas. (Aqui, assumimos que o projeto Firebase já foi criado.)
Instalando a PaLM API
Primeiro, pesquise por “PaLM API” na barra de pesquisa das Extensões do Firebase e instale no Firebase.
Quando você realiza a pesquisa,
- Chatbot with PaLM API
- Summarize Text with PaLM API
- Language Tasks with PaLM API
- Semantic Search with Vertex AI
- Call PaLM API Securely
Aparecem 5 tipos de funcionalidades e desta vez, vamos usar o Summarize Text with PaLM API.
Ao pressionar o botão “Instalar”, a funcionalidade é adicionada ao projeto Firebase correspondente.
O Summarize Text with PaLM API que instalamos acima é configurado para que, quando um documento com um determinado nome de campo é adicionado a uma determinada coleção do Firestore, uma função do Cloud Functions usando a PaLM API seja executada.
Portanto, ao instalar o Summarize Text with PaLM API, você precisa configurar a coleção e documento do Firestore que servirão de gatilho para o Cloud Functions.
Neste caso, vamos configurar o gatilho com as seguintes condições.
Collection Name | Text field | Response Field(Campo no qual o resultado é armazenado) |
text_documents | text | summary |
Portanto, neste projeto Firebase, quando um documento com o campo “text” é adicionado à coleção “text_documents” do Firestore, a API PaLM resume o texto através do Cloud Functions e armazena o resultado no campo “summary”.
Verificando se o documento especificado foi resumido
Agora, para acionar o gatilho do Cloud Functions que configuramos, adicionamos um documento contendo o campo “text” à coleção “text_documents”.
Em seguida, o texto especificado no campo “text” foi armazenado no campo “summary” em forma resumida após alguns segundos.
Ele fez um bom trabalho ao resumir de maneira concisa.
before | after |
I lived in Iwate for a long time. I recommend it as a place with a lot of nature and very easy to live in. I encourage everyone to come and visit. | Iwate is a great place to live with lots of nature and easy to live. |
5. Criando um aplicativo de resumo
Até agora, explicamos como usar a API PaLM (Summarize Text with PaLM API) através das Extensões do Firebase.
Finalmente, como um resumo, vamos criar um simples aplicativo de resumo usando o Summarize Text with PaLM API.
Estrutura
A estrutura do aplicativo de resumo é mostrada a seguir:
Flutter (frontend)
- Fornece a UI como um aplicativo cliente
- Envia uma solicitação para adicionar um documento à coleção “text_documents” do Firebase
- Firestore com base no conteúdo inserido na UI Recebe o resultado do resumo do Firebase
Firestore Firebase (backend)
- Instala o Sumarizar Texto com PaLM API através das Extensões
- Com a instalação da API, uma função do Cloud Functions é automaticamente implantada com o Firestore como gatilho
- Adiciona um documento ao Firestore em resposta à solicitação de adição de documento do frontend
- Quando um documento é adicionado, uma função do Cloud Functions é executada para resumir o texto via API PaLM
- Envia o resultado do resumo para o cliente
*Neste artigo, como estamos explicando como usar a API PaLM através das Extensões do Firebase, omitiremos os detalhes da implementação do Flutter.
*Os detalhes da implementação serão publicados como código de exemplo.
https://github.com/cloud-ace/zenn-palm-api-sample
6. Conclusão
Recentemente, várias tecnologias, incluindo a API PaLM estão sendo abstraídas e é possível criar serviços facilmente sem conhecer os detalhes da implementação.
No entanto, acreditamos que entender os detalhes das partes abstraídas pode permitir que sejam aplicados a outras tecnologias, por isso continuaremos aprendendo e nos atualizando em todos os campos.