De la apariția ChatGPT și Google Gemini, am văzut multe aplicații lansate folosind aceste modele. Tehnica se numește arbitraj, o metodă care preia una dintre multiplele sarcini pe care AI le poate face, o îmbunătățește cu solicitări eficiente și apoi o oferă clienților ca o caracteristică.
Acest articol va fi un ghid pas cu pas despre cum să integrați modelul Google Gemini în aplicația noastră Node.js. Vom vedea cum să folosim atât Gemini-pro care se ocupă de textul generativ, cât și Gemini-pro-vision care se ocupă de imagini.
Vom începe mai întâi prin a configura proiectul, apoi îl vom folosi pe un exemplu al nostru.
Cerințe
-
Node.js versiunea 18+
-
Cont Google AI Platform pentru a obține cheia noastră API
Noțiuni de bază
Mai întâi, creați un nou proiect Node.js într-un folder gol:
mkdir gemini-node
cd gemini-node
npm init -y
Acum, vom instala pachetele necesare pentru fișierul de mediu și SDK-ul Gemini:
npm install dotenv @google/generative-ai
Configurare cheie API
Pe platforma dvs. Google AI, faceți clic pe butonul Obțineți cheia API pentru a obține cheia API, apoi salvați-o în fișierul de mediu (.env) în directorul rădăcină:
API_KEY=YOUR_GEMINI_KEY
Creați un nou folder lib și creați un fișier config.js în el, apoi pentru următorul pas, vom exporta cheia API:
const dotenv = require("dotenv");
dotenv.config();
const API_KEY = process.env.API_KEY;
module.exports = { API_KEY };
Configurare Gemini SDK
În acest pas, ne vom configura modelele astfel încât să le putem folosi în codul nostru. În interiorul folderului nostru lib, să creăm 2 fișiere, gemini.js pentru manipularea textului și gemini-vision.js pentru manipularea imaginilor.
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 };
Vom folosi funcția exportată pentru a genera text dintr-un prompt. Îl putem folosi pentru a construi un sistem de chat, traducere text și multe alte cazuri de utilizare.
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 };
Vom folosi funcția exportată pentru a genera text dintr-o imagine.
Construirea aplicației
Creați un nou fișier index.js și inserați acest cod:
const main = async () => {
console.log("Hello world!");
};
main();
Acum, putem importa funcțiile noastre exportate și le putem folosi pentru a genera text, fie dintr-o întrebare sau dintr-un prompt de imagine.
Funcția ia o cale de fișier ca argument, așa că va trebui să adăugați un fișier imagine în folderul proiectului pentru a-l testa.
Codul nostru se va converti în:
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();
Ce urmeaza
Acum, puteți utiliza ExpressJS pentru a construi un API în loc de un script. De asemenea, puteți cerceta cele mai bune practici privind scrierea solicitărilor pentru cazurile dvs. de utilizare.
Acestea sunt câteva exemple de aplicații pe care le puteți crea:
-
Generator de metadate SEO folosind Unsplash API
-
Reluați examinatorul adăugând un script suplimentar care primește conținut din PDF
-
Scriitor de bio Instagram dintr-o imagine
Ești interesat să construiești aplicații mai bune? Alăturați-vă campului nostru de dezvoltare web și învățați cum să construiți un produs complet funcțional!