|
1 | | -from pathlib import Path |
2 | | -from llmlib.gemini.gemini_code import GeminiAPI, GeminiModels, SingleTurnRequest |
| 1 | +from llmlib.gemini.gemini_code import GeminiAPI, GeminiModels |
3 | 2 | import pytest |
4 | 3 |
|
5 | 4 | from tests.helpers import ( |
|
8 | 7 | assert_model_recognizes_pyramid_in_image, |
9 | 8 | assert_model_supports_multiturn, |
10 | 9 | assert_model_supports_multiturn_with_file, |
11 | | - file_for_test, |
12 | 10 | is_ci, |
13 | 11 | ) |
14 | 12 |
|
15 | 13 |
|
16 | | -@pytest.mark.skipif(condition=is_ci(), reason="Avoid costs") |
17 | | -def test_gemini_vision(): |
18 | | - files: list[Path] = [ |
19 | | - file_for_test("pyramid.jpg"), |
20 | | - file_for_test("mona-lisa.png"), |
21 | | - file_for_test("some-audio.mp3"), |
22 | | - ] |
23 | | - |
24 | | - for path in files: |
25 | | - assert path.exists() |
26 | | - |
27 | | - req = SingleTurnRequest( |
28 | | - model_name=GeminiModels.gemini_20_flash, |
29 | | - media_files=files, |
30 | | - prompt="Describe this combined images/audio/text in detail.", |
31 | | - ) |
32 | | - description: str = req.fetch_media_description().lower() |
33 | | - assert "pyramid" in description |
34 | | - assert "mona lisa" in description |
35 | | - assert "horses are very fast" in description |
36 | | - |
37 | | - |
38 | 14 | @pytest.mark.skipif(condition=is_ci(), reason="Avoid costs") |
39 | 15 | def test_gemini_vision_using_interface(): |
40 | 16 | model = GeminiAPI(model_id=GeminiModels.gemini_20_flash_lite, max_output_tokens=50) |
|
0 commit comments