Από την εμφάνιση του ChatGPT και του Google Gemini, έχουμε δει πολλές εφαρμογές να κυκλοφορούν αξιοποιώντας αυτά τα μοντέλα. Η τεχνική ονομάζεται arbitrage, μια μέθοδος που αναλαμβάνει μία από τις πολλαπλές εργασίες που μπορεί να κάνει η τεχνητή νοημοσύνη, την ενισχύει με αποτελεσματικές προτροπές και στη συνέχεια την παρέχει στους πελάτες ως χαρακτηριστικό.
Αυτό το άρθρο θα είναι ένας οδηγός βήμα προς βήμα για τον τρόπο ενσωμάτωσης του μοντέλου 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 };
Ρύθμιση SDK Gemini
Σε αυτό το βήμα, θα ρυθμίσουμε τα μοντέλα μας ώστε να μπορούμε να τα χρησιμοποιήσουμε στον κώδικά μας. Μέσα στον φάκελο 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 Meta με χρήση Unsplash API
-
Συνεχίστε τον αναθεωρητή προσθέτοντας ένα επιπλέον σενάριο που λαμβάνει περιεχόμενο από PDF
-
Βιογραφικό του Instagram από μια εικόνα
Ενδιαφέρεστε να δημιουργήσετε καλύτερες εφαρμογές; Εγγραφείτε στο bootcamp μας για την ανάπτυξη Ιστού και μάθετε πώς να δημιουργείτε ένα πλήρως λειτουργικό προϊόν!