multi-agent-gaia-system / tests /test_video_qa.py
Omachoko
GAIA agent: ready for Hugging Face Spaces deployment
997480e
raw
history blame
1.04 kB
import pytest
from gaia_agent import ModularGAIAAgent
@pytest.fixture
def agent():
return ModularGAIAAgent()
def test_youtube_video_qa(monkeypatch, agent):
# Mock subprocess, ASR, YOLO, BLIP, and extractive_qa
monkeypatch.setattr("subprocess.run", lambda *a, **k: None)
monkeypatch.setattr("cv2.VideoCapture", lambda *a, **k: type("C", (), {
"get": lambda self, x: 10 if x == 7 else 1, # 10 frames, 1 fps
"set": lambda self, x, y: None,
"read": lambda self: (True, __import__('numpy').zeros((10,10,3), dtype='uint8')),
"release": lambda self: None
})())
monkeypatch.setattr("PIL.Image.fromarray", lambda arr: arr)
agent.tools['extractive_qa'] = lambda q, c: "bird species: 5"
# Simulate a YouTube question
qobj = {"task_id": "yt1", "question": "In the video https://youtube.com/watch?v=abc123, what is the highest number of bird species to be on camera simultaneously?", "file_name": ""}
answer, trace = agent.answer_question(qobj)
assert "bird species" in answer