Kopš ChatGPT un Google Gemini parādīšanās esam redzējuši, ka daudzas lietotnes ir izlaistas, izmantojot šos modeļus. Šo paņēmienu sauc par arbitrāžu — metodi, kas veic vienu no vairākiem AI uzdevumiem, uzlabo to ar efektīvām uzvednēm un pēc tam nodrošina to klientiem kā līdzekli.
Šis raksts būs detalizēts ceļvedis par to, kā integrēt Google Gemini modeli mūsu lietojumprogrammā Node.js. Mēs redzēsim, kā izmantot gan Gemini-pro, kas apstrādā ģeneratīvu tekstu, un Gemini-pro-vision, kas apstrādā attēlus.
Vispirms mēs izveidosim projektu un pēc tam izmantosim to uz sava piemēra.
Prasības
-
Node.js versija 18+
-
Google AI Platform konts, lai iegūtu mūsu API atslēgu
Darba sākšana
Vispirms tukšā mapē izveidojiet jaunu Node.js projektu:
mkdir gemini-node
cd gemini-node
npm init -y
Tagad mēs instalēsim nepieciešamās pakotnes vides failam un Gemini SDK:
npm install dotenv @google/generative-ai
API atslēgas iestatīšana
Savā Google AI platformā noklikšķiniet uz pogas Iegūt API atslēgu, lai iegūtu API atslēgu, pēc tam saglabājiet to savā vides failā (.env) saknes direktorijā:
API_KEY=YOUR_GEMINI_KEY
Izveidojiet jaunu lib mapi un tajā izveidojiet failu config.js, pēc tam nākamajā darbībā mēs eksportēsim mūsu API atslēgu:
const dotenv = require("dotenv");
dotenv.config();
const API_KEY = process.env.API_KEY;
module.exports = { API_KEY };
Gemini SDK iestatīšana
Šajā darbībā mēs iestatīsim savus modeļus, lai varētu tos izmantot savā kodā. Mapē lib izveidosim 2 failus: gemini.js teksta apstrādei un gemini-vision.js attēlu apstrādei.
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 };
Mēs izmantosim eksportēto funkciju, lai ģenerētu tekstu no uzvednes. Mēs varam to izmantot, lai izveidotu tērzēšanas sistēmu, tekstu tulkošanu un daudzus citus lietošanas gadījumus.
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 };
Mēs izmantosim eksportēto funkciju, lai ģenerētu tekstu no attēla.
Lietotnes izveide
Izveidojiet jaunu index.js failu un ielīmējiet šo kodu:
const main = async () => {
console.log("Hello world!");
};
main();
Tagad mēs varam importēt mūsu eksportētās funkcijas un izmantot tās teksta ģenerēšanai no jautājuma vai attēla uzvednes.
Funkcija izmanto faila ceļu kā argumentu, tāpēc, lai to pārbaudītu, projekta mapei būs jāpievieno attēla fails.
Mūsu kods tiks pārveidots par:
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();
Kas tālāk
Tagad varat izmantot ExpressJS, lai izveidotu API, nevis skriptu. Varat arī izpētīt paraugpraksi, rakstot uzvednes saviem lietošanas gadījumiem.
Šie ir daži piemēri par lietotnēm, kuras varat izveidot.
- MPO metadatu ģenerators, izmantojot Unsplash API
-
Atsākt pārskatītāju, pievienojot papildu skriptu, kas iegūst saturu no PDF
-
Instagram bio rakstnieks no attēla
Vai jūs interesē labāku lietotņu izveide? Pievienojieties mūsu tīmekļa izstrādes sākumnometnei un uzziniet, kā izveidot pilnībā funkcionējošu produktu!