3939use PhpLlm \LlmChain \Store \Bridge \ChromaDB \Store as ChromaDBStore ;
4040use PhpLlm \LlmChain \Store \Bridge \MongoDB \Store as MongoDBStore ;
4141use 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 ;
4344use PhpLlm \LlmChain \Store \StoreInterface ;
4445use PhpLlm \LlmChain \Store \VectorStoreInterface ;
4546use PhpLlm \LlmChainBundle \Profiler \DataCollector ;
@@ -98,11 +99,11 @@ public function load(array $configs, ContainerBuilder $container): void
9899 $ container ->setAlias (StoreInterface::class, reset ($ stores ));
99100 }
100101
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 );
103104 }
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 );
106107 }
107108
108109 $ container ->registerAttributeForAutoconfiguration (AsTool::class, static function (ChildDefinition $ definition , AsTool $ attribute ): void {
@@ -455,7 +456,7 @@ private function processStoreConfig(string $type, array $stores, ContainerBuilde
455456 /**
456457 * @param array<string, mixed> $config
457458 */
458- private function processEmbedderConfig (int |string $ name , array $ config , ContainerBuilder $ container ): void
459+ private function processIndexerConfig (int |string $ name , array $ config , ContainerBuilder $ container ): void
459460 {
460461 ['name ' => $ modelName , 'version ' => $ version , 'options ' => $ options ] = $ config ['model ' ];
461462
@@ -472,14 +473,19 @@ private function processEmbedderConfig(int|string $name, array $config, Containe
472473 $ modelDefinition ->setArgument ('$options ' , $ options );
473474 }
474475 $ 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 );
476477
477- $ definition = new Definition (Embedder::class, [
478- '$model ' => new Reference ('llm_chain.embedder. ' .$ name .'.model ' ),
478+ $ vectorizerDefinition = new Definition (Vectorizer::class, [
479479 '$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 ' ),
480486 '$store ' => new Reference ($ config ['store ' ]),
481487 ]);
482488
483- $ container ->setDefinition ('llm_chain.embedder . ' .$ name , $ definition );
489+ $ container ->setDefinition ('llm_chain.indexer . ' .$ name , $ definition );
484490 }
485491}
0 commit comments