Pagbuo ng AI Application sa loob ng 10 Minuto: Isang Step-by-Step na Gabay

Gemini
Nodejs
AI
Gabay
Pagbuo ng AI Application sa loob ng 10 Minuto: Isang Step-by-Step na Gabay cover image

Mula nang lumitaw ang ChatGPT at Google Gemini, nakita namin ang maraming apps na inilunsad na gumagamit ng mga modelong ito. Ang pamamaraan ay tinatawag na arbitrage, isang paraan na tumatagal ng isa sa maraming mga gawain na maaaring gawin ng AI, pinapahusay ito gamit ang mahusay na mga senyas, at pagkatapos ay ibinibigay ito sa mga customer bilang isang tampok.

Ang artikulong ito ay magiging sunud-sunod na gabay sa kung paano isama ang modelo ng Google Gemini sa aming Node.js application. Makikita natin kung paano gamitin ang parehong Gemini-pro na humahawak ng generative text, at Gemini-pro-vision na humahawak ng mga larawan.

Magsisimula muna tayo sa pamamagitan ng pagse-set up ng proyekto, at pagkatapos ay gamitin ito sa sarili nating halimbawa.

Mga Kinakailangan

Pagsisimula

Una, lumikha ng bagong proyekto ng Node.js sa loob ng isang walang laman na folder:

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

Ngayon, ii-install namin ang mga kinakailangang pakete para sa environment file at ang Gemini SDK:

npm install dotenv @google/generative-ai

API Key Setup

Sa iyong Google AI Platform, mag-click sa Kumuha ng API Key na button para makuha ang API Key pagkatapos ay i-save ito sa iyong environment file (.env) sa root directory:

API_KEY=YOUR_GEMINI_KEY

Gumawa ng bagong lib folder at lumikha ng config.js file sa loob nito, pagkatapos ay para sa susunod na hakbang, ie-export namin ang aming API Key:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK Setup

Sa hakbang na ito, ise-setup namin ang aming mga modelo upang magamit namin ang mga ito sa aming code. Sa loob ng aming lib folder, gumawa tayo ng 2 file, gemini.js para sa paghawak ng text at gemini-vision.js para sa paghawak ng mga larawan.

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

Gagamitin namin ang na-export na function upang bumuo ng text mula sa isang prompt. Magagamit namin ito upang bumuo ng isang chat system, pagsasalin ng teksto at marami pang mga kaso ng paggamit.

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

Gagamitin namin ang na-export na function upang bumuo ng teksto mula sa isang imahe.

Pagbuo ng app

Gumawa ng bagong index.js file at i-paste ang code na ito:

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

main();

Ngayon, maaari naming i-import ang aming mga na-export na function at gamitin ang mga ito upang bumuo ng text, mula sa isang tanong o isang prompt ng imahe.

Ang function ay kumukuha ng file path bilang argumento, kaya kakailanganin mong magdagdag ng image file sa iyong project folder upang subukan ito.

Ang aming code ay mako-convert sa:

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

Ano ang susunod

Ngayon, maaari mong gamitin ang ExpressJS upang bumuo ng isang API sa halip na isang script. Maaari ka ring magsaliksik tungkol sa pinakamahuhusay na kagawian sa pagsusulat ng mga prompt para sa iyong mga kaso ng paggamit.

Ito ang ilang halimbawa sa mga app na maaari mong buuin:

  • SEO Meta data generator gamit ang Unsplash API

  • Ipagpatuloy ang reviewer sa pamamagitan ng pagdaragdag ng karagdagang script na nakakakuha ng nilalaman mula sa PDF

  • Instagram bio writer mula sa isang imahe

Interesado ka ba sa pagbuo ng mas mahuhusay na app? Sumali sa aming Web Development bootcamp at matutunan kung paano bumuo ng fully functional na produkto!


By Omar Mokhfi

Career Services background pattern

Mga Serbisyo sa Karera

Contact Section background image

Manatiling nakikipag-ugnayan tayo

Code Labs Academy © 2024 Lahat ng karapatan ay nakalaan.