本教學課程將示範如何建構對話式應用程式,讓使用者能夠使用自然語言,對 YouTube 影片進行摘要,並討論內容。
事前準備
開始工作前,請先設定下列先決條件:
導入步驟
設定相依項目後,您就可以建構專案。
1. 設定專案
建立目錄結構和檔案,用於儲存原始碼。
$ mkdir -p summarize-a-video/src && \ cd summarize-a-video && \ touch src/index.ts
初始化新的 TypeScript 專案。
$ npm init -y
安裝下列 Genkit 依附元件,以便在專案使用 Genkit:
$ npm i genkit @genkit-ai/googleai
genkit
提供 Genkit 核心功能。@genkit-ai/googleai
可讓您存取 Google AI Gemini 模型。
取得及設定模型 API 金鑰
如要使用本教學課程使用的 Gemini API,您必須先設定 API 金鑰。如果還沒有金鑰,請在 Google AI Studio 建立金鑰。
Gemini API 提供大量免費方案配額,不需要信用卡即可開始使用。
建立 API 金鑰後,請使用下列指令將
GEMINI_API_KEY
環境變數設為該組金鑰:$ export GEMINI_API_KEY=<your API key>
2. 匯入必要的依附元件
在您建立的 index.ts
檔案中,新增下列指令列,以匯入這個專案所需的依附元件:
import { gemini, googleAI } from '@genkit-ai/googleai';
import { genkit } from 'genkit';
- 第一行會從
@genkit-ai/googleai
套件匯入googleAI
外掛程式和gemini
模型載入器函式,以便存取 Google 的 Gemini 模型。
3. 設定 Genkit 和預設模型
加入以下指令列來設定 Genkit,並將 Gemini 2.0 Flash 設為預設模型。
const ai = genkit({
plugins: [googleAI()],
model: gemini('gemini-2.0-flash'),
});
接著,您可以為程式碼和錯誤處理新增骨架。
(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. 剖析指令列並取得影片網址
新增程式碼,讀取從指令列傳入的影片網址。
// 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. 設定提示
新增程式碼來設定提示:
// Step 2: construct prompt
const prompt = process.argv[3] || "Please summarize the following video:";
- 如果使用者未透過指令列傳入自訂提示,這個
const
宣告會定義預設提示。
6. 產生回應
加入下列程式碼,將多模態提示傳遞至模型:
// Step 3: process video
const { text } = await ai.generate({
prompt: [
{ text: prompt },
{ media: { url: videoURL, contentType: "video/mp4" } }
],
});
console.log(text);
此程式碼片段會呼叫 ai.generate
方法,將多模態提示傳送至模型。提示訊息分為兩個部分:
{ text: prompt }
:這是您先前定義的文字提示。{ media: { url: videoURL, contentType: "video/mp4" } }
:這是您提供做為指令列引數的影片網址。contentType
設為video/mp4
,表示網址指向 MP4 影片檔案。
ai.generate
方法會傳回包含產生文字的物件,然後將其記錄到控制台。
7. 執行應用程式
如要執行應用程式,請在專案的根目錄中開啟終端機,然後執行下列指令:
npx tsx src/index.ts https://www.youtube.com/watch\?v\=YUgXJkNqH9Q
稍後,系統會顯示你提供的影片摘要。
您也可以傳入其他提示。例如:
npx tsx src/index.ts https://www.youtube.com/watch\?v\=YUgXJkNqH9Q "Transcribe this video"