Een AI-applicatie bouwen in 10 minuten: een stapsgewijze handleiding

Gemini
Nodejs
AI
Gids
Een AI-applicatie bouwen in 10 minuten: een stapsgewijze handleiding cover image

Sinds de verschijning van ChatGPT en Google Gemini hebben we gezien dat er veel apps zijn gelanceerd die gebruik maken van deze modellen. De techniek wordt arbitrage genoemd, een methode die een van de vele taken die AI kan uitvoeren, uitbreidt met efficiënte aanwijzingen en deze vervolgens als functie aan klanten aanbiedt.

Dit artikel is een stapsgewijze handleiding voor het integreren van het Google Gemini-model in onze Node.js-applicatie. We zullen zien hoe u zowel Gemini-pro, dat generatieve tekst verwerkt, als Gemini-pro-vision, dat afbeeldingen verwerkt, kunt gebruiken.

We beginnen eerst met het opzetten van het project en gebruiken het vervolgens op een eigen voorbeeld.

Vereisten

Aan de slag

Maak eerst een nieuw Node.js-project in een lege map:

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

Nu zullen we de vereiste pakketten voor het omgevingsbestand en de Gemini SDK installeren:

npm install dotenv @google/generative-ai

API-sleutel instellen

Klik op uw Google AI-platform op de knop API-sleutel ophalen om de API-sleutel op te halen en sla deze vervolgens op in uw omgevingsbestand (.env) in de hoofdmap:

API_KEY=YOUR_GEMINI_KEY

Maak een nieuwe lib-map en maak daarin een config.js-bestand. Voor de volgende stap exporteren we onze API-sleutel:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK-installatie

In deze stap gaan we onze modellen instellen, zodat we ze in onze code kunnen gebruiken. Laten we in onze lib-map twee bestanden maken, gemini.js voor het verwerken van tekst en gemini-vision.js voor het verwerken van afbeeldingen.

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

We zullen de geëxporteerde functie gebruiken om tekst te genereren op basis van een prompt. We kunnen het gebruiken om een ​​chatsysteem, tekstvertaling en nog veel meer gebruiksscenario's te bouwen.

2- Google Gemini-visie

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

We zullen de geëxporteerde functie gebruiken om tekst uit een afbeelding te genereren.

De app bouwen

Maak een nieuw index.js-bestand en plak deze code:

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

main();

Nu kunnen we onze geëxporteerde functies importeren en deze gebruiken om tekst te genereren, hetzij op basis van een vraag of een afbeeldingsprompt.

De functie neemt een bestandspad als argument, dus u zult een afbeeldingsbestand aan uw projectmap moeten toevoegen om het te testen.

Onze code wordt omgezet 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();

Wat is het volgende

Nu kunt u ExpressJS gebruiken om een ​​API te bouwen in plaats van een script. U kunt ook onderzoek doen naar best practices voor het schrijven van aanwijzingen voor uw gebruiksscenario's.

Dit zijn enkele voorbeelden van apps die u kunt bouwen:

  • SEO Meta-gegevensgenerator met behulp van Unsplash API

  • CV-reviewer door een extra script toe te voegen dat inhoud uit PDF haalt

  • Instagram-bioschrijver van een afbeelding

Ben je geïnteresseerd in het bouwen van betere apps? Doe mee aan onze Web Development-bootcamp en leer hoe u een volledig functioneel product kunt bouwen!


By Omar Mokhfi

Career Services background pattern

Carrièrediensten

Contact Section background image

Laten we in contact blijven

Code Labs Academy © 2024 Alle rechten voorbehouden.