Construirea unei aplicații AI în 10 minute: un ghid pas cu pas

Gemeni
Nodejs
AI
Ghid
Construirea unei aplicații AI în 10 minute: un ghid pas cu pas cover image

De la apariția ChatGPT și Google Gemini, am văzut multe aplicații lansate folosind aceste modele. Tehnica se numește arbitraj, o metodă care preia una dintre multiplele sarcini pe care AI le poate face, o îmbunătățește cu solicitări eficiente și apoi o oferă clienților ca o caracteristică.

Acest articol va fi un ghid pas cu pas despre cum să integrați modelul Google Gemini în aplicația noastră Node.js. Vom vedea cum să folosim atât Gemini-pro care se ocupă de textul generativ, cât și Gemini-pro-vision care se ocupă de imagini.

Vom începe mai întâi prin a configura proiectul, apoi îl vom folosi pe un exemplu al nostru.

Cerințe

Noțiuni de bază

Mai întâi, creați un nou proiect Node.js într-un folder gol:

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

Acum, vom instala pachetele necesare pentru fișierul de mediu și SDK-ul Gemini:

npm install dotenv @google/generative-ai

Configurare cheie API

Pe platforma dvs. Google AI, faceți clic pe butonul Obțineți cheia API pentru a obține cheia API, apoi salvați-o în fișierul de mediu (.env) în directorul rădăcină:

API_KEY=YOUR_GEMINI_KEY

Creați un nou folder lib și creați un fișier config.js în el, apoi pentru următorul pas, vom exporta cheia API:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Configurare Gemini SDK

În acest pas, ne vom configura modelele astfel încât să le putem folosi în codul nostru. În interiorul folderului nostru lib, să creăm 2 fișiere, gemini.js pentru manipularea textului și gemini-vision.js pentru manipularea imaginilor.

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

Vom folosi funcția exportată pentru a genera text dintr-un prompt. Îl putem folosi pentru a construi un sistem de chat, traducere text și multe alte cazuri de utilizare.

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

Vom folosi funcția exportată pentru a genera text dintr-o imagine.

Construirea aplicației

Creați un nou fișier index.js și inserați acest cod:

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

main();

Acum, putem importa funcțiile noastre exportate și le putem folosi pentru a genera text, fie dintr-o întrebare sau dintr-un prompt de imagine.

Funcția ia o cale de fișier ca argument, așa că va trebui să adăugați un fișier imagine în folderul proiectului pentru a-l testa.

Codul nostru se va converti în:

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

Ce urmeaza

Acum, puteți utiliza ExpressJS pentru a construi un API în loc de un script. De asemenea, puteți cerceta cele mai bune practici privind scrierea solicitărilor pentru cazurile dvs. de utilizare.

Acestea sunt câteva exemple de aplicații pe care le puteți crea:

  • Generator de metadate SEO folosind Unsplash API

  • Reluați examinatorul adăugând un script suplimentar care primește conținut din PDF

  • Scriitor de bio Instagram dintr-o imagine

Ești interesat să construiești aplicații mai bune? Alăturați-vă campului nostru de dezvoltare web și învățați cum să construiți un produs complet funcțional!


By Omar Mokhfi

Career Services background pattern

Servicii de carieră

Contact Section background image

Să rămânem în legătură

Code Labs Academy © 2024 Toate drepturile rezervate.