Creare un'applicazione AI in 10 minuti: una guida passo passo

Gemelli
Nodejs
AI
Guida
Creare un'applicazione AI in 10 minuti: una guida passo passo cover image

Dalla comparsa di ChatGPT e Google Gemini, abbiamo visto il lancio di molte app che sfruttano questi modelli. La tecnica si chiama arbitraggio, un metodo che prende uno dei molteplici compiti che l’intelligenza artificiale può svolgere, lo migliora con suggerimenti efficienti e quindi lo fornisce ai clienti come funzionalità.

Questo articolo sarà una guida passo passo su come integrare il modello Google Gemini nella nostra applicazione Node.js. Vedremo come utilizzare sia Gemini-pro che gestisce il testo generativo, sia Gemini-pro-vision che gestisce le immagini.

Inizieremo prima impostando il progetto e poi utilizzarlo su un nostro esempio.

Requisiti

Iniziare

Innanzitutto, crea un nuovo progetto Node.js all'interno di una cartella vuota:

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

Ora installeremo i pacchetti richiesti per il file di ambiente e Gemini SDK:

npm install dotenv @google/generative-ai

Configurazione della chiave API

Sulla tua piattaforma Google AI, fai clic sul pulsante Ottieni chiave API per ottenere la chiave API, quindi salvala nel file di ambiente (.env) nella directory principale:

API_KEY=YOUR_GEMINI_KEY

Crea una nuova cartella lib e crea un file config.js al suo interno, quindi per il passaggio successivo esporteremo la nostra chiave API:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Configurazione dell'SDK Gemini

In questo passaggio, configureremo i nostri modelli in modo da poterli utilizzare nel nostro codice. All'interno della nostra cartella lib, creiamo 2 file, gemini.js per la gestione del testo e gemini-vision.js per la gestione delle immagini.

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 };

Utilizzeremo la funzione esportata per generare testo da un prompt. Possiamo usarlo per creare un sistema di chat, traduzione di testi e molti altri casi d'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 };

Utilizzeremo la funzione esportata per generare testo da un'immagine.

Creazione dell'app

Crea un nuovo file index.js e incolla questo codice:

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

main();

Ora possiamo importare le nostre funzioni esportate e usarle per generare testo, da una domanda o da un'immagine.

La funzione accetta il percorso di un file come argomento, quindi dovrai aggiungere un file immagine alla cartella del progetto per testarlo.

Il nostro codice verrà convertito in:

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 è il prossimo passo?

Ora puoi utilizzare ExpressJS per creare un'API anziché uno script. Puoi anche ricercare le migliori pratiche per la scrittura di istruzioni per i tuoi casi d'uso.

Questi sono alcuni esempi di app che puoi creare:

  • Generatore di metadati SEO utilizzando API Unsplash

  • Riprendi il revisore aggiungendo uno script aggiuntivo che ottiene il contenuto dal PDF

  • Scrittore bio di Instagram da un'immagine

Sei interessato a creare app migliori? Partecipa al nostro bootcamp sullo sviluppo Web e scopri come creare un prodotto completamente funzionale!


By Omar Mokhfi

Career Services background pattern

Servizi per le carriere

Contact Section background image

Rimaniamo in contatto

Code Labs Academy © 2024 Tutti i diritti riservati.