Erstellen einer KI-Anwendung in 10 Minuten: Eine Schritt-für-Schritt-Anleitung

Gemini
Nodejs
AI
Guide
Erstellen einer KI-Anwendung in 10 Minuten: Eine Schritt-für-Schritt-Anleitung cover image

Seit dem Erscheinen von ChatGPT und Google Gemini haben wir viele Apps gesehen, die diese Modelle nutzen. Die Technik heißt Arbitrage, eine Methode, die eine der zahlreichen Aufgaben, die KI erledigen kann, mit effizienten Eingabeaufforderungen erweitert und sie dann den Kunden als Funktion bereitstellt.

Dieser Artikel ist eine Schritt-für-Schritt-Anleitung zur Integration des Google Gemini-Modells in unsere Node.js-Anwendung. Wir werden sehen, wie man sowohl Gemini-pro, das generativen Text verarbeitet, als auch Gemini-pro-vision, das Bilder verarbeitet, verwendet.

Wir beginnen zunächst mit der Einrichtung des Projekts und verwenden es dann an einem eigenen Beispiel.

Anforderungen

Erste Schritte

Erstellen Sie zunächst ein neues Node.js-Projekt in einem leeren Ordner:

mkdir gemini-node  
cd gemini-node
npm init -y

Jetzt installieren wir die erforderlichen Pakete für die Umgebungsdatei und das Gemini SDK:

npm install dotenv @google/generative-ai

API-Schlüssel-Setup

Klicken Sie auf Ihrer Google AI Platform auf die Schaltfläche API-Schlüssel abrufen, um den API-Schlüssel abzurufen, und speichern Sie ihn dann in Ihrer Umgebungsdatei (.env) im Stammverzeichnis:

API_KEY=YOUR_GEMINI_KEY

Erstellen Sie einen neuen lib-Ordner und darin eine config.js-Datei. Im nächsten Schritt exportieren wir dann unseren API-Schlüssel:

const  dotenv  =  require("dotenv");
dotenv.config();

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK-Setup

In diesem Schritt richten wir unsere Modelle ein, damit wir sie in unserem Code verwenden können. Erstellen wir in unserem lib-Ordner zwei Dateien, gemini.js für die Textverarbeitung und gemini-vision.js für die Bildverarbeitung.

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 };

Wir werden die exportierte Funktion verwenden, um Text aus einer Eingabeaufforderung zu generieren. Wir können damit ein Chat-System, Textübersetzungen und viele weitere Anwendungsfälle aufbauen.

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 };

Wir werden die exportierte Funktion verwenden, um Text aus einem Bild zu generieren.

Erstellen der App

Erstellen Sie eine neue index.js-Datei und fügen Sie diesen Code ein:

const main = async () => {
  console.log("Hello world!");
};

main();

Jetzt können wir unsere exportierten Funktionen importieren und zum Generieren von Text verwenden, entweder aus einer Frage oder einer Bildaufforderung.

Die Funktion benötigt einen Dateipfad als Argument, daher müssen Sie zum Testen eine Bilddatei zu Ihrem Projektordner hinzufügen.

Unser Code wird umgewandelt in:

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();

Was kommt als nächstes?

Jetzt können Sie ExpressJS verwenden, um eine API anstelle eines Skripts zu erstellen. Sie können sich auch über Best Practices zum Schreiben von Eingabeaufforderungen für Ihre Anwendungsfälle informieren.

Dies sind einige Beispiele für Apps, die Sie erstellen können:

  • SEO-Metadatengenerator mit Unsplash API

  • Lebenslaufprüfer durch Hinzufügen eines zusätzlichen Skripts, das Inhalte aus PDF abruft

  • Instagram-Biografieautor aus einem Bild

Sind Sie daran interessiert, bessere Apps zu entwickeln? Nehmen Sie an unserem Webentwicklungs-Bootcamp teil und lernen Sie, wie Sie ein voll funktionsfähiges Produkt erstellen!


By Omar Mokhfi

Career Services background pattern

Karrieredienste

Contact Section background image

Lass uns in Kontakt bleiben

Code Labs Academy © 2024 Alle Rechte vorbehalten.