AI lietojumprogrammas izveide 10 minūšu laikā: soli pa solim

Dvīņi
Nodejs
AI
ceļvedis
AI lietojumprogrammas izveide 10 minūšu laikā: soli pa solim cover image

Kopš ChatGPT un Google Gemini parādīšanās esam redzējuši, ka daudzas lietotnes ir izlaistas, izmantojot šos modeļus. Šo paņēmienu sauc par arbitrāžu — metodi, kas veic vienu no vairākiem AI uzdevumiem, uzlabo to ar efektīvām uzvednēm un pēc tam nodrošina to klientiem kā līdzekli.

Šis raksts būs detalizēts ceļvedis par to, kā integrēt Google Gemini modeli mūsu lietojumprogrammā Node.js. Mēs redzēsim, kā izmantot gan Gemini-pro, kas apstrādā ģeneratīvu tekstu, un Gemini-pro-vision, kas apstrādā attēlus.

Vispirms mēs izveidosim projektu un pēc tam izmantosim to uz sava piemēra.

Prasības

Darba sākšana

Vispirms tukšā mapē izveidojiet jaunu Node.js projektu:

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

Tagad mēs instalēsim nepieciešamās pakotnes vides failam un Gemini SDK:

npm install dotenv @google/generative-ai

API atslēgas iestatīšana

Savā Google AI platformā noklikšķiniet uz pogas Iegūt API atslēgu, lai iegūtu API atslēgu, pēc tam saglabājiet to savā vides failā (.env) saknes direktorijā:

API_KEY=YOUR_GEMINI_KEY

Izveidojiet jaunu lib mapi un tajā izveidojiet failu config.js, pēc tam nākamajā darbībā mēs eksportēsim mūsu API atslēgu:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK iestatīšana

Šajā darbībā mēs iestatīsim savus modeļus, lai varētu tos izmantot savā kodā. Mapē lib izveidosim 2 failus: gemini.js teksta apstrādei un gemini-vision.js attēlu apstrādei.

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

Mēs izmantosim eksportēto funkciju, lai ģenerētu tekstu no uzvednes. Mēs varam to izmantot, lai izveidotu tērzēšanas sistēmu, tekstu tulkošanu un daudzus citus lietošanas gadījumus.

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

Mēs izmantosim eksportēto funkciju, lai ģenerētu tekstu no attēla.

Lietotnes izveide

Izveidojiet jaunu index.js failu un ielīmējiet šo kodu:

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

main();

Tagad mēs varam importēt mūsu eksportētās funkcijas un izmantot tās teksta ģenerēšanai no jautājuma vai attēla uzvednes.

Funkcija izmanto faila ceļu kā argumentu, tāpēc, lai to pārbaudītu, projekta mapei būs jāpievieno attēla fails.

Mūsu kods tiks pārveidots par:

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

Kas tālāk

Tagad varat izmantot ExpressJS, lai izveidotu API, nevis skriptu. Varat arī izpētīt paraugpraksi, rakstot uzvednes saviem lietošanas gadījumiem.

Šie ir daži piemēri par lietotnēm, kuras varat izveidot.

- MPO metadatu ģenerators, izmantojot Unsplash API

  • Atsākt pārskatītāju, pievienojot papildu skriptu, kas iegūst saturu no PDF

  • Instagram bio rakstnieks no attēla

Vai jūs interesē labāku lietotņu izveide? Pievienojieties mūsu tīmekļa izstrādes sākumnometnei un uzziniet, kā izveidot pilnībā funkcionējošu produktu!


By Omar Mokhfi

Career Services background pattern

Karjeras pakalpojumi

Contact Section background image

Sazināsimies

Code Labs Academy © 2024 Visas tiesības paturētas.