Tworzenie aplikacji AI w 10 minut: przewodnik krok po kroku

Bliźnięta
Nodejs
AI
Przewodnik
Tworzenie aplikacji AI w 10 minut: przewodnik krok po kroku cover image

Od czasu pojawienia się ChatGPT i Google Gemini zaobserwowaliśmy, że uruchomiono wiele aplikacji wykorzystujących te modele. Technika ta nazywa się arbitrażem i polega na tym, że wykonuje jedno z wielu zadań, jakie może wykonać sztuczna inteligencja, ulepsza je za pomocą skutecznych podpowiedzi, a następnie udostępnia je klientom jako funkcję.

Artykuł ten będzie przewodnikiem krok po kroku jak zintegrować model Google Gemini z naszą aplikacją Node.js. Zobaczymy, jak używać zarówno Gemini-pro, który obsługuje tekst generatywny, jak i Gemini-pro-vision, który obsługuje obrazy.

Zaczniemy najpierw od skonfigurowania projektu, a następnie wykorzystamy go na własnym przykładzie.

Wymagania

Pierwsze kroki

Najpierw utwórz nowy projekt Node.js w pustym folderze:

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

Teraz zainstalujemy wymagane pakiety dla pliku środowiska i zestawu SDK Gemini:

npm install dotenv @google/generative-ai

Konfiguracja klucza API

Na platformie Google AI kliknij przycisk Pobierz klucz API, aby uzyskać klucz API, a następnie zapisz go w pliku środowiska (.env) w katalogu głównym:

API_KEY=YOUR_GEMINI_KEY

Utwórz nowy folder lib i utwórz w nim plik config.js, a następnie w następnym kroku wyeksportujemy nasz klucz API:

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

const  API_KEY  =  process.env.API_KEY;

module.exports  = { API_KEY };

Konfiguracja zestawu SDK Gemini

W tym kroku skonfigurujemy nasze modele, aby móc je wykorzystać w naszym kodzie. W naszym folderze lib utwórzmy 2 pliki, gemini.js do obsługi tekstu i gemini-vision.js do obsługi obrazów.

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

Wyeksportowaną funkcję wykorzystamy do wygenerowania tekstu z podpowiedzi. Możemy go użyć do zbudowania systemu czatu, tłumaczenia tekstu i wielu innych zastosowań.

2– Wizja Bliźniąt Google

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

Użyjemy funkcji eksportu do wygenerowania tekstu z obrazu.

Tworzenie aplikacji

Utwórz nowy plik index.js i wklej ten kod:

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

main();

Teraz możemy zaimportować nasze wyeksportowane funkcje i użyć ich do wygenerowania tekstu na podstawie pytania lub podpowiedzi obrazkowej.

Funkcja przyjmuje jako argument ścieżkę pliku, więc aby ją przetestować, będziesz musiał dodać plik obrazu do folderu projektu.

Nasz kod zamieni się w:

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

Co dalej

Teraz możesz używać ExpressJS do tworzenia interfejsu API zamiast skryptu. Możesz także zapoznać się z najlepszymi praktykami dotyczącymi pisania podpowiedzi dla swoich przypadków użycia.

Oto kilka przykładów aplikacji, które możesz zbudować:

  • Generator metadanych SEO przy użyciu Unsplash API

  • Wznów recenzenta, dodając dodatkowy skrypt pobierający treść z pliku PDF

  • Autor biografii na Instagramie na podstawie obrazu

Czy jesteś zainteresowany tworzeniem lepszych aplikacji? Dołącz do naszego bootcampu dotyczącego tworzenia stron internetowych i dowiedz się, jak zbudować w pełni funkcjonalny produkt!


By Omar Mokhfi

Career Services background pattern

Usługi związane z karierą

Contact Section background image

Pozostańmy w kontakcie

Code Labs Academy © 2024 Wszelkie prawa zastrzeżone.