DEV Community

Toshi Ossada for flutterbrasil

Posted on

Oficial! Gemini Google AI Dart/Flutter SDK— Integrando Flutter com o GEMINI

Fala Devs, blz?

No dia 14/02/2024 a Google anunciou oficialmente o Gemini(https://gemini.google.com/) e no dia 15/02/2024 a Google nos surpreendeu com o lançamento do Flutter 3.19.0 e com ele o Dart 3.3 essa versão veio com muitas novidades (https://medium.com/flutter/whats-new-in-flutter-3-19-58b1aae242d2) que iremos comentar em breve. Contudo, algo que nos fez brilhar os olhos foi o anúncio do Gemini google AI Dart SDK, ou seja, um SDK do Gemini nativamente para o Flutter/Dart, isso ressalta a importância que o Flutter está tendo para a Google, pois o Flutter/DART é a primeira ferramenta com um SDK Nativo.

E eu vendo isso já fui testar e trazer as novidade para vocês, pois com um package desenvolvido pela Google faz perder todo o sentido de usar um pacote terceiro para podermos integrar com o Gemini(https://pub.dev/packages/google_generative_ai).

Para começar ainda necessitaremos gerar nossa API Key em https://ai.google.dev/ como expliquei em detalhes no artigo anterior.

Agora em nosso projeto flutter necessitaremos adicionar o pacote no pubspec

flutter pub add google_generative_ai

Iremos abordar os dois modos disponíveis: somente texto e chat com contexto. Para configurar o Gemini precisamos instanciar o objeto GenerativeModel() passando a ApiKey (que estamos passando via dart-define-from-file) e o modelo de IA, iremos utilizar o gemini-pro.

Para gerarmos um diálogo com o Gemini precisamos gerar um Content.text(String) passando nossa pergunta e utilizando o método generateContent() do GeminiModel() iremos obter a resposta dada pela IA.

E a partir daí é só mostrar na tela a resposta gerada pelo Gemini, caso deseja fazer a animação de digitação igual ao artigo anterior podemos utilizar o AnimatedTextKit(https://pub.dev/packages/animated_text_kit) para isso.

Também é possível criar um diálogo com contexto para a conversa, podendo pré-definir algum prompt, para isso precisamos além de configurar o GeminiModel() também necessitamos iniciar um chat com o método startChat()

Agora para enviar mensagens para o Gemini basta executarmos o método sendMessage() passando a mensagem.

Agora para mostrarmos a conversa a tela podemos pegar o histórico do chat

O history nos traz algumas informações importante com o remetente da mensagem no atributo role que será “user” caso tenha sido o usuário que enviou a mensagem ou “model” caso seja a IA que tenha enviado a mensagem.

Outro ponto importante é juntar todas as partes da resposta enviada pelo Gemini

E por fim podemos exibir a mensagem na tela do nosso aplicativo

E o resultado será esse

Infelizmente o modelo de análise de imagens ainda não esta disponivel.

Mas creio que em um futuro proxímo poderemos fazer algo do tipo

Vale ressaltar que alguns recursos não estão disponíveis na versão gratuita e é possível consultar os planos em https://ai.google.dev/pricing?hl=pt-br.

Muito bacana essa novidade né? Todos sabemos que o Gemini é a grande novidade da Google e que eles vão investir e evoluir muito nele e que em menos de uma semana já desenvolveram um SDK para o Flutter só nos mostra a importância desta ferramenta que amamos para a Google e que ainda tem muitos anos de vida.

Podem conferir o exemplo que usei neste artigo em

https://github.com/toshiossada/gemini_flutter_example

Image description

Entre em nosso discord para interagir com a comunidade: flutterbrasil.com.br

Top comments (0)