Construír unha aplicación de IA en 10 minutos: unha guía paso a paso

Gemini
Nodejs
AI
Guía
Construír unha aplicación de IA en 10 minutos: unha guía paso a paso cover image

Desde a aparición de ChatGPT e Google Gemini, vimos que se lanzaron moitas aplicacións aproveitando estes modelos. A técnica chámase arbitraxe, un método que toma unha das múltiples tarefas que pode facer a IA, realízaa con indicacións eficientes e, a continuación, ofrécelle aos clientes como función.

Este artigo será unha guía paso a paso sobre como integrar o modelo Google Gemini na nosa aplicación Node.js. Veremos como usar tanto Gemini-pro que manexa texto xerativo como Gemini-pro-vision que manexa imaxes.

Comezaremos primeiro configurando o proxecto, e despois utilizalo nun exemplo propio.

Requisitos

Comezando

Primeiro, crea un novo proxecto Node.js dentro dun cartafol baleiro:

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

Agora, instalaremos os paquetes necesarios para o ficheiro de ambiente e o SDK Gemini:

npm install dotenv @google/generative-ai

Configuración da chave API

Na túa plataforma de AI de Google, fai clic no botón Obter clave API para obter a clave API e despois gárdaa no ficheiro do teu contorno (.env) no directorio raíz:

API_KEY=YOUR_GEMINI_KEY

Cree un novo cartafol lib e cree un ficheiro config.js dentro del, a continuación, para o seguinte paso, exportaremos a nosa clave API:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Configuración do SDK Gemini

Neste paso, configuraremos os nosos modelos para que poidamos utilizalos no noso código. Dentro do noso cartafol lib, creemos 2 ficheiros, gemini.js para manexar texto e gemini-vision.js para xestionar imaxes.

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 función exportada para xerar texto a partir dunha solicitude. Podemos usalo para construír un sistema de chat, tradución de texto e moitos máis casos de uso.

2- Google Gemini Vision

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 función exportada para xerar texto a partir dunha imaxe.

Creando a aplicación

Crea un novo ficheiro index.js e pega este código:

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

main();

Agora, podemos importar as nosas funcións exportadas e usalas para xerar texto, xa sexa a partir dunha pregunta ou dunha imaxe.

A función toma un camiño de ficheiro como argumento, polo que terás que engadir un ficheiro de imaxe ao cartafol do teu proxecto para probalo.

O noso código converterase en:

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();

Que segue

Agora podes usar ExpressJS para crear unha API en lugar dun script. Tamén podes investigar sobre as mellores prácticas para escribir solicitudes para os teus casos de uso.

Estes son algúns exemplos de aplicacións que podes crear:

  • Xerador de metadatos de SEO usando Unsplash API

  • Reanude o revisor engadindo un script adicional que obtén contido de PDF

  • Escritor de biografía de Instagram a partir dunha imaxe

Estás interesado en crear mellores aplicacións? Únete ao noso bootcamp de desenvolvemento web e aprende a crear un produto totalmente funcional!


By Omar Mokhfi

Career Services background pattern

Servizos de Carreira

Contact Section background image

Mantémonos en contacto

Code Labs Academy © 2024 Todos os dereitos reservados.