Δημιουργία εφαρμογής AI σε 10 λεπτά: Οδηγός βήμα προς βήμα

Gemini
Nodejs
AI
Οδηγός
Δημιουργία εφαρμογής AI σε 10 λεπτά: Οδηγός βήμα προς βήμα cover image

Από την εμφάνιση του ChatGPT και του Google Gemini, έχουμε δει πολλές εφαρμογές να κυκλοφορούν αξιοποιώντας αυτά τα μοντέλα. Η τεχνική ονομάζεται arbitrage, μια μέθοδος που αναλαμβάνει μία από τις πολλαπλές εργασίες που μπορεί να κάνει η τεχνητή νοημοσύνη, την ενισχύει με αποτελεσματικές προτροπές και στη συνέχεια την παρέχει στους πελάτες ως χαρακτηριστικό.

Αυτό το άρθρο θα είναι ένας οδηγός βήμα προς βήμα για τον τρόπο ενσωμάτωσης του μοντέλου Google Gemini στην εφαρμογή Node.js. Θα δούμε πώς να χρησιμοποιούμε το Gemini-pro που χειρίζεται το κείμενο δημιουργίας και το Gemini-pro-vision που χειρίζεται εικόνες.

Θα ξεκινήσουμε πρώτα με τη ρύθμιση του έργου και στη συνέχεια θα το χρησιμοποιήσουμε σε ένα δικό μας παράδειγμα.

Απαιτήσεις

Ξεκινώντας

Αρχικά, δημιουργήστε ένα νέο έργο 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 μας για την ανάπτυξη Ιστού και μάθετε πώς να δημιουργείτε ένα πλήρως λειτουργικό προϊόν!


By Omar Mokhfi

Career Services background pattern

Υπηρεσίες καριέρας

Contact Section background image

Ας μείνουμε σε επαφή

Code Labs Academy © 2024 Όλα τα δικαιώματα διατηρούνται.