@woai
Add HybridGAIAAgent and clean up project structure
04ffb15

A newer version of the Gradio SDK is available: 5.32.0

Upgrade

YouTube Интеграция - Руководство пользователя

Обзор

Гибридный GAIA агент теперь поддерживает полную интеграцию с YouTube, позволяя анализировать видео и отвечать на вопросы о их содержании.

Возможности

1. Извлечение метаданных

  • Название видео
  • Канал/автор
  • Длительность
  • Количество просмотров
  • Дата публикации
  • Описание
  • Теги

2. Извлечение транскриптов

  • Автоматические субтитры
  • Ручные субтитры
  • Множество языков (английский, русский, и др.)
  • Поиск по содержанию

3. Анализ содержания

  • Поиск конкретных фраз
  • Извлечение ключевой информации
  • Ответы на вопросы о видео

Установка зависимостей

pip install yt-dlp youtube-transcript-api

Опционально (для расширенной функциональности):

# Установите YouTube API ключ
export YOUTUBE_API_KEY="your_api_key_here"

Примеры использования

1. Базовые вопросы о видео

from hybrid_agent import HybridGAIAAgent

agent = HybridGAIAAgent()

# Получить название видео
question = "What is the title of this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ"
answer = agent(question)
# Ответ: "Rick Astley - Never Gonna Give You Up (Official Music Video)"

# Узнать длительность
question = "How long is the video at https://www.youtube.com/watch?v=dQw4w9WgXcQ?"
answer = agent(question)
# Ответ: "212" (секунд)

2. Вопросы о содержании

# Анализ содержания видео
question = "What is this YouTube video about: https://www.youtube.com/watch?v=example"
answer = agent(question)

# Поиск конкретной информации
question = "Does the video at https://www.youtube.com/watch?v=example mention artificial intelligence?"
answer = agent(question)

3. Поддерживаемые форматы URL

# Все эти форматы поддерживаются:
urls = [
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "https://youtu.be/dQw4w9WgXcQ",
    "https://www.youtube.com/embed/dQw4w9WgXcQ"
]

Технические детали

Архитектура

HybridGAIAAgent
    ↓
YouTubeTools
    ↓
┌─────────────────┬─────────────────┐
│   Метаданные    │   Транскрипты   │
│                 │                 │
│ YouTube API     │ youtube-        │
│      ↓          │ transcript-api  │
│   yt-dlp        │                 │
│  (fallback)     │                 │
└─────────────────┴─────────────────┘
    ↓
Gemini API (анализ и ответы)

Обработка ошибок

Система имеет встроенные fallback механизмы:

  1. YouTube APIyt-dlp (для метаданных)
  2. Ручные субтитрыАвтоматические субтитрыБез транскрипта
  3. Graceful degradation при недоступности сервисов

Поддерживаемые языки транскриптов

  • Английский (en)
  • Русский (ru)
  • Немецкий (de)
  • Французский (fr)
  • Испанский (es)
  • И многие другие...

Ограничения

1. Зависимости от внешних сервисов

  • YouTube может блокировать запросы
  • Не все видео имеют транскрипты
  • Некоторые видео могут быть недоступны в регионе

2. Производительность

  • Извлечение транскриптов может занимать время
  • Большие видео требуют больше ресурсов

3. Точность

  • Автоматические транскрипты могут содержать ошибки
  • Качество анализа зависит от качества транскрипта

Отладка

Включить подробное логирование:

import logging
logging.basicConfig(level=logging.INFO)

Проверить доступность зависимостей:

from youtube_tools import YouTubeTools

tools = YouTubeTools()
# Проверьте логи на предупреждения о недоступных зависимостях

Тестирование:

python test_youtube.py

Примеры реальных GAIA задач

1. Анализ образовательного контента

"Summarize the main points discussed in this educational video: [URL]"

2. Извлечение фактической информации

"What year is mentioned in this historical documentary: [URL]"

3. Анализ музыкального контента

"Who is the artist of the song in this video: [URL]"

Заключение

YouTube интеграция значительно расширяет возможности GAIA агента, позволяя обрабатывать видео-контент наравне с текстовыми и другими мультимодальными данными. Это делает агент более универсальным и готовым к реальным задачам, где видео является важным источником информации.