Construindo um aplicativo de IA em 10 minutos: um guia passo a passo

Gêmeos
Nodejs
IA
Guia
Construindo um aplicativo de IA em 10 minutos: um guia passo a passo cover image

Desde o surgimento do ChatGPT e do Google Gemini, vimos muitos aplicativos sendo lançados aproveitando esses modelos. A técnica é chamada de arbitragem, um método que pega uma das múltiplas tarefas que a IA pode realizar, aprimora-a com prompts eficientes e, em seguida, fornece-a aos clientes como um recurso.

Este artigo será um guia passo a passo sobre como integrar o modelo Google Gemini em nosso aplicativo Node.js. Veremos como usar o Gemini-pro, que lida com texto generativo, e o Gemini-pro-vision, que lida com imagens.

Começaremos primeiro configurando o projeto e depois usá-lo em um exemplo próprio.

Requisitos

Começando

Primeiro, crie um novo projeto Node.js dentro de uma pasta vazia:

mkdir gemini-node  
cd gemini-node
npm init -y

Agora, instalaremos os pacotes necessários para o arquivo de ambiente e o Gemini SDK:

npm install dotenv @google/generative-ai

Configuração da chave API

Na sua Google AI Platform, clique no botão Obter chave de API para obter a chave de API e salve-a em seu arquivo de ambiente (.env) no diretório raiz:

API_KEY=YOUR_GEMINI_KEY

Crie uma nova pasta lib e crie um arquivo config.js dentro dela. Para a próxima etapa, exportaremos nossa chave API:

const  dotenv  =  require("dotenv");
dotenv.config();

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Configuração do Gemini SDK

Nesta etapa, configuraremos nossos modelos para que possamos utilizá-los em nosso código. Dentro de nossa pasta lib, vamos criar 2 arquivos, gemini.js para manipulação de texto e gemini-vision.js para manipulação de imagens.

1- Google Gemini Pro

const { GoogleGenerativeAI } = require("@google/generative-ai");
const { API_KEY } = require("./config");

const googleAI = new GoogleGenerativeAI(API_KEY);
const geminiConfig = {
  temperature: 0.9,
  topP: 1,
  topK: 1,
  maxOutputTokens: 4096,
};

const geminiModel = googleAI.getGenerativeModel({
  model: "gemini-pro",
  geminiConfig,
});

const generateText = async (prompt) => {
  try {
    const result = await geminiModel.generateContent(prompt);
    const response = result.response;
    return response.text();
  } catch (error) {
    console.log("response error", error);
  }
};

module.exports = { generateText };

Usaremos a função exportada para gerar texto a partir de um prompt. Podemos usá-lo para construir um sistema de chat, tradução de textos e muitos outros casos de uso.

2- Visão Google Gemini

const { GoogleGenerativeAI } = require("@google/generative-ai");
const { API_KEY } = require("./config");
const fs = require("fs");

const googleAI = new GoogleGenerativeAI(API_KEY);
const geminiConfig = {
  temperature: 0.4,
  topP: 1,
  topK: 32,
  maxOutputTokens: 4096,
};

const geminiModel = googleAI.getGenerativeModel({
  model: "gemini-pro-vision",
  geminiConfig,
});

const interactWithImage = async (filePath) => {
  try {
    const imageFile = fs.readFileSync(filePath);
    const imageBase64 = imageFile.toString("base64");

    const promptConfig = [
      { text: "Generate a caption from this image" },
      {
        inlineData: {
          mimeType: "image/jpeg",
          data: imageBase64,
        },
      },
    ];

    const result = await geminiModel.generateContent({
      contents: [{ role: "user", parts: promptConfig }],
    });

    return result.response.text();
  } catch (error) {
    console.log("response error", error);
  }
};

module.exports = { interactWithImage };

Usaremos a função exportada para gerar texto a partir de uma imagem.

Construindo o aplicativo

Crie um novo arquivo index.js e cole este código:

const main = async () => {
  console.log("Hello world!");
};

main();

Agora podemos importar nossas funções exportadas e usá-las para gerar texto, seja a partir de uma pergunta ou de um prompt de imagem.

A função usa um caminho de arquivo como argumento, então você precisará adicionar um arquivo de imagem à pasta do seu projeto para testá-lo.

Nosso código será convertido em:

const { generateText } = require("./lib/gemini");
const { interactWithImage } = require("./lib/gemini-vision");
const path = require("path");

const main = async () => {
  // Text Generation
  let textFromPrompt = await generateText(
    "tell me about bootcamps in a sentence"
  );
  console.log(textFromPrompt);

  // Caption Generation
  const directoryName = path.join(__dirname, "fish.jpg");
  let captionFromImage = await interactWithImage(directoryName);
  console.log(captionFromImage);
};

main();

Qual é o próximo

Agora você pode usar ExpressJS para construir uma API em vez de um script. Você também pode pesquisar sobre as práticas recomendadas para escrever prompts para seus casos de uso.

Estes são alguns exemplos de aplicativos que você pode criar:

  • Gerador de metadados de SEO usando API Unsplash

  • Retome o revisor adicionando um script extra que obtém conteúdo do PDF

  • Escritor de biografia do Instagram a partir de uma imagem

Você está interessado em criar aplicativos melhores? Participe do nosso bootcamp de Desenvolvimento Web e aprenda como construir um produto totalmente funcional!


By Omar Mokhfi

Career Services background pattern

Serviços de carreira

Contact Section background image

Vamos manter-nos em contacto

Code Labs Academy © 2024 Todos os direitos reservados.