10 dəqiqə ərzində AI Tətbiqinin qurulması: Addım-addım bələdçi

Əkizlər
Nodejs
AI
Bələdçi
10 dəqiqə ərzində AI Tətbiqinin qurulması: Addım-addım bələdçi cover image

ChatGPT və Google Gemini-nin ortaya çıxmasından bəri biz bu modellərdən istifadə edən bir çox tətbiqin işə salındığını gördük. Texnikaya arbitraj deyilir, süni intellektin edə biləcəyi çoxsaylı tapşırıqlardan birini yerinə yetirən, onu səmərəli göstərişlərlə təkmilləşdirən və sonra onu bir xüsusiyyət kimi müştərilərə təqdim edən bir üsul.

Bu məqalə Google Gemini modelini Node.js tətbiqimizə necə inteqrasiya etmək barədə addım-addım təlimat olacaq. Həm generativ mətni idarə edən Gemini-pro, həm də şəkilləri idarə edən Gemini-pro-vision-dan necə istifadə edəcəyimizi görəcəyik.

Əvvəlcə layihəni qurmaqla başlayacağıq, sonra onu öz nümunəmizdə istifadə edəcəyik.

Tələblər

Başlamaq

Əvvəlcə boş qovluqda yeni Node.js layihəsi yaradın:

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

İndi ətraf mühit faylı və Gemini SDK üçün tələb olunan paketləri quraşdıracağıq:

npm install dotenv @google/generative-ai

API Açar Quraşdırma

Google AI Platformanızda API Açarını əldə etmək üçün API Açarını əldə edin düyməsinə klikləyin və onu kök kataloqda mühit faylınızda (.env) saxlayın:

API_KEY=YOUR_GEMINI_KEY

Yeni lib qovluğu yaradın və onun daxilində config.js faylı yaradın, sonra növbəti addım üçün API Açarımızı ixrac edəcəyik:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Əkizlər SDK Quraşdırması

Bu addımda modellərimizi kodumuzda istifadə etmək üçün quraşdıracağıq. lib qovluğumuzda gəlin 2 fayl yaradaq, mətnlə işləmək üçün gemini.js və şəkillərlə işləmək üçün 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 };

Biz sorğudan mətn yaratmaq üçün ixrac edilmiş funksiyadan istifadə edəcəyik. Biz ondan söhbət sistemi, mətn tərcüməsi və daha çox istifadə halları yaratmaq üçün istifadə edə bilərik.

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

Şəkildən mətn yaratmaq üçün ixrac edilmiş funksiyadan istifadə edəcəyik.

Proqramın yaradılması

Yeni index.js faylı yaradın və bu kodu yerləşdirin:

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

main();

İndi biz ixrac edilmiş funksiyalarımızı idxal edə və onlardan sual və ya şəkil sorğusundan mətn yaratmaq üçün istifadə edə bilərik.

Funksiya arqument kimi fayl yolunu götürür, ona görə də onu yoxlamaq üçün layihə qovluğuna şəkil faylı əlavə etməli olacaqsınız.

Kodumuz aşağıdakılara çevriləcək:

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

Növbəti nə var

İndi skript əvəzinə API yaratmaq üçün ExpressJS-dən istifadə edə bilərsiniz. Siz həmçinin istifadə hallarınız üçün göstərişlərin yazılması ilə bağlı ən yaxşı təcrübələr haqqında araşdırma apara bilərsiniz.

Bunlar qura biləcəyiniz tətbiqlərə dair bir neçə nümunədir:

  • [Unsplash API] istifadə edərək SEO Meta məlumat generatoru (https://unsplash.com/developers)

  • PDF-dən məzmun əldə edən əlavə skript əlavə edərək rəyçini davam etdirin

  • Şəkildən Instagram bio yazıçısı

Daha yaxşı proqramlar yaratmaqla maraqlanırsınız? Veb İnkişafı üzrə təlim düşərgəmizə qoşulun və tam funksional məhsulun necə qurulacağını öyrənin!


By Omar Mokhfi

Career Services background pattern

Karyera Xidmətləri

Contact Section background image

Əlaqə saxlayaq

Code Labs Academy © 2024 Bütün hüquqlar qorunur.