Meringkas video YouTube

Tutorial ini menunjukkan cara mem-build aplikasi percakapan yang memungkinkan pengguna meringkas video YouTube dan melakukan chat tentang kontennya menggunakan bahasa alami.

  1. Menyiapkan project
  2. Mengimpor dependensi yang diperlukan
  3. Mengonfigurasi Genkit dan model default
  4. Mendapatkan URL video dari command line
  5. Menyiapkan perintah
  6. Buat respons
  7. Menjalankan aplikasi

Prasyarat

Sebelum memulai pekerjaan, Anda harus menyiapkan prasyarat berikut:

Langkah-Langkah Penerapan

Setelah menyiapkan dependensi, Anda dapat mem-build project.

1. Menyiapkan project

  1. Buat struktur direktori dan file untuk menyimpan kode sumber Anda.

    $ mkdir -p summarize-a-video/src && \
    cd summarize-a-video && \
    touch src/index.ts
    
  2. Lakukan inisialisasi project TypeScript baru.

    $ npm init -y
    
  3. Instal dependensi Genkit berikut untuk menggunakan Genkit dalam project Anda:

    $ npm i genkit @genkit-ai/googleai
    
    • genkit menyediakan kemampuan inti Genkit.
    • @genkit-ai/googleai menyediakan akses ke model Gemini Google AI.
  4. Mendapatkan dan mengonfigurasi kunci API model

    Untuk menggunakan Gemini API, yang digunakan tutorial ini, Anda harus mengonfigurasi kunci API terlebih dahulu. Jika Anda belum memilikinya, buat kunci di Google AI Studio.

    Gemini API menyediakan paket gratis yang melimpah dan tidak memerlukan kartu kredit untuk memulai.

    Setelah membuat kunci API, tetapkan variabel lingkungan GEMINI_API_KEY ke kunci Anda dengan perintah berikut:

    $ export GEMINI_API_KEY=<your API key>
    

2. Mengimpor dependensi yang diperlukan

Dalam file index.ts yang Anda buat, tambahkan baris berikut untuk mengimpor dependensi yang diperlukan untuk project ini:

import { gemini, googleAI } from '@genkit-ai/googleai';
import { genkit } from 'genkit';
  • Baris pertama mengimpor plugin googleAI dan fungsi loader model gemini dari paket @genkit-ai/googleai, yang memungkinkan akses ke model Gemini Google.

3. Mengonfigurasi Genkit dan model default

Tambahkan baris berikut untuk mengonfigurasi Genkit dan menetapkan Gemini 2.0 Flash sebagai model default.

const ai = genkit({
  plugins: [googleAI()],
  model: gemini('gemini-2.0-flash'),
});

Kemudian, Anda dapat menambahkan kerangka untuk kode dan penanganan error.

(async () => {
  try {
    // Step 1: get command line arguments

    // Step 2: construct prompt

    // Step 3: process video

  } catch (error) {
    console.error("Error processing video:", error);
  }
})(); // <-- don't forget the trailing parentheses to call the function!

4. Mengurai command line dan mendapatkan URL video

Tambahkan kode untuk membaca URL video yang diteruskan dari command line.

  // Step 1: get command line arguments
  const videoURL = process.argv[2];
  if (!videoURL) {
    console.error("Please provide a video URL as a command line argument.");
    process.exit(1);
  }

5. Menyiapkan dialog

Tambahkan kode untuk menyiapkan perintah:

  // Step 2: construct prompt
  const prompt = process.argv[3] || "Please summarize the following video:";
  • Deklarasi const ini menentukan perintah default jika pengguna tidak meneruskan salah satu perintahnya dari command line.

6. Membuat respons

Tambahkan kode berikut untuk meneruskan perintah multimodal ke model:

  // Step 3: process video
  const { text } = await ai.generate({
    prompt: [
      { text: prompt },
      { media: { url: videoURL, contentType: "video/mp4" } }
    ],
  });
  console.log(text);

Cuplikan kode ini memanggil metode ai.generate untuk mengirim perintah multimodal ke model. Perintah ini terdiri dari dua bagian:

  • { text: prompt }: Ini adalah perintah teks yang Anda tentukan sebelumnya.
  • { media: { url: videoURL, contentType: "video/mp4" } }: Ini adalah URL video yang Anda berikan sebagai argumen command line. contentType ditetapkan ke video/mp4 untuk menunjukkan bahwa URL mengarah ke file video MP4.

Metode ai.generate menampilkan objek yang berisi teks yang dihasilkan, yang kemudian dicatat ke konsol.

7. Menjalankan aplikasi

Untuk menjalankan aplikasi, buka terminal di folder root project Anda, lalu jalankan perintah berikut:

npx tsx src/index.ts https://www.youtube.com/watch\?v\=YUgXJkNqH9Q

Setelah beberapa saat, ringkasan video yang Anda berikan akan muncul.

Anda juga dapat meneruskan perintah lain. Contoh:

npx tsx src/index.ts https://www.youtube.com/watch\?v\=YUgXJkNqH9Q "Transcribe this video"