Стварэнне прыкладання AI за 10 хвілін: пакрокавае кіраўніцтва

Двайняты
Nodejs
AI
Гід
Стварэнне прыкладання AI за 10 хвілін: пакрокавае кіраўніцтва cover image

З моманту з'яўлення ChatGPT і Google Gemini было запушчана шмат прыкладанняў, якія выкарыстоўваюць гэтыя мадэлі. Тэхніка называецца арбітраж, метад, які прымае адну з некалькіх задач, якія можа выконваць штучны інтэлект, паляпшае яе эфектыўнымі падказкамі, а затым прадастаўляе яе кліентам у якасці функцыі.

Гэты артыкул будзе пакрокавым кіраўніцтвам аб тым, як інтэграваць мадэль Google Gemini у наша дадатак Node.js. Мы ўбачым, як выкарыстоўваць як Gemini-pro, які апрацоўвае генератыўны тэкст, так і Gemini-pro-vision, які апрацоўвае выявы.

Спачатку мы пачнем з наладжвання праекта, а потым будзем выкарыстоўваць яго на ўласным прыкладзе.

Патрабаванні

Пачатак працы

Спачатку стварыце новы праект Node.js у пустой тэчцы:

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

Зараз мы ўсталюем неабходныя пакеты для файла асяроддзя і Gemini SDK:

npm install dotenv @google/generative-ai

Налада ключа API

На платформе Google AI націсніце кнопку Атрымаць ключ API, каб атрымаць ключ API, а затым захавайце яго ў файле асяроддзя (.env) у каранёвым каталогу:

API_KEY=YOUR_GEMINI_KEY

Стварыце новую папку lib і стварыце ў ёй файл config.js, а на наступным этапе мы экспартуем наш ключ API:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Налада Gemini SDK

На гэтым этапе мы наладзім нашы мадэлі, каб мы маглі выкарыстоўваць іх у нашым кодзе. У нашай тэчцы lib давайце створым 2 файла, gemini.js для апрацоўкі тэксту і gemini-vision.js для апрацоўкі малюнкаў.

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

Мы будзем выкарыстоўваць экспартаваную функцыю для стварэння тэксту з падказкі. Мы можам выкарыстоўваць яго для стварэння сістэмы чата, перакладу тэксту і многіх іншых варыянтаў выкарыстання.

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

Мы будзем выкарыстоўваць экспартаваную функцыю для стварэння тэксту з выявы.

Стварэнне прыкладання

Стварыце новы файл index.js і ўстаўце гэты код:

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

main();

Цяпер мы можам імпартаваць нашы экспартаваныя функцыі і выкарыстоўваць іх для генерацыі тэксту альбо з пытання, альбо з падказкі малюнка.

Функцыя прымае шлях да файла ў якасці аргумента, таму вам трэба будзе дадаць файл выявы ў тэчку праекта, каб праверыць яго.

Наш код пераўтворыцца ў:

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

Што далей

Цяпер вы можаце выкарыстоўваць ExpressJS для стварэння API замест сцэнарыя. Вы таксама можаце даследаваць лепшыя практыкі напісання падказак для вашых выпадкаў выкарыстання.

Вось некалькі прыкладаў праграм, якія вы можаце стварыць:

  • Генератар мета-дадзеных SEO з выкарыстаннем API Unsplash

  • Рэзюмэ рэцэнзента, дадаўшы дадатковы скрыпт, які атрымлівае кантэнт з PDF

  • Instagram бія пісьменнік з выявы

Вы зацікаўлены ў стварэнні лепшых праграм? Далучайцеся да нашага навучальнага лагера вэб-распрацоўкі і навучыцеся ствараць цалкам функцыянальны прадукт!


By Omar Mokhfi

Career Services background pattern

Кар'ерныя паслугі

Contact Section background image

Давайце заставацца на сувязі

Code Labs Academy © 2024 Усе правы абароненыя.