Rumah pembangunan bahagian belakang Tutorial Python Membina penjana cerapan video menggunakan Gemini Flash

Membina penjana cerapan video menggunakan Gemini Flash

Nov 26, 2024 pm 08:24 PM

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.

Bermula

Jadual kandungan

  • Apakah itu Gemini 1.5
  • Prasyarat
  • Memasang kebergantungan
  • Menyediakan kunci API Gemini
  • Menyediakan pembolehubah persekitaran
  • Mengimport perpustakaan
  • Memulakan projek
  • Menyimpan fail yang dimuat naik
  • Menjana cerapan daripada video
  • Muat naik video ke API Fail
  • Dapatkan Fail
  • Penjanaan Respons
  • Padam Fail
  • Menggabungkan peringkat
  • Mencipta antara muka
  • Membuat apl strim

Apakah Gemini 1.5

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.

Building a video insights generator using Gemini Flash

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.

Prasyarat

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

Memasang kebergantungan

  • Buat dan aktifkan persekitaran maya dengan melaksanakan arahan berikut.
python -m venv venv
source venv/bin/activate #for ubuntu
venv/Scripts/activate #for windows
Salin selepas log masuk
Salin selepas log masuk
  • Pasang pustaka google-generativeai, streamlit, python-dotenv menggunakan pip. Ambil perhatian bahawa generativeai memerlukan versi python 3.9 untuk berfungsi.
pip install google-generativeai streamlit python-dotenv
Salin selepas log masuk
Salin selepas log masuk

Menyediakan kunci API Gemini

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:

  • Untuk memulakan proses, anda boleh sama ada mengklik pautan (https://aistudio.google.com/app) untuk diubah hala ke Google AI Studio atau melakukan carian pantas di Google untuk mencarinya.
  • Terima syarat perkhidmatan dan klik pada teruskan.
  • Klik pada Dapatkan pautan kunci API dari bar sisi dan Cipta kunci API dalam butang projek baharu untuk menjana kunci.
  • Salin kunci API yang dijana.

Building a video insights generator using Gemini Flash

Menyediakan pembolehubah persekitaran

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......
Salin selepas log masuk
Salin selepas log masuk

Mengimport perpustakaan

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
Salin selepas log masuk
Salin selepas log masuk
  • google.generativeai sebagai genai: Mengimport pustaka AI Generatif Google untuk berinteraksi dengan API Gemini.
  • streamlit as st: Import Streamlit untuk mencipta apl web.
  • daripada import dotenv load_dotenv: Memuatkan pembolehubah persekitaran daripada fail .env.

Memulakan projek

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
Salin selepas log masuk
Salin selepas log masuk

Menyimpan fail yang dimuat naik

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
Salin selepas log masuk
Salin selepas log masuk

Menjana pandangan daripada video

Menjana cerapan daripada video melibatkan beberapa peringkat penting, termasuk memuat naik, pemprosesan dan penjanaan respons.

1. Muat naik video ke API Fail

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......
Salin selepas log masuk
Salin selepas log masuk

2. Dapatkan Fail

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
Salin selepas log masuk
Salin selepas log masuk

3. Penjanaan Tindak Balas

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)
Salin selepas log masuk

4. Padam Fail

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
Salin selepas log masuk

5. Menggabungkan peringkat

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)
Salin selepas log masuk

Mencipta antara muka

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)
Salin selepas log masuk

Mencipta apl strim

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)
Salin selepas log masuk

Menjalankan aplikasi

Laksanakan kod berikut untuk menjalankan aplikasi.

genai.delete_file(video_file.name)
Salin selepas log masuk

Anda boleh membuka pautan yang disediakan dalam konsol untuk melihat output.

Building a video insights generator using Gemini Flash

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1673
14
Tutorial PHP
1278
29
Tutorial C#
1257
24
Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Apr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Pembelajaran Python: Adakah 2 jam kajian harian mencukupi? Apr 18, 2025 am 12:22 AM

Adakah cukup untuk belajar Python selama dua jam sehari? Ia bergantung pada matlamat dan kaedah pembelajaran anda. 1) Membangunkan pelan pembelajaran yang jelas, 2) Pilih sumber dan kaedah pembelajaran yang sesuai, 3) mengamalkan dan mengkaji semula dan menyatukan amalan tangan dan mengkaji semula dan menyatukan, dan anda secara beransur-ansur boleh menguasai pengetahuan asas dan fungsi lanjutan Python dalam tempoh ini.

Python vs C: Meneroka Prestasi dan Kecekapan Python vs C: Meneroka Prestasi dan Kecekapan Apr 18, 2025 am 12:20 AM

Python lebih baik daripada C dalam kecekapan pembangunan, tetapi C lebih tinggi dalam prestasi pelaksanaan. 1. Sintaks ringkas Python dan perpustakaan yang kaya meningkatkan kecekapan pembangunan. 2. Ciri-ciri jenis kompilasi dan kawalan perkakasan meningkatkan prestasi pelaksanaan. Apabila membuat pilihan, anda perlu menimbang kelajuan pembangunan dan kecekapan pelaksanaan berdasarkan keperluan projek.

Python vs C: Memahami perbezaan utama Python vs C: Memahami perbezaan utama Apr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Yang merupakan sebahagian daripada Perpustakaan Standard Python: Senarai atau Array? Apr 27, 2025 am 12:03 AM

Pythonlistsarepartofthestandardlibrary, sementara

Python: Automasi, skrip, dan pengurusan tugas Python: Automasi, skrip, dan pengurusan tugas Apr 16, 2025 am 12:14 AM

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Python untuk pengkomputeran saintifik: rupa terperinci Python untuk pengkomputeran saintifik: rupa terperinci Apr 19, 2025 am 12:15 AM

Aplikasi Python dalam pengkomputeran saintifik termasuk analisis data, pembelajaran mesin, simulasi berangka dan visualisasi. 1.Numpy menyediakan susunan pelbagai dimensi yang cekap dan fungsi matematik. 2. Scipy memanjangkan fungsi numpy dan menyediakan pengoptimuman dan alat algebra linear. 3. Pandas digunakan untuk pemprosesan dan analisis data. 4.Matplotlib digunakan untuk menghasilkan pelbagai graf dan hasil visual.

Python untuk Pembangunan Web: Aplikasi Utama Python untuk Pembangunan Web: Aplikasi Utama Apr 18, 2025 am 12:20 AM

Aplikasi utama Python dalam pembangunan web termasuk penggunaan kerangka Django dan Flask, pembangunan API, analisis data dan visualisasi, pembelajaran mesin dan AI, dan pengoptimuman prestasi. 1. Rangka Kerja Django dan Flask: Django sesuai untuk perkembangan pesat aplikasi kompleks, dan Flask sesuai untuk projek kecil atau sangat disesuaikan. 2. Pembangunan API: Gunakan Flask atau DjangorestFramework untuk membina Restfulapi. 3. Analisis Data dan Visualisasi: Gunakan Python untuk memproses data dan memaparkannya melalui antara muka web. 4. Pembelajaran Mesin dan AI: Python digunakan untuk membina aplikasi web pintar. 5. Pengoptimuman Prestasi: Dioptimumkan melalui pengaturcaraan, caching dan kod tak segerak

See all articles