Maison > développement back-end > Tutoriel Python > Créer un générateur d'informations vidéo à l'aide de Gemini Flash

Créer un générateur d'informations vidéo à l'aide de Gemini Flash

DDD
Libérer: 2024-11-26 20:24:13
original
791 Les gens l'ont consulté

La compréhension vidéo ou les informations vidéo sont cruciales dans divers secteurs et applications en raison de leurs avantages multiformes. Ils améliorent l'analyse et la gestion du contenu en générant automatiquement des métadonnées, en catégorisant le contenu et en rendant les vidéos plus consultables. De plus, les informations vidéo fournissent des données critiques qui orientent la prise de décision, améliorent l'expérience des utilisateurs et améliorent l'efficacité opérationnelle dans divers secteurs.

Le modèle Gemini 1.5 de Google apporte des avancées significatives dans ce domaine. Au-delà de ses améliorations impressionnantes en matière de traitement du langage, ce modèle peut gérer un énorme contexte d'entrée allant jusqu'à 1 million de jetons. Pour étendre ses capacités, Gemini 1.5 est formé comme un modèle multimodal, traitant nativement le texte, les images, l'audio et la vidéo. Cette puissante combinaison de types d'entrée variés et d'une taille de contexte étendue ouvre de nouvelles possibilités pour traiter efficacement de longues vidéos.

Dans cet article, nous verrons comment Gemini 1.5 peut être exploité pour générer des informations vidéo précieuses, transformant ainsi la façon dont nous comprenons et utilisons le contenu vidéo dans différents domaines.

Commencer

Table des matières

  • Qu'est-ce que Gemini 1.5
  • Prérequis
  • Installation des dépendances
  • Configuration de la clé API Gemini
  • Configuration des variables d'environnement
  • Importation des bibliothèques
  • Initialisation du projet
  • Enregistrement des fichiers téléchargés
  • Générer des informations à partir de vidéos
  • Télécharger une vidéo sur l'API Files
  • Obtenir le fichier
  • Génération de réponses
  • Supprimer le fichier
  • Combiner les étapes
  • Création de l'interface
  • Création de l'application rationalisée

Qu'est-ce que Gémeaux 1.5

Gemini 1.5 de Google représente un bond en avant significatif en termes de performances et d'efficacité de l'IA. S'appuyant sur de nombreuses innovations en matière de recherche et d'ingénierie, ce modèle présente une nouvelle architecture de mélange d'experts (MoE), améliorant à la fois la formation et l'efficacité du service. Disponibles en version préliminaire publique, Gemini 1.5 Pro et 1.5 Flash offrent une impressionnante fenêtre contextuelle d'un million de jetons via Google AI Studio et Vertex AI.

Building a video insights generator using Gemini Flash

Mises à jour Google Gemini : Flash 1.5, Gemma 2 et Project Astra (blog.google)
Le modèle 1.5 Flash, le dernier-né de la famille Gemini, est le plus rapide et le plus optimisé pour les tâches à volume élevé et à haute fréquence. Il est conçu pour être rentable et excelle dans des applications telles que le résumé, le chat, le sous-titrage d'images et de vidéos, ainsi que l'extraction de données à partir de documents et de tableaux volumineux. Grâce à ces avancées, Gemini 1.5 établit une nouvelle norme en matière de performances et de polyvalence dans les modèles d'IA.

Conditions préalables

  • Python 3.9 (https://www.python.org/downloads)
  • google-generativeai
  • streaméclairé

Installation des dépendances

  • Créez et activez un environnement virtuel en exécutant la commande suivante.
python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
Copier après la connexion
Copier après la connexion
  • Installez la bibliothèque google-generativeai, streamlit, python-dotenv à l'aide de pip. Notez que generativeai nécessite la version python 3.9 pour fonctionner.
pip install google-generativeai streamlit python-dotenv
Copier après la connexion
Copier après la connexion

Configuration de la clé API Gemini

Pour accéder à l'API Gemini et commencer à utiliser ses fonctionnalités, vous pouvez acquérir une clé API Google gratuite en vous inscrivant auprès de Google AI Studio. Google AI Studio, proposé par Google, fournit une interface visuelle conviviale pour interagir avec l'API Gemini. Dans Google AI Studio, vous pouvez interagir en toute transparence avec les modèles génératifs via son interface utilisateur intuitive et, si vous le souhaitez, générer un jeton API pour un contrôle et une personnalisation améliorés.

Suivez les étapes pour générer une clé API Gemini :

  • Pour lancer le processus, vous pouvez soit cliquer sur le lien (https://aistudio.google.com/app) pour être redirigé vers Google AI Studio, soit effectuer une recherche rapide sur Google pour le localiser.
  • Acceptez les conditions d'utilisation et cliquez sur continuer.
  • Cliquez sur le lien Obtenir la clé API dans la barre latérale et sur le bouton Créer une clé API dans un nouveau projet pour générer la clé.
  • Copiez la clé API générée.

Building a video insights generator using Gemini Flash

Configuration des variables d'environnement

Commencez par créer un nouveau dossier pour votre projet. Choisissez un nom qui reflète le but de votre projet.
Dans votre nouveau dossier de projet, créez un fichier nommé .env. Ce fichier stockera vos variables d'environnement, y compris votre clé API Gemini.
Ouvrez le fichier .env et ajoutez le code suivant pour spécifier votre clé API Gemini :

GOOGLE_API_KEY=AIzaSy......
Copier après la connexion
Copier après la connexion

Importer les bibliothèques

Pour démarrer votre projet et vous assurer de disposer de tous les outils nécessaires, vous devez importer plusieurs bibliothèques de clés comme suit.

import os
import time
import google.generativeai as genai
import streamlit as st
from dotenv import load_dotenv
Copier après la connexion
Copier après la connexion
  • google.generativeai as genai : importe la bibliothèque Google Generative AI pour interagir avec l'API Gemini.
  • streamlit as st : importe Streamlit pour créer des applications Web.
  • from dotenv import load_dotenv : charge les variables d'environnement à partir d'un fichier .env.

Initialisation du projet

Pour configurer votre projet, vous devez configurer la clé API et créer un répertoire pour le stockage temporaire des fichiers téléchargés.

Définissez le dossier multimédia et configurez la clé API Gemini en initialisant les paramètres nécessaires. Ajoutez le code suivant à votre script :

python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
Copier après la connexion
Copier après la connexion

Enregistrement des fichiers téléchargés

Pour stocker les fichiers téléchargés dans le dossier multimédia et renvoyer leurs chemins, définissez une méthode appelée save_uploaded_file et ajoutez-y le code suivant.

pip install google-generativeai streamlit python-dotenv
Copier après la connexion
Copier après la connexion

Générer des informations à partir de vidéos

La génération d'informations à partir de vidéos implique plusieurs étapes cruciales, notamment le téléchargement, le traitement et la génération de réponses.

1. Téléchargez une vidéo sur l'API Files

L'API Gemini accepte directement les formats de fichiers vidéo. L'API File prend en charge des fichiers d'une taille maximale de 2 Go et permet un stockage jusqu'à 20 Go par projet. Les fichiers téléchargés restent disponibles pendant 2 jours et ne peuvent pas être téléchargés depuis l'API.

GOOGLE_API_KEY=AIzaSy......
Copier après la connexion
Copier après la connexion

2. Obtenir le fichier

Après avoir téléchargé un fichier, vous pouvez vérifier que l'API l'a bien reçu en utilisant la méthode files.get. Cette méthode vous permet de visualiser les fichiers téléchargés sur l'API File qui sont associés au projet Cloud lié à votre clé API. Seuls le nom du fichier et l'URI sont des identifiants uniques.

import os
import time
import google.generativeai as genai
import streamlit as st
from dotenv import load_dotenv
Copier après la connexion
Copier après la connexion

3. Génération de réponses

Une fois la vidéo téléchargée, vous pouvez effectuer des requêtes GenerateContent faisant référence à l'URI de l'API de fichier.

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)
Copier après la connexion

4. Supprimer le fichier

Les fichiers sont automatiquement supprimés après 2 jours ou vous pouvez les supprimer manuellement à l'aide de 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
Copier après la connexion

5. Combiner les étapes

Créez une méthode appelée get_insights et ajoutez-y le code suivant. Au lieu de print(), utilisez la méthode streamlit write() pour voir les messages sur le site Web.

video_file = genai.upload_file(path=video_path)
Copier après la connexion

Création de l'interface

Pour rationaliser le processus de téléchargement de vidéos et de génération d'informations dans une application Streamlit, vous pouvez créer une méthode nommée app. Cette méthode fournira un bouton de téléchargement, affichera la vidéo téléchargée et générera des informations à partir de celle-ci.

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)
Copier après la connexion

Création de l'application rationalisée

Pour créer une application Streamlit complète et fonctionnelle qui permet aux utilisateurs de télécharger des vidéos et de générer des informations à l'aide du modèle Flash Gemini 1.5, combinez tous les composants dans un seul fichier nommé app.py.

Voici le code final :

# 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)
Copier après la connexion

Exécuter l'application

Exécutez le code suivant pour exécuter l'application.

genai.delete_file(video_file.name)
Copier après la connexion

Vous pouvez ouvrir le lien fourni dans la console pour voir le résultat.

Building a video insights generator using Gemini Flash

Merci d'avoir lu cet article !!

Si vous avez apprécié cet article, veuillez cliquer sur le bouton cœur ♥ et partager pour aider les autres à le trouver !

Le code source complet de ce tutoriel peut être trouvé ici,

GitHub - codemaker2015/video-insights-generator

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal