ホームページ  >  記事  >  バックエンド開発  >  Gemini Flash を使用したビデオ インサイト ジェネレーターの構築

Gemini Flash を使用したビデオ インサイト ジェネレーターの構築

DDD
DDDオリジナル
2024-11-26 20:24:13741ブラウズ

ビデオの理解やビデオに関する洞察は、多面的な利点があるため、さまざまな業界やアプリケーションにわたって重要です。メタデータの自動生成、コンテンツの分類、ビデオの検索性の向上により、コンテンツの分析と管理が強化されます。さらに、ビデオの洞察は、意思決定を促進し、ユーザー エクスペリエンスを向上させ、さまざまな分野にわたる業務効率を向上させる重要なデータを提供します。

Google の Gemini 1.5 モデルは、この分野に大きな進歩をもたらしました。このモデルは、言語処理における目覚ましい改善に加えて、最大 100 万トークンという膨大な入力コンテキストを処理できます。その機能をさらに高めるために、Gemini 1.5 はマルチモーダル モデルとしてトレーニングされ、テキスト、画像、オーディオ、ビデオをネイティブに処理します。さまざまな入力タイプと広範なコンテキスト サイズの強力な組み合わせにより、長いビデオを効果的に処理するための新たな可能性が開かれます。

この記事では、Gemini 1.5 を活用して貴重なビデオに関する洞察を生成し、さまざまなドメインにわたるビデオ コンテンツの理解と利用方法を変革する方法について詳しく説明します。

はじめる

目次

  • Gemini 1.5 とは
  • 前提条件
  • 依存関係のインストール
  • Gemini API キーのセットアップ
  • 環境変数の設定
  • ライブラリのインポート
  • プロジェクトを初期化しています
  • アップロードされたファイルの保存
  • ビデオから洞察を生成する
  • ファイル API にビデオをアップロードします
  • ファイルを取得
  • 応答の生成
  • ファイルを削除
  • ステージの結合
  • インターフェースの作成
  • streamlit アプリの作成

ジェミニ1.5とは

Google の Gemini 1.5 は、AI のパフォーマンスと効率における大幅な進歩を表しています。広範な研究とエンジニアリングの革新に基づいて構築されたこのモデルは、新しい専門家混合 (MoE) アーキテクチャを特徴としており、トレーニングとサービスの効率の両方を向上させます。パブリック プレビューで利用可能な Gemini 1.5 Pro と 1.5 Flash は、Google AI Studio と Vertex AI を通じて 100 万トークンという驚異的なコンテキスト ウィンドウを提供します。

Building a video insights generator using Gemini Flash

Google Gemini のアップデート: Flash 1.5、Gemma 2、Project Astra (blog.google)
Gemini ファミリに新しく追加された 1.5 フラッシュ モデルは、大量かつ高頻度のタスク向けに最も高速かつ最適化されています。コスト効率を重視して設計されており、要約、チャット、画像やビデオのキャプション付け、広範なドキュメントや表からのデータ抽出などのアプリケーションに優れています。これらの進歩により、Gemini 1.5 は AI モデルのパフォーマンスと多用途性の新しい標準を設定します。

前提条件

  • Python 3.9 (https://www.python.org/downloads)
  • google-generativeai
  • ストリームライト

依存関係のインストール

  • 次のコマンドを実行して仮想環境を作成し、有効化します。
python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
  • pip を使用して、google-generativeai、streamlit、python-dotenv ライブラリをインストールします。 Generativeai が動作するには Python 3.9 バージョンが必要であることに注意してください。
pip install google-generativeai streamlit python-dotenv

Gemini API キーのセットアップ

Gemini API にアクセスしてその機能を使い始めるには、Google AI Studio に登録して無料の Google API キーを取得できます。 Google が提供する Google AI Studio は、Gemini API と対話するためのユーザーフレンドリーなビジュアルベースのインターフェイスを提供します。 Google AI Studio 内では、直感的な UI を通じて生成モデルをシームレスに操作でき、必要に応じて、制御とカスタマイズを強化するための API トークンを生成できます。

次の手順に従って Gemini API キーを生成します。

  • プロセスを開始するには、リンク (https://aistudio.google.com/app) をクリックして Google AI Studio にリダイレクトするか、Google でクイック検索を実行して見つけます。
  • 利用規約に同意し、[続行] をクリックします。
  • サイドバーから「API キーを取得」リンクをクリックし、「新しいプロジェクトで API キーを作成」ボタンをクリックしてキーを生成します。
  • 生成された API キーをコピーします。

Building a video insights generator using Gemini Flash

環境変数の設定

まず、プロジェクト用に新しいフォルダーを作成します。プロジェクトの目的を反映した名前を選択してください。
新しいプロジェクト フォルダー内に、.env という名前のファイルを作成します。このファイルには、Gemini API キーを含む環境変数が保存されます。
.env ファイルを開き、次のコードを追加して Gemini API キーを指定します:

GOOGLE_API_KEY=AIzaSy......

ライブラリのインポート

プロジェクトを開始し、必要なツールがすべて揃っていることを確認するには、次のようにいくつかの主要なライブラリをインポートする必要があります。

import os
import time
import google.generativeai as genai
import streamlit as st
from dotenv import load_dotenv
  • google.generativeai as genai: Gemini API と対話するための Google Generative AI ライブラリをインポートします。
  • streamlit as st: Web アプリを作成するために Streamlit をインポートします。
  • from dotenv import load_dotenv: .env ファイルから環境変数をロードします。

プロジェクトの初期化

プロジェクトを設定するには、API キーを設定し、アップロードされたファイルの一時ファイル ストレージ用のディレクトリを作成する必要があります。

メディア フォルダーを定義し、必要な設定を初期化して Gemini API キーを構成します。次のコードをスクリプトに追加します:

python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows

アップロードしたファイルの保存

アップロードされたファイルをメディア フォルダーに保存し、そのパスを返すには、save_uploaded_file というメソッドを定義し、次のコードをそれに追加します。

pip install google-generativeai streamlit python-dotenv

ビデオから洞察を生成する

動画から分析情報を生成するには、アップロード、処理、応答の生成など、いくつかの重要な段階が必要です。

1. ファイル API にビデオをアップロードする

Gemini API はビデオ ファイル形式を直接受け入れます。ファイル API は最大 2 GB のサイズのファイルをサポートし、プロジェクトごとに最大 20 GB のストレージを許可します。アップロードされたファイルは 2 日間利用可能であり、API からダウンロードすることはできません。

GOOGLE_API_KEY=AIzaSy......

2. ファイルの取得

ファイルをアップロードした後、files.get メソッドを使用して、API がファイルを正常に受信したことを確認できます。このメソッドを使用すると、API キーにリンクされたクラウド プロジェクトに関連付けられているファイル API にアップロードされたファイルを表示できます。ファイル名と URI のみが一意の識別子です。

import os
import time
import google.generativeai as genai
import streamlit as st
from dotenv import load_dotenv

3. 応答の生成

ビデオがアップロードされた後、ファイル API URI を参照する GenerateContent リクエストを行うことができます。

MEDIA_FOLDER = 'medias'

def __init__():
    # Create the media directory if it doesn't exist
    if not os.path.exists(MEDIA_FOLDER):
        os.makedirs(MEDIA_FOLDER)

    # Load environment variables from the .env file
    load_dotenv()

    # Retrieve the API key from the environment variables
    api_key = os.getenv("GEMINI_API_KEY")

    # Configure the Gemini API with your API key
    genai.configure(api_key=api_key)

4. ファイルの削除

ファイルは 2 日後に自動的に削除されます。または、files.delete() を使用して手動で削除することもできます。

def save_uploaded_file(uploaded_file):
    """Save the uploaded file to the media folder and return the file path."""
    file_path = os.path.join(MEDIA_FOLDER, uploaded_file.name)
    with open(file_path, 'wb') as f:
        f.write(uploaded_file.read())
    return file_path

5. ステージを組み合わせる

get_insights というメソッドを作成し、次のコードをそれに追加します。 print() の代わりに、streamlit write() メソッドを使用して、Web サイト上のメッセージを確認します。

video_file = genai.upload_file(path=video_path)

インターフェースの作成

Streamlit アプリ内でビデオをアップロードして分析情報を生成するプロセスを合理化するには、app という名前のメソッドを作成します。このメソッドは、アップロード ボタンを提供し、アップロードされたビデオを表示し、そこから分析情報を生成します。

import time

while video_file.state.name == "PROCESSING":
    print('Waiting for video to be processed.')
    time.sleep(10)
    video_file = genai.get_file(video_file.name)

if video_file.state.name == "FAILED":
  raise ValueError(video_file.state.name)

ストリームリットアプリの作成

ユーザーがビデオをアップロードし、Gemini 1.5 Flash モデルを使用して分析情報を生成できる、完全で機能的な Streamlit アプリケーションを作成するには、すべてのコンポーネントを app.py という名前の 1 つのファイルに結合します。

最終的なコードは次のとおりです:

# Create the prompt.
prompt = "Describe the video. Provides the insights from the video."

# Set the model to Gemini 1.5 Flash.
model = genai.GenerativeModel(model_name="models/gemini-1.5-flash")

# Make the LLM request.
print("Making LLM inference request...")
response = model.generate_content([prompt, video_file],
                                  request_options={"timeout": 600})
print(response.text)

アプリケーションの実行

次のコードを実行してアプリケーションを実行します。

genai.delete_file(video_file.name)

コンソールに表示されるリンクを開いて出力を確認できます。

Building a video insights generator using Gemini Flash

この記事をお読みいただきありがとうございます!!

この記事が気に入ったら、ハートボタン ♥ をクリックして共有し、他の人が記事を見つけられるようにしてください。

このチュートリアルの完全なソース コードはここにあります

GitHub - codemaker2015/video-insights-generator

以上がGemini Flash を使用したビデオ インサイト ジェネレーターの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。