Skip to content

Commit 4fae664

Browse files
committed
feature #470 [Store] Change vectorizeDocuments method to __invoke in Vectorizer (OskarStark)
This PR was squashed before being merged into the main branch. Discussion ---------- [Store] Change `vectorizeDocuments` method to `__invoke` in `Vectorizer` | Q | A | ------------- | --- | Bug fix? | no | New feature? | yes | Docs? | yes | Issues | -- | License | MIT This makes the Vectorizer class invokable, allowing it to be called directly as a function while maintaining the same functionality. Commits ------- c41dae0 [Store] Change `vectorizeDocuments` method to `__invoke` in `Vectorizer`
2 parents df7042a + c41dae0 commit 4fae664

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

src/store/src/Document/Vectorizer.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public function __construct(
2323
) {
2424
}
2525

26-
public function vectorizeDocuments(array $documents): array
26+
public function __invoke(array $documents): array
2727
{
2828
if ($this->model->supports(Capability::INPUT_MULTIPLE)) {
2929
$result = $this->platform->invoke($this->model, array_map(fn (TextDocument $document) => $document->content, $documents));

src/store/src/Document/VectorizerInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ interface VectorizerInterface
2323
*
2424
* @return VectorDocument[]
2525
*/
26-
public function vectorizeDocuments(array $documents): array;
26+
public function __invoke(array $documents): array;
2727
}

src/store/src/Indexer.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ public function index(TextDocument|iterable $documents, int $chunkSize = 50): vo
4545
++$counter;
4646

4747
if ($chunkSize === \count($chunk)) {
48-
$this->store->add(...$this->vectorizer->vectorizeDocuments($chunk));
48+
$this->store->add(...($this->vectorizer)($chunk));
4949
$chunk = [];
5050
}
5151
}
5252

5353
if (\count($chunk) > 0) {
54-
$this->store->add(...$this->vectorizer->vectorizeDocuments($chunk));
54+
$this->store->add(...($this->vectorizer)($chunk));
5555
}
5656

5757
$this->logger->debug(0 === $counter ? 'No documents to index' : \sprintf('Indexed %d documents', $counter));

src/store/tests/Document/VectorizerTest.php

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public function testVectorizeDocumentsWithBatchSupport()
6767
$model = new Embeddings();
6868

6969
$vectorizer = new Vectorizer($platform, $model);
70-
$vectorDocuments = $vectorizer->vectorizeDocuments($documents);
70+
$vectorDocuments = $vectorizer($documents);
7171

7272
$this->assertCount(3, $vectorDocuments);
7373

@@ -88,7 +88,7 @@ public function testVectorizeDocumentsWithSingleDocument()
8888
$model = new Embeddings();
8989

9090
$vectorizer = new Vectorizer($platform, $model);
91-
$vectorDocuments = $vectorizer->vectorizeDocuments([$document]);
91+
$vectorDocuments = $vectorizer([$document]);
9292

9393
$this->assertCount(1, $vectorDocuments);
9494
$this->assertInstanceOf(VectorDocument::class, $vectorDocuments[0]);
@@ -103,7 +103,7 @@ public function testVectorizeEmptyDocumentsArray()
103103
$model = new Embeddings();
104104

105105
$vectorizer = new Vectorizer($platform, $model);
106-
$vectorDocuments = $vectorizer->vectorizeDocuments([]);
106+
$vectorDocuments = $vectorizer([]);
107107

108108
$this->assertSame([], $vectorDocuments);
109109
}
@@ -127,7 +127,7 @@ public function testVectorizeDocumentsPreservesMetadata()
127127
$model = new Embeddings();
128128

129129
$vectorizer = new Vectorizer($platform, $model);
130-
$vectorDocuments = $vectorizer->vectorizeDocuments($documents);
130+
$vectorDocuments = $vectorizer($documents);
131131

132132
$this->assertCount(2, $vectorDocuments);
133133
$this->assertSame($metadata1, $vectorDocuments[0]->metadata);
@@ -158,7 +158,7 @@ public function testVectorizeDocumentsPreservesDocumentIds()
158158
$model = new Embeddings();
159159

160160
$vectorizer = new Vectorizer($platform, $model);
161-
$vectorDocuments = $vectorizer->vectorizeDocuments($documents);
161+
$vectorDocuments = $vectorizer($documents);
162162

163163
$this->assertCount(3, $vectorDocuments);
164164
$this->assertSame($id1, $vectorDocuments[0]->id);
@@ -187,7 +187,7 @@ public function testVectorizeVariousDocumentCounts(int $count)
187187
$model = new Embeddings();
188188

189189
$vectorizer = new Vectorizer($platform, $model);
190-
$vectorDocuments = $vectorizer->vectorizeDocuments($documents);
190+
$vectorDocuments = $vectorizer($documents);
191191

192192
$this->assertCount($count, $vectorDocuments);
193193

@@ -226,7 +226,7 @@ public function testVectorizeDocumentsWithLargeVectors()
226226
$model = new Embeddings();
227227

228228
$vectorizer = new Vectorizer($platform, $model);
229-
$vectorDocuments = $vectorizer->vectorizeDocuments([$document]);
229+
$vectorDocuments = $vectorizer([$document]);
230230

231231
$this->assertCount(1, $vectorDocuments);
232232
$this->assertEquals($vector, $vectorDocuments[0]->vector);
@@ -250,7 +250,7 @@ public function testVectorizeDocumentsWithSpecialCharacters()
250250
$model = new Embeddings();
251251

252252
$vectorizer = new Vectorizer($platform, $model);
253-
$vectorDocuments = $vectorizer->vectorizeDocuments($documents);
253+
$vectorDocuments = $vectorizer($documents);
254254

255255
$this->assertCount(3, $vectorDocuments);
256256

@@ -313,7 +313,7 @@ public function convert(RawResultInterface $result, array $options = []): Result
313313
$platform = new Platform([$handler], [$handler]);
314314

315315
$vectorizer = new Vectorizer($platform, $model);
316-
$vectorDocuments = $vectorizer->vectorizeDocuments($documents);
316+
$vectorDocuments = $vectorizer($documents);
317317

318318
$this->assertCount(2, $vectorDocuments);
319319
$this->assertEquals($vectors[0], $vectorDocuments[0]->vector);

0 commit comments

Comments
 (0)