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
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:
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,
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)
Firestore Firebase (backend)
*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.