From 5e3c8cd44117f51f94e0dcd1e97a5e5a19fe9e5f Mon Sep 17 00:00:00 2001 From: Dillon Laird Date: Wed, 24 Apr 2024 17:50:29 -0700 Subject: [PATCH] updated function' --- tests/test_vision_agent.py | 14 +++++++------- vision_agent/agent/vision_agent.py | 14 ++++++++------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/tests/test_vision_agent.py b/tests/test_vision_agent.py index 78da24e6..98df1f3f 100644 --- a/tests/test_vision_agent.py +++ b/tests/test_vision_agent.py @@ -15,17 +15,17 @@ def test_sample_n_evenly_spaced_side_cases(): def test_sample_n_evenly_spaced_even_cases(): - assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 2) == [1, 4] - assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 3) == [1, 3, 5] - assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 4) == [1, 2, 3, 4] - assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 5) == [1, 2, 3, 4, 5] + assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 2) == [1, 6] + assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 3) == [1, 3, 6] + assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 4) == [1, 3, 4, 6] + assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 5) == [1, 2, 3, 5, 6] assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6], 6) == [1, 2, 3, 4, 5, 6] def test_sample_n_evenly_spaced_odd_cases(): - assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 2) == [1, 5] + assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 2) == [1, 7] assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 3) == [1, 4, 7] assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 4) == [1, 3, 5, 7] - assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 5) == [1, 2, 3, 5, 7] - assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 6) == [1, 2, 3, 4, 5, 7] + assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 5) == [1, 3, 4, 5, 7] + assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 6) == [1, 2, 3, 5, 6, 7] assert sample_n_evenly_spaced([1, 2, 3, 4, 5, 6, 7], 7) == [1, 2, 3, 4, 5, 6, 7] diff --git a/vision_agent/agent/vision_agent.py b/vision_agent/agent/vision_agent.py index 7e87cba0..e6f5818d 100644 --- a/vision_agent/agent/vision_agent.py +++ b/vision_agent/agent/vision_agent.py @@ -369,14 +369,16 @@ def _handle_viz_tools( def sample_n_evenly_spaced(lst: Sequence, n: int) -> Sequence: if n <= 0: return [] - - if len(lst) <= n: + elif len(lst) == 0: + return [] + elif n == 1: + return [lst[0]] + elif n >= len(lst): return lst - interval = len(lst) // n if len(lst) % 2 == 0 else len(lst) // n + 1 - indices = list(range(len(lst))) - picked_indices = sorted([indices[(i * interval) % len(lst)] for i in range(n)]) - return [lst[i] for i in picked_indices] + spacing = (len(lst) - 1) / (n - 1) + return [lst[round(spacing * i)] for i in range(n)] + def visualize_result(all_tool_results: List[Dict]) -> Sequence[Union[str, Path]]: