ChatGPT eta Google Gemini agertu zirenetik, eredu hauek aprobetxatuz aplikazio asko abiarazten ari direla ikusi dugu. Teknikari arbitraje deitzen zaio, AIk egin ditzakeen zeregin anitzetako bat hartzen duen metodoa, gomendio eraginkorrekin hobetzen du eta, ondoren, bezeroei ezaugarri gisa eskaintzen die.
Artikulu hau urratsez urrats gida bat izango da Google Gemini eredua gure Node.js aplikazioan nola integratzeko. Ikusiko dugu nola erabili testu sortzailea kudeatzen duen Gemini-pro, eta irudiak kudeatzen dituen Gemini-pro-vision.
Lehenik eta behin proiektua konfiguratzen hasiko gara, eta gero gure adibide batean erabiliko dugu.
Baldintzak
-
Node.js 18+ bertsioa
-
Google AI Platform kontua gure API gakoa lortzeko
Hasteko
Lehenik eta behin, sortu Node.js proiektu berri bat karpeta huts baten barruan:
mkdir gemini-node
cd gemini-node
npm init -y
Orain, inguruneko fitxategirako eta Gemini SDKrako beharrezko paketeak instalatuko ditugu:
npm install dotenv @google/generative-ai
API gakoen konfigurazioa
Zure Google AI Platform-en, egin klik Lortu API gakoa botoian API gakoa lortzeko eta gorde ezazu zure inguruneko fitxategian (.env) erroko direktorioan:
API_KEY=YOUR_GEMINI_KEY
Sortu lib karpeta berri bat eta sortu config.js fitxategi bat bere barruan, eta hurrengo urratsean, gure API gakoa esportatuko dugu:
const dotenv = require("dotenv");
dotenv.config();
const API_KEY = process.env.API_KEY;
module.exports = { API_KEY };
Gemini SDK konfigurazioa
Urrats honetan, gure ereduak konfiguratuko ditugu, gure kodean erabili ahal izateko. Gure lib karpetaren barruan, sor ditzagun 2 fitxategi, gemini.js testua kudeatzeko eta gemini-vision.js irudiak kudeatzeko.
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 };
Esportatutako funtzioa erabiliko dugu gonbita batetik testua sortzeko. Txat-sistema bat, testu-itzulpena eta beste hainbat erabilera-kasu eraikitzeko erabil dezakegu.
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 };
Esportatutako funtzioa erabiliko dugu irudi batetik testua sortzeko.
Aplikazioa eraikitzen
Sortu index.js fitxategi berri bat eta itsatsi kode hau:
const main = async () => {
console.log("Hello world!");
};
main();
Orain, esportatutako funtzioak inporta ditzakegu eta testua sortzeko erabil ditzakegu, galdera batetik edo irudi-gonbita batetik.
Funtzioak fitxategi-bide bat hartzen du argumentu gisa, beraz, zure proiektuaren karpetan irudi-fitxategi bat gehitu beharko duzu probatzeko.
Gure kodea honela bihurtuko da:
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();
Zer da hurrengoa
Orain, ExpressJS erabil dezakezu script baten ordez API bat eraikitzeko. Zure erabilera-kasuetarako gomendioak idazteko jardunbide egokiei buruz ere iker dezakezu.
Hauek dira eraiki ditzakezun aplikazioei buruzko adibide batzuk:
-
SEO metadatuen sorgailua [Unsplash API] erabiliz (https://unsplash.com/developers)
-
Berrikusi berrikuslea PDFtik edukia lortzen duen script gehigarri bat gehituz
-
Instagram bio idazlea irudi batetik
Aplikazio hobeak eraikitzea interesatzen zaizu? Sartu gure Web Garapenaren bootcamp eta ikasi guztiz funtzionala den produktu bat nola eraiki!