З моманту з'яўлення ChatGPT і Google Gemini было запушчана шмат прыкладанняў, якія выкарыстоўваюць гэтыя мадэлі. Тэхніка называецца арбітраж, метад, які прымае адну з некалькіх задач, якія можа выконваць штучны інтэлект, паляпшае яе эфектыўнымі падказкамі, а затым прадастаўляе яе кліентам у якасці функцыі.
Гэты артыкул будзе пакрокавым кіраўніцтвам аб тым, як інтэграваць мадэль 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 націсніце кнопку Атрымаць ключ 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 бія пісьменнік з выявы
Вы зацікаўлены ў стварэнні лепшых праграм? Далучайцеся да нашага навучальнага лагера вэб-распрацоўкі і навучыцеся ствараць цалкам функцыянальны прадукт!