Creación de una aplicación de IA en 10 minutos: una guía paso a paso

Géminis
Nodejs
AI
Guía
Creación de una aplicación de IA en 10 minutos: una guía paso a paso cover image

Desde la aparición de ChatGPT y Google Gemini, hemos visto el lanzamiento de muchas aplicaciones aprovechando estos modelos. La técnica se llama arbitraje, un método que toma una de las múltiples tareas que la IA puede realizar, la mejora con indicaciones eficientes y luego se la ofrece a los clientes como una característica.

Este artículo será una guía paso a paso sobre cómo integrar el modelo Google Gemini en nuestra aplicación Node.js. Veremos cómo usar Gemini-pro que maneja texto generativo y Gemini-pro-vision que maneja imágenes.

Primero comenzaremos configurando el proyecto y luego lo usaremos en nuestro propio ejemplo.

Requisitos

Empezando

Primero, cree un nuevo proyecto Node.js dentro de una carpeta vacía:

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

Ahora, instalaremos los paquetes necesarios para el archivo de entorno y el SDK de Gemini:

npm install dotenv @google/generative-ai

Configuración de clave API

En su Google AI Platform, haga clic en el botón Obtener clave API para obtener la clave API y luego guárdela en su archivo de entorno (.env) en el directorio raíz:

API_KEY=YOUR_GEMINI_KEY

Cree una nueva carpeta lib y cree un archivo config.js dentro de ella, luego, para el siguiente paso, exportaremos nuestra clave API:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Configuración del SDK de Gemini

En este paso, configuraremos nuestros modelos para poder usarlos en nuestro código. Dentro de nuestra carpeta lib, creemos 2 archivos, gemini.js para manejar texto y gemini-vision.js para manejar imágenes.

1- Google Géminis 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 la función exportada para generar texto a partir de un mensaje. Podemos usarlo para construir un sistema de chat, traducción de texto y muchos más casos de uso.

2- Visión de Géminis de Google

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 la función exportada para generar texto a partir de una imagen.

Construyendo la aplicación

Cree un nuevo archivo index.js y pegue este código:

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

main();

Ahora, podemos importar nuestras funciones exportadas y usarlas para generar texto, ya sea a partir de una pregunta o una imagen.

La función toma una ruta de archivo como argumento, por lo que deberá agregar un archivo de imagen a la carpeta de su proyecto para probarlo.

Nuestro código se convertirá 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 sigue

Ahora puede utilizar ExpressJS para crear una API en lugar de un script. También puede investigar sobre las mejores prácticas para escribir indicaciones para sus casos de uso.

Estos son algunos ejemplos de aplicaciones que puedes crear:

  • Generador de metadatos SEO usando API Unsplash

  • Reanudar el revisor agregando un script adicional que obtiene contenido del PDF

  • Redactor de biografía de Instagram a partir de una imagen.

¿Estás interesado en crear mejores aplicaciones? Únase a nuestro bootcamp de desarrollo web y aprenda cómo crear un producto completamente funcional.


By Omar Mokhfi

Career Services background pattern

Servicios profesionales

Contact Section background image

Mantengámonos en contacto

Code Labs Academy © 2024 Todos los derechos reservados.