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
-
Node.js versiya 18+
-
API Açarımızı əldə etmək üçün Google AI Platforması hesabı
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!