З моменту появи 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 із зображення
Ви зацікавлені в створенні кращих програм? Приєднайтеся до нашого тренінгу з веб-розробки і навчіться створювати повнофункціональний продукт!