Rumah >pembangunan bahagian belakang >Tutorial Python >Membina penjana cerapan video menggunakan Gemini Flash
Pemahaman video atau cerapan video adalah penting merentasi pelbagai industri dan aplikasi kerana faedahnya yang pelbagai rupa. Mereka meningkatkan analisis dan pengurusan kandungan dengan menjana metadata secara automatik, mengkategorikan kandungan dan menjadikan video lebih mudah dicari. Selain itu, cerapan video menyediakan data kritikal yang mendorong pembuatan keputusan, meningkatkan pengalaman pengguna dan meningkatkan kecekapan operasi merentas pelbagai sektor.
Model Gemini 1.5 Google membawa kemajuan yang ketara kepada bidang ini. Di sebalik peningkatan yang mengagumkan dalam pemprosesan bahasa, model ini boleh mengendalikan konteks input yang besar sehingga 1 juta token. Untuk melanjutkan keupayaannya, Gemini 1.5 dilatih sebagai model multimodal, memproses teks, imej, audio dan video secara asli. Gabungan hebat jenis input yang pelbagai dan saiz konteks yang luas ini membuka kemungkinan baharu untuk memproses video panjang dengan berkesan.
Dalam artikel ini, kami akan menyelami cara Gemini 1.5 boleh dimanfaatkan untuk menjana cerapan video yang berharga, mengubah cara kami memahami dan menggunakan kandungan video merentas domain yang berbeza.
Gemini 1.5 Google mewakili lonjakan ketara dalam prestasi dan kecekapan AI. Membina penyelidikan dan inovasi kejuruteraan yang meluas, model ini menampilkan seni bina Campuran Pakar (MoE) baharu, meningkatkan kecekapan latihan dan perkhidmatan. Tersedia dalam pratonton awam, Gemini 1.5 Pro dan 1.5 Flash menawarkan tetingkap konteks token 1 juta yang mengagumkan melalui Google AI Studio dan Vertex AI.
Kemas kini Google Gemini: Flash 1.5, Gemma 2 dan Project Astra (blog.google)
Model 1.5 Flash, tambahan terbaharu kepada keluarga Gemini, adalah yang paling pantas dan paling dioptimumkan untuk tugasan volum tinggi, frekuensi tinggi. Ia direka bentuk untuk kecekapan kos dan cemerlang dalam aplikasi seperti ringkasan, sembang, kapsyen imej dan video serta mengekstrak data daripada dokumen dan jadual yang luas. Dengan kemajuan ini, Gemini 1.5 menetapkan standard baharu untuk prestasi dan serba boleh dalam model AI.
python -m venv venv source venv/bin/activate #for ubuntu venv/Scripts/activate #for windows
pip install google-generativeai streamlit python-dotenv
Untuk mengakses API Gemini dan mula menggunakan fungsinya, anda boleh memperoleh Kunci API Google percuma dengan mendaftar dengan Google AI Studio. Google AI Studio, yang ditawarkan oleh Google, menyediakan antara muka berasaskan visual yang mesra pengguna untuk berinteraksi dengan API Gemini. Dalam Google AI Studio, anda boleh berinteraksi dengan Model Generatif dengan lancar melalui UI intuitifnya, dan jika mahu, jana Token API untuk kawalan dan penyesuaian yang dipertingkatkan.
Ikuti langkah untuk menjana kunci API Gemini:
Mulakan dengan mencipta folder baharu untuk projek anda. Pilih nama yang menggambarkan tujuan projek anda.
Di dalam folder projek baharu anda, cipta fail bernama .env. Fail ini akan menyimpan pembolehubah persekitaran anda, termasuk kunci API Gemini anda.
Buka fail .env dan tambah kod berikut untuk menentukan kunci API Gemini anda:
GOOGLE_API_KEY=AIzaSy......
Untuk memulakan projek anda dan memastikan anda mempunyai semua alatan yang diperlukan, anda perlu mengimport beberapa perpustakaan utama seperti berikut.
import os import time import google.generativeai as genai import streamlit as st from dotenv import load_dotenv
Untuk menyediakan projek anda, anda perlu mengkonfigurasi kunci API dan mencipta direktori untuk storan fail sementara untuk fail yang dimuat naik.
Tentukan folder media dan konfigurasikan kunci API Gemini dengan memulakan tetapan yang diperlukan. Tambahkan kod berikut pada skrip anda:
python -m venv venv source venv/bin/activate #for ubuntu venv/Scripts/activate #for windows
Untuk menyimpan fail yang dimuat naik dalam folder media dan mengembalikan laluannya, tentukan kaedah yang dipanggil save_uploaded_file dan tambahkan kod berikut padanya.
pip install google-generativeai streamlit python-dotenv
Menjana cerapan daripada video melibatkan beberapa peringkat penting, termasuk memuat naik, pemprosesan dan penjanaan respons.
API Gemini menerima format fail video secara langsung. API Fail menyokong fail bersaiz sehingga 2GB dan membenarkan penyimpanan sehingga 20GB bagi setiap projek. Fail yang dimuat naik kekal tersedia selama 2 hari dan tidak boleh dimuat turun daripada API.
GOOGLE_API_KEY=AIzaSy......
Selepas memuat naik fail, anda boleh mengesahkan bahawa API telah berjaya menerimanya dengan menggunakan kaedah files.get. Kaedah ini membolehkan anda melihat fail yang dimuat naik ke API Fail yang dikaitkan dengan projek Awan yang dipautkan kepada kunci API anda. Hanya nama fail dan URI ialah pengecam unik.
import os import time import google.generativeai as genai import streamlit as st from dotenv import load_dotenv
Selepas video dimuat naik, anda boleh membuat permintaan GenerateContent yang merujuk URI API Fail.
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)
Fail dipadamkan secara automatik selepas 2 hari atau anda boleh memadamkannya secara manual menggunakan 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
Buat kaedah yang dipanggil get_insights dan tambahkan kod berikut padanya. Sebaliknya print(), gunakan kaedah streamlit write() untuk melihat mesej di tapak web.
video_file = genai.upload_file(path=video_path)
Untuk menyelaraskan proses memuat naik video dan menjana cerapan dalam apl Streamlit, anda boleh membuat kaedah bernama apl. Kaedah ini akan menyediakan butang muat naik, memaparkan video yang dimuat naik dan menjana cerapan daripadanya.
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)
Untuk mencipta aplikasi Streamlit yang lengkap dan berfungsi yang membolehkan pengguna memuat naik video dan menjana cerapan menggunakan model Gemini 1.5 Flash, gabungkan semua komponen ke dalam satu fail bernama app.py.
Berikut ialah kod akhir:
# 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)
Laksanakan kod berikut untuk menjalankan aplikasi.
genai.delete_file(video_file.name)
Anda boleh membuka pautan yang disediakan dalam konsol untuk melihat output.
Terima kasih kerana membaca artikel ini !!
Jika anda menyukai artikel ini, sila klik pada butang hati ♥ dan kongsi untuk membantu orang lain menemuinya!
Kod sumber penuh untuk tutorial ini boleh didapati di sini,
GitHub - codemaker2015/video-insights-generator
Atas ialah kandungan terperinci Membina penjana cerapan video menggunakan Gemini Flash. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!