From c8dd0537339a075186b5cfe12288cae40cb7de29 Mon Sep 17 00:00:00 2001 From: Nate Wiebe Date: Wed, 27 Aug 2025 15:49:08 -0400 Subject: [PATCH] [Platform][Voyage] Include all returned vectors rather than just the first --- src/platform/src/Bridge/Voyage/ResultConverter.php | 9 ++++++--- src/platform/tests/Bridge/Voyage/ResultConverterTest.php | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/platform/src/Bridge/Voyage/ResultConverter.php b/src/platform/src/Bridge/Voyage/ResultConverter.php index a3b912506..5882fd62d 100644 --- a/src/platform/src/Bridge/Voyage/ResultConverter.php +++ b/src/platform/src/Bridge/Voyage/ResultConverter.php @@ -37,8 +37,11 @@ public function convert(RawResultInterface $result, array $options = []): Result throw new RuntimeException('Response does not contain embedding data.'); } - $vectors = array_map(fn (array $data) => new Vector($data['embedding']), $result['data']); - - return new VectorResult($vectors[0]); + return new VectorResult( + ...array_map( + static fn (array $data) => new Vector($data['embedding']), + $result['data'], + ), + ); } } diff --git a/src/platform/tests/Bridge/Voyage/ResultConverterTest.php b/src/platform/tests/Bridge/Voyage/ResultConverterTest.php index 807aba097..5b091cc64 100644 --- a/src/platform/tests/Bridge/Voyage/ResultConverterTest.php +++ b/src/platform/tests/Bridge/Voyage/ResultConverterTest.php @@ -74,8 +74,9 @@ public function testItConvertsMultipleEmbeddings() $vectorResult = $converter->convert(new RawHttpResult($result)); $this->assertInstanceOf(VectorResult::class, $vectorResult); - // The converter returns only the first vector + $this->assertCount(2, $vectorResult->getContent()); $this->assertSame([0.1, 0.2, 0.3], $vectorResult->getContent()[0]->getData()); + $this->assertSame([0.4, 0.5, 0.6], $vectorResult->getContent()[1]->getData()); } public function testItThrowsExceptionWhenResponseDoesNotContainData()