39
39
use PhpLlm \LlmChain \Store \Bridge \ChromaDB \Store as ChromaDBStore ;
40
40
use PhpLlm \LlmChain \Store \Bridge \MongoDB \Store as MongoDBStore ;
41
41
use PhpLlm \LlmChain \Store \Bridge \Pinecone \Store as PineconeStore ;
42
- use PhpLlm \LlmChain \Store \Embedder ;
42
+ use PhpLlm \LlmChain \Store \Document \Vectorizer ;
43
+ use PhpLlm \LlmChain \Store \Indexer ;
43
44
use PhpLlm \LlmChain \Store \StoreInterface ;
44
45
use PhpLlm \LlmChain \Store \VectorStoreInterface ;
45
46
use PhpLlm \LlmChainBundle \Profiler \DataCollector ;
@@ -98,11 +99,11 @@ public function load(array $configs, ContainerBuilder $container): void
98
99
$ container ->setAlias (StoreInterface::class, reset ($ stores ));
99
100
}
100
101
101
- foreach ($ config ['embedder ' ] as $ embedderName => $ embedder ) {
102
- $ this ->processEmbedderConfig ( $ embedderName , $ embedder , $ container );
102
+ foreach ($ config ['indexer ' ] as $ indexerName => $ indexer ) {
103
+ $ this ->processIndexerConfig ( $ indexerName , $ indexer , $ container );
103
104
}
104
- if (1 === count ($ config ['embedder ' ]) && isset ($ embedderName )) {
105
- $ container ->setAlias (Embedder ::class, 'llm_chain.embedder . ' .$ embedderName );
105
+ if (1 === count ($ config ['indexer ' ]) && isset ($ indexerName )) {
106
+ $ container ->setAlias (Indexer ::class, 'llm_chain.indexer . ' .$ indexerName );
106
107
}
107
108
108
109
$ container ->registerAttributeForAutoconfiguration (AsTool::class, static function (ChildDefinition $ definition , AsTool $ attribute ): void {
@@ -455,7 +456,7 @@ private function processStoreConfig(string $type, array $stores, ContainerBuilde
455
456
/**
456
457
* @param array<string, mixed> $config
457
458
*/
458
- private function processEmbedderConfig (int |string $ name , array $ config , ContainerBuilder $ container ): void
459
+ private function processIndexerConfig (int |string $ name , array $ config , ContainerBuilder $ container ): void
459
460
{
460
461
['name ' => $ modelName , 'version ' => $ version , 'options ' => $ options ] = $ config ['model ' ];
461
462
@@ -472,14 +473,19 @@ private function processEmbedderConfig(int|string $name, array $config, Containe
472
473
$ modelDefinition ->setArgument ('$options ' , $ options );
473
474
}
474
475
$ modelDefinition ->addTag ('llm_chain.model.embeddings_model ' );
475
- $ container ->setDefinition ('llm_chain.embedder . ' .$ name .'.model ' , $ modelDefinition );
476
+ $ container ->setDefinition ('llm_chain.indexer . ' .$ name .'.model ' , $ modelDefinition );
476
477
477
- $ definition = new Definition (Embedder::class, [
478
- '$model ' => new Reference ('llm_chain.embedder. ' .$ name .'.model ' ),
478
+ $ vectorizerDefinition = new Definition (Vectorizer::class, [
479
479
'$platform ' => new Reference ($ config ['platform ' ]),
480
+ '$model ' => new Reference ('llm_chain.indexer. ' .$ name .'.model ' ),
481
+ ]);
482
+ $ container ->setDefinition ('llm_chain.indexer. ' .$ name .'.vectorizer ' , $ vectorizerDefinition );
483
+
484
+ $ definition = new Definition (Indexer::class, [
485
+ '$vectorizer ' => new Reference ('llm_chain.indexer. ' .$ name .'.vectorizer ' ),
480
486
'$store ' => new Reference ($ config ['store ' ]),
481
487
]);
482
488
483
- $ container ->setDefinition ('llm_chain.embedder . ' .$ name , $ definition );
489
+ $ container ->setDefinition ('llm_chain.indexer . ' .$ name , $ definition );
484
490
}
485
491
}
0 commit comments