MI-alkalmazás készítése 10 perc alatt: lépésről lépésre

Gemini
Nodejs
AI
Guide
MI-alkalmazás készítése 10 perc alatt: lépésről lépésre cover image

A ChatGPT és a Google Gemini megjelenése óta számos olyan alkalmazást láthattunk, amely ezeket a modelleket használja ki. A technikát arbitrázsnak nevezik, amely egy olyan módszer, amely a mesterséges intelligencia számos feladatának egyikét veszi igénybe, hatékony promptokkal javítja, majd szolgáltatásként biztosítja az ügyfelek számára.

Ez a cikk egy lépésről lépésre bemutatja, hogyan integrálhatja a Google Gemini modellt a Node.js alkalmazásunkba. Meglátjuk, hogyan kell használni a generatív szöveget kezelő Gemini-pro-t és a képeket kezelő Gemini-pro-vision-t.

Először a projekt beállításával kezdjük, majd egy saját példánkon használjuk fel.

Követelmények

Első lépések

Először hozzon létre egy új Node.js projektet egy üres mappában:

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

Most telepítjük a szükséges csomagokat a környezetfájlhoz és a Gemini SDK-hoz:

npm install dotenv @google/generative-ai

API kulcs beállítása

A Google AI Platformon kattintson az API-kulcs beszerzése gombra az API-kulcs beszerzéséhez, majd mentse el a környezetfájlba (.env) a gyökérkönyvtárba:

API_KEY=YOUR_GEMINI_KEY

Hozzon létre egy új lib mappát, és hozzon létre benne egy config.js fájlt, majd a következő lépéshez exportáljuk az API kulcsunkat:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK beállítása

Ebben a lépésben beállítjuk modelljeinket, hogy felhasználhassuk őket a kódunkban. A lib mappánkban hozzunk létre 2 fájlt, a gemini.js-t a szöveg és a gemini-vision.js-t a képek kezelésére.

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

Az exportált függvény segítségével szöveget generálunk egy promptból. Használhatjuk chatrendszer építésére, szövegfordításra és még sok más felhasználási esetre.

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

Az exportált függvény segítségével szöveget generálunk képből.

Az alkalmazás elkészítése

Hozzon létre egy új index.js fájlt, és illessze be ezt a kódot:

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

main();

Most már importálhatjuk exportált függvényeinket, és szöveget generálhatunk velük, akár kérdésből, akár képpromptból.

A függvény egy fájl elérési utat vesz fel argumentumként, ezért a teszteléshez hozzá kell adnia egy képfájlt a projekt mappájához.

Kódunk a következőre lesz konvertálva:

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

Mi a következő lépés

Mostantól az ExpressJS segítségével API-t készíthet szkript helyett. Ezenkívül kutathat a használati esetekre vonatkozó felszólítások írásának bevált gyakorlatairól.

Íme néhány példa az elkészíthető alkalmazásokra:

  • SEO metaadat-generátor [Unsplash API] használatával (https://unsplash.com/developers)

  • Az önéletrajz-ellenőrző egy extra szkript hozzáadásával, amely PDF-ből tölti le a tartalmat

  • Instagram életrajzíró egy képről

Érdekel jobb alkalmazások készítése? Csatlakozzon webfejlesztési kezdőtáborunkhoz, és tanulja meg, hogyan készíthet teljesen működőképes terméket!


By Omar Mokhfi

Career Services background pattern

Karrier szolgáltatások

Contact Section background image

Maradjunk kapcsolatban

Code Labs Academy © 2024 Minden jog fenntartva.