Izdelava aplikacije z umetno inteligenco v 10 minutah: vodnik po korakih

Gemini
Nodejs
AI
vodnik
Izdelava aplikacije z umetno inteligenco v 10 minutah: vodnik po korakih cover image

Odkar sta se pojavila ChatGPT in Google Gemini, smo videli veliko aplikacij, ki izkoriščajo ta modela. Tehnika se imenuje arbitraža, metoda, ki prevzame eno od več nalog, ki jih lahko opravi umetna inteligenca, jo izboljša z učinkovitimi pozivi in ​​jo nato ponudi strankam kot funkcijo.

Ta članek bo vodnik po korakih o tem, kako integrirati model Google Gemini v našo aplikacijo Node.js. Videli bomo, kako uporabljati Gemini-pro, ki obravnava generativno besedilo, in Gemini-pro-vision, ki obravnava slike.

Začeli bomo s postavitvijo projekta, nato pa ga uporabili na lastnem primeru.

Zahteve

Kako začeti

Najprej ustvarite nov projekt Node.js v prazni mapi:

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

Zdaj bomo namestili potrebne pakete za okoljsko datoteko in Gemini SDK:

npm install dotenv @google/generative-ai

Nastavitev ključa API

Na vaši platformi Google AI kliknite gumb Pridobi ključ API, da dobite ključ API, nato pa ga shranite v datoteko okolja (.env) v korenskem imeniku:

API_KEY=YOUR_GEMINI_KEY

Ustvarite novo mapo lib in v njej ustvarite datoteko config.js, nato pa bomo za naslednji korak izvozili naš ključ API:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Nastavitev Gemini SDK

V tem koraku bomo nastavili naše modele, da jih bomo lahko uporabili v naši kodi. Znotraj naše mape lib ustvarimo 2 datoteki, gemini.js za obdelavo besedila in gemini-vision.js za obdelavo slik.

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

Izvoženo funkcijo bomo uporabili za ustvarjanje besedila iz poziva. Uporabimo ga lahko za izgradnjo sistema za klepet, prevajanje besedila in številne druge primere uporabe.

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

Izvoženo funkcijo bomo uporabili za ustvarjanje besedila iz slike.

Gradnja aplikacije

Ustvarite novo datoteko index.js in prilepite to kodo:

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

main();

Zdaj lahko uvozimo naše izvožene funkcije in jih uporabimo za ustvarjanje besedila iz vprašanja ali slikovnega poziva.

Funkcija vzame pot datoteke kot argument, zato boste morali dodati slikovno datoteko v mapo projekta, da jo preizkusite.

Naša koda se bo pretvorila v:

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

Kaj je naslednje

Zdaj lahko uporabite ExpressJS za izdelavo API-ja namesto skripta. Prav tako lahko raziščete najboljše prakse pri pisanju pozivov za vaše primere uporabe.

To je nekaj primerov aplikacij, ki jih lahko ustvarite:

  • Generator meta podatkov SEO z Unsplash API

  • Recenzent nadaljevanja z dodajanjem dodatnega skripta, ki pridobi vsebino iz PDF-ja

  • Instagram biografski pisec iz slike

Vas zanima ustvarjanje boljših aplikacij? Pridružite se našemu zagonskemu kampu za spletni razvoj in se naučite sestaviti popolnoma funkcionalen izdelek!


By Omar Mokhfi

Career Services background pattern

Karierne storitve

Contact Section background image

Ostanimo v stiku

Code Labs Academy © 2024 Vse pravice pridržane.