AI programos kūrimas per 10 minučių: nuoseklus vadovas

Dvyniai
Nodejs
AI
vadovas
AI programos kūrimas per 10 minučių: nuoseklus vadovas cover image

Nuo „ChatGPT“ ir „Google Gemini“ pasirodymo matėme, kad buvo paleista daug programų, naudojančių šiuos modelius. Ši technika vadinama arbitražu – metodu, kuris atlieka vieną iš daugelio užduočių, kurias gali atlikti AI, patobulina ją efektyviais raginimais ir suteikia klientams kaip funkciją.

Šis straipsnis bus nuoseklus vadovas, kaip integruoti Google Gemini modelį į mūsų Node.js programą. Pamatysime, kaip naudoti Gemini-pro, kuri tvarko generatyvinį tekstą, ir Gemini-pro-vision, kuri tvarko vaizdus.

Pirmiausia pradėsime nuo projekto nustatymo, o tada naudosime jį savo pavyzdžiu.

Reikalavimai

Node.js 18 ir naujesnė versija

Google AI Platform paskyra, kad gautumėte API raktą

Darbo pradžia

Pirmiausia tuščiame aplanke sukurkite naują Node.js projektą:

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

Dabar įdiegsime reikiamus aplinkos failo ir Gemini SDK paketus:

npm install dotenv @google/generative-ai

API rakto sąranka

Savo Google AI platformoje spustelėkite mygtuką Gauti API raktą, kad gautumėte API raktą, tada išsaugokite jį aplinkos faile (.env) šakniniame kataloge:

API_KEY=YOUR_GEMINI_KEY

Sukurkite naują lib aplanką ir jame sukurkite config.js failą, tada kitam veiksmui eksportuosime savo API raktą:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK sąranka

Šiame žingsnyje mes nustatysime savo modelius, kad galėtume juos naudoti savo kode. Aplanke lib sukurkime 2 failus: gemini.js tekstui tvarkyti ir gemini-vision.js vaizdams tvarkyti.

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

Eksportuotą funkciją naudosime tekstui generuoti iš raginimo. Mes galime jį naudoti kurdami pokalbių sistemą, teksto vertimą ir daug kitų naudojimo atvejų.

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

Eksportuotą funkciją naudosime tekstui iš vaizdo generuoti.

Programėlės kūrimas

Sukurkite naują index.js failą ir įklijuokite šį kodą:

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

main();

Dabar galime importuoti eksportuotas funkcijas ir naudoti jas tekstui generuoti iš klausimo arba vaizdo raginimo.

Funkcija naudoja failo kelią kaip argumentą, todėl turėsite pridėti vaizdo failą į projekto aplanką, kad jį išbandytumėte.

Mūsų kodas bus konvertuojamas į:

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 toliau

Dabar galite naudoti ExpressJS, kad sukurtumėte API, o ne scenarijų. Taip pat galite tyrinėti geriausią praktiką, kaip rašyti raginimus savo naudojimo atvejais.

Štai keli programų, kurias galite kurti, pavyzdžiai:

– SEO metaduomenų generatorius, naudojant Unsplash API

  • Tęskite apžvalgininką pridėdami papildomą scenarijų, kuris gauna turinį iš PDF

  • „Instagram“ biografijos rašytojas iš vaizdo

Ar domitės geresnių programų kūrimu? Prisijunkite prie žiniatinklio kūrimo stovyklos ir sužinokite, kaip sukurti visiškai funkcionalų produktą!


By Omar Mokhfi

Career Services background pattern

Karjeros paslaugos

Contact Section background image

Palaikykime ryšį

Code Labs Academy © 2024 Visos teisės saugomos.