Od objavenia sa ChatGPT a Google Gemini sme videli spustenie mnohých aplikácií využívajúcich tieto modely. Táto technika sa nazýva arbitráž, metóda, ktorá preberá jednu z viacerých úloh, ktoré môže AI robiť, vylepšuje ju účinnými výzvami a potom ju poskytuje zákazníkom ako funkciu.
Tento článok bude podrobný návod, ako integrovať model Google Gemini do našej aplikácie Node.js. Uvidíme, ako používať Gemini-pro, ktorý spracováva generatívny text, aj Gemini-pro-vision, ktorý spracováva obrázky.
Najprv začneme nastavením projektu a potom ho použijeme na našom vlastnom príklade.
Požiadavky
- Node.js verzia 18+
– účet Google AI Platform a získajte náš kľúč API
Začíname
Najprv vytvorte nový projekt Node.js v prázdnom priečinku:
mkdir gemini-node
cd gemini-node
npm init -y
Teraz nainštalujeme požadované balíky pre súbor prostredia a Gemini SDK:
npm install dotenv @google/generative-ai
Nastavenie kľúča API
Na platforme Google AI kliknite na tlačidlo Získať kľúč API, aby ste získali kľúč API, potom ho uložte do súboru prostredia (.env) v koreňovom adresári:
API_KEY=YOUR_GEMINI_KEY
Vytvorte nový priečinok lib a vytvorte v ňom súbor config.js, potom v ďalšom kroku vyexportujeme náš kľúč API:
const dotenv = require("dotenv");
dotenv.config();
const API_KEY = process.env.API_KEY;
module.exports = { API_KEY };
Nastavenie Gemini SDK
V tomto kroku nastavíme naše modely, aby sme ich mohli použiť v našom kóde. V našom priečinku lib vytvorme 2 súbory, gemini.js na prácu s textom a gemini-vision.js na prácu s obrázkami.
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 };
Exportovanú funkciu použijeme na vygenerovanie textu z výzvy. Môžeme ho použiť na vytvorenie chatovacieho systému, prekladu textu a mnohých ďalších prípadov použitia.
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 };
Exportovanú funkciu použijeme na vygenerovanie textu z obrázka.
Vytváranie aplikácie
Vytvorte nový súbor index.js a prilepte tento kód:
const main = async () => {
console.log("Hello world!");
};
main();
Teraz môžeme importovať naše exportované funkcie a použiť ich na generovanie textu, buď z otázky alebo obrázkovej výzvy.
Funkcia berie ako argument cestu k súboru, takže na otestovanie budete musieť pridať súbor obrázka do priečinka projektu.
Náš kód sa prevedie na:
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();
Čo ďalej
Teraz môžete použiť ExpressJS na vytvorenie rozhrania API namiesto skriptu. Môžete tiež preskúmať osvedčené postupy pri písaní výziev pre vaše prípady použitia.
Tu je niekoľko príkladov aplikácií, ktoré môžete vytvoriť:
– SEO generátor metadát pomocou Unsplash API
-
Pokračujte v recenzentovi pridaním ďalšieho skriptu, ktorý získava obsah z PDF
-
Instagramový životopisec z obrázka
Máte záujem o vytváranie lepších aplikácií? Zapojte sa do nášho bootcampu Web Development a naučte sa, ako vytvoriť plne funkčný produkt!