From c41dae04d5068c1f92ebfd796ec9a33e61a9b8cd Mon Sep 17 00:00:00 2001 From: Oskar Stark Date: Fri, 5 Sep 2025 16:55:13 +0200 Subject: [PATCH] [Store] Change `vectorizeDocuments` method to `__invoke` in `Vectorizer` --- src/store/src/Document/Vectorizer.php | 2 +- src/store/src/Document/VectorizerInterface.php | 2 +- src/store/src/Indexer.php | 4 ++-- src/store/tests/Document/VectorizerTest.php | 18 +++++++++--------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/store/src/Document/Vectorizer.php b/src/store/src/Document/Vectorizer.php index d2e94d3b0..559737257 100644 --- a/src/store/src/Document/Vectorizer.php +++ b/src/store/src/Document/Vectorizer.php @@ -23,7 +23,7 @@ public function __construct( ) { } - public function vectorizeDocuments(array $documents): array + public function __invoke(array $documents): array { if ($this->model->supports(Capability::INPUT_MULTIPLE)) { $result = $this->platform->invoke($this->model, array_map(fn (TextDocument $document) => $document->content, $documents)); diff --git a/src/store/src/Document/VectorizerInterface.php b/src/store/src/Document/VectorizerInterface.php index 749ad83fd..9f8ab665a 100644 --- a/src/store/src/Document/VectorizerInterface.php +++ b/src/store/src/Document/VectorizerInterface.php @@ -23,5 +23,5 @@ interface VectorizerInterface * * @return VectorDocument[] */ - public function vectorizeDocuments(array $documents): array; + public function __invoke(array $documents): array; } diff --git a/src/store/src/Indexer.php b/src/store/src/Indexer.php index 657f5e744..6eea2fcfb 100644 --- a/src/store/src/Indexer.php +++ b/src/store/src/Indexer.php @@ -47,13 +47,13 @@ public function index(TextDocument|iterable $documents, int $chunkSize = 50): vo ++$counter; if ($chunkSize === \count($chunk)) { - $this->store->add(...$this->vectorizer->vectorizeDocuments($chunk)); + $this->store->add(...($this->vectorizer)($chunk)); $chunk = []; } } if (\count($chunk) > 0) { - $this->store->add(...$this->vectorizer->vectorizeDocuments($chunk)); + $this->store->add(...($this->vectorizer)($chunk)); } $this->logger->debug(0 === $counter ? 'No documents to index' : \sprintf('Indexed %d documents', $counter)); diff --git a/src/store/tests/Document/VectorizerTest.php b/src/store/tests/Document/VectorizerTest.php index 191c99303..b8fb24cf2 100644 --- a/src/store/tests/Document/VectorizerTest.php +++ b/src/store/tests/Document/VectorizerTest.php @@ -67,7 +67,7 @@ public function testVectorizeDocumentsWithBatchSupport() $model = new Embeddings(); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments($documents); + $vectorDocuments = $vectorizer($documents); $this->assertCount(3, $vectorDocuments); @@ -88,7 +88,7 @@ public function testVectorizeDocumentsWithSingleDocument() $model = new Embeddings(); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments([$document]); + $vectorDocuments = $vectorizer([$document]); $this->assertCount(1, $vectorDocuments); $this->assertInstanceOf(VectorDocument::class, $vectorDocuments[0]); @@ -103,7 +103,7 @@ public function testVectorizeEmptyDocumentsArray() $model = new Embeddings(); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments([]); + $vectorDocuments = $vectorizer([]); $this->assertSame([], $vectorDocuments); } @@ -127,7 +127,7 @@ public function testVectorizeDocumentsPreservesMetadata() $model = new Embeddings(); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments($documents); + $vectorDocuments = $vectorizer($documents); $this->assertCount(2, $vectorDocuments); $this->assertSame($metadata1, $vectorDocuments[0]->metadata); @@ -158,7 +158,7 @@ public function testVectorizeDocumentsPreservesDocumentIds() $model = new Embeddings(); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments($documents); + $vectorDocuments = $vectorizer($documents); $this->assertCount(3, $vectorDocuments); $this->assertSame($id1, $vectorDocuments[0]->id); @@ -187,7 +187,7 @@ public function testVectorizeVariousDocumentCounts(int $count) $model = new Embeddings(); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments($documents); + $vectorDocuments = $vectorizer($documents); $this->assertCount($count, $vectorDocuments); @@ -226,7 +226,7 @@ public function testVectorizeDocumentsWithLargeVectors() $model = new Embeddings(); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments([$document]); + $vectorDocuments = $vectorizer([$document]); $this->assertCount(1, $vectorDocuments); $this->assertEquals($vector, $vectorDocuments[0]->vector); @@ -250,7 +250,7 @@ public function testVectorizeDocumentsWithSpecialCharacters() $model = new Embeddings(); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments($documents); + $vectorDocuments = $vectorizer($documents); $this->assertCount(3, $vectorDocuments); @@ -313,7 +313,7 @@ public function convert(RawResultInterface $result, array $options = []): Result $platform = new Platform([$handler], [$handler]); $vectorizer = new Vectorizer($platform, $model); - $vectorDocuments = $vectorizer->vectorizeDocuments($documents); + $vectorDocuments = $vectorizer($documents); $this->assertCount(2, $vectorDocuments); $this->assertEquals($vectors[0], $vectorDocuments[0]->vector);