Tekoälysovelluksen rakentaminen 10 minuutissa: Vaiheittainen opas

Kaksoset
Nodejs
AI
opas
Tekoälysovelluksen rakentaminen 10 minuutissa: Vaiheittainen opas cover image

ChatGPT:n ja Google Geminin ilmestymisen jälkeen olemme nähneet monia sovelluksia, jotka hyödyntävät näitä malleja. Tekniikkaa kutsutaan arbitraasiksi, menetelmäksi, joka ottaa yhden monista tehtävistä, joita tekoäly voi tehdä, parantaa sitä tehokkailla kehotteilla ja tarjoaa sen sitten asiakkaille ominaisuutena.

Tämä artikkeli on vaiheittainen opas Google Gemini -mallin integroimiseksi Node.js-sovellukseemme. Katsotaan kuinka käyttää sekä Gemini-proa, joka käsittelee luovaa tekstiä, että Gemini-pro-vision:ta, joka käsittelee kuvia.

Aloitamme ensin luomalla projektin ja käytämme sitä sitten omassa esimerkissämme.

Vaatimukset

Päästä alkuun

Luo ensin uusi Node.js-projekti tyhjään kansioon:

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

Nyt asennamme tarvittavat paketit ympäristötiedostolle ja Gemini SDK:lle:

npm install dotenv @google/generative-ai

API-avaimen asetukset

Napsauta Google AI -alustallasi Hae API-avain -painiketta saadaksesi API-avain ja tallenna se ympäristötiedostoon (.env) juurihakemistoon:

API_KEY=YOUR_GEMINI_KEY

Luo uusi lib-kansio ja luo siihen config.js-tiedosto. Seuraavaa vaihetta varten viemme API-avaimemme:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Gemini SDK:n asennus

Tässä vaiheessa määritämme mallimme, jotta voimme käyttää niitä koodissamme. Luodaan lib-kansioomme 2 tiedostoa, gemini.js tekstin käsittelyyn ja gemini-vision.js kuvien käsittelyyn.

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

Käytämme vietyä funktiota tekstin luomiseen kehotteesta. Voimme käyttää sitä chat-järjestelmän rakentamiseen, tekstin kääntämiseen ja moniin muihin käyttötapauksiin.

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

Käytämme vietyä toimintoa luomaan tekstiä kuvasta.

Sovelluksen rakentaminen

Luo uusi index.js-tiedosto ja liitä tämä koodi:

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

main();

Nyt voimme tuoda vietymme funktiot ja käyttää niitä tekstin luomiseen joko kysymyksestä tai kuvakehotteesta.

Funktio ottaa tiedostopolun argumenttina, joten sinun on lisättävä kuvatiedosto projektikansioosi sen testaamiseksi.

Koodimme muunnetaan seuraavaksi:

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

Mitä seuraavaksi

Nyt voit käyttää ExpressJS:ää API:n rakentamiseen komentosarjan sijaan. Voit myös tutkia parhaita käytäntöjä kehotteiden kirjoittamiseen käyttötapauksiasi varten.

Tässä on muutamia esimerkkejä sovelluksista, joita voit rakentaa:

  • Hakukoneoptimoinnin metatietojen luonti [Unsplash API]:lla (https://unsplash.com/developers)

  • Jatka tarkistajaa lisäämällä ylimääräinen komentosarja, joka hakee sisältöä PDF-tiedostosta

  • Instagramin biokirjoittaja kuvasta

Oletko kiinnostunut luomaan parempia sovelluksia? Liity Web-kehityksen bootcampille ja opi rakentamaan täysin toimiva tuote!


By Omar Mokhfi

Career Services background pattern

Urapalvelut

Contact Section background image

Pidetään yhteyttä

Code Labs Academy © 2024 Kaikki oikeudet pidätetään.