ChatGPT-ի և Google Gemini-ի ի հայտ գալուց ի վեր, մենք տեսել ենք, որ բազմաթիվ հավելվածներ են գործարկվել՝ օգտագործելով այս մոդելները: Տեխնիկան կոչվում է արբիտրաժ, մեթոդ, որը վերցնում է բազմաթիվ խնդիրներից մեկը, որը կարող է անել AI-ն, ուժեղացնում է այն արդյունավետ հուշումներով և այնուհետև այն տրամադրում հաճախորդներին որպես հատկանիշ:
Այս հոդվածը կլինի քայլ առ քայլ ուղեցույց, թե ինչպես կարելի է ինտեգրել Google Gemini մոդելը մեր Node.js հավելվածում: Մենք կտեսնենք, թե ինչպես օգտագործել և Gemini-pro, որը մշակում է գեներատիվ տեքստը, և Gemini-pro-vision, որը մշակում է պատկերները:
Մենք նախ կսկսենք նախագիծը կարգավորելով, այնուհետև այն կօգտագործենք մեր սեփական օրինակով:
Պահանջներ
-
Node.js տարբերակ 18+
-
Google AI Platform հաշիվ՝ մեր API բանալին ստանալու համար
Սկսել
Նախ, ստեղծեք նոր Node.js նախագիծ դատարկ թղթապանակում.
mkdir gemini-node
cd gemini-node
npm init -y
Այժմ մենք կտեղադրենք շրջակա միջավայրի ֆայլի և Gemini SDK-ի համար անհրաժեշտ փաթեթները.
npm install dotenv @google/generative-ai
API բանալի կարգավորում
Ձեր Google AI հարթակում սեղմեք Get API Key կոճակը՝ 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 մետա տվյալների գեներատոր՝ օգտագործելով Unsplash API
-
Վերսկսեք վերանայողը՝ ավելացնելով լրացուցիչ սցենար, որը բովանդակություն է ստանում PDF-ից
-
Instagram-ի կենսագրող՝ պատկերից
Հետաքրքրվա՞ծ եք ավելի լավ հավելվածներ ստեղծելով: Միացեք մեր վեբ մշակման bootcamp-ին և իմացեք, թե ինչպես ստեղծել լիարժեք ֆունկցիոնալ արտադրանք: