5454
5555namespace litert ::lm {
5656
57- absl::StatusOr<std::unique_ptr<Engine>> CreateEngineAdvancedLegacy (
58- EngineSettings engine_settings);
59-
6057namespace {
6158
59+ absl::StatusOr<std::unique_ptr<Engine>> CreateEngineAdvancedLegacy (
60+ EngineSettings engine_settings, absl::string_view input_prompt_as_hint);
61+
6262namespace oi = ::odml::infra;
6363
6464class EngineAdvancedLegacyImpl : public Engine {
@@ -74,7 +74,8 @@ class EngineAdvancedLegacyImpl : public Engine {
7474
7575 private:
7676 friend absl::StatusOr<std::unique_ptr<Engine>>
77- litert::lm::CreateEngineAdvancedLegacy (EngineSettings engine_settings);
77+ CreateEngineAdvancedLegacy (EngineSettings engine_settings,
78+ absl::string_view input_prompt_as_hint);
7879
7980 explicit EngineAdvancedLegacyImpl (
8081 EngineSettings engine_settings,
@@ -177,18 +178,10 @@ const EngineSettings& EngineAdvancedLegacyImpl::GetEngineSettings() const {
177178 return engine_settings_;
178179}
179180
180- } // namespace
181-
182- // Method to create Engine.
183- absl::StatusOr<std::unique_ptr<Engine>> Engine::CreateEngine (
184- EngineSettings settings, absl::string_view input_prompt_as_hint) {
185- return CreateEngineAdvancedLegacy (std::move (settings));
186- }
187-
188- // Method to create Engine.
181+ // The factory for Advanced Legacy TfLite.
189182absl::StatusOr<std::unique_ptr<Engine>> CreateEngineAdvancedLegacy (
190- EngineSettings engine_settings) {
191- ABSL_LOG (INFO) << " Constructing legacy EngineImpl..." ;
183+ EngineSettings engine_settings, absl::string_view input_prompt_as_hint ) {
184+ ABSL_LOG (INFO) << " Constructing advanced legacy EngineImpl..." ;
192185 std::optional<BenchmarkInfo> benchmark_info;
193186 if (engine_settings.IsBenchmarkEnabled ()) {
194187 benchmark_info = std::make_optional<BenchmarkInfo>(
@@ -237,8 +230,8 @@ absl::StatusOr<std::unique_ptr<Engine>> CreateEngineAdvancedLegacy(
237230 }
238231 // Update and load the parameters from the model file and convert the tokens
239232 // to ids.
240- RETURN_IF_ERROR (
241- engine_settings. MaybeUpdateAndValidate ( *tokenizer, &llm_metadata));
233+ RETURN_IF_ERROR (engine_settings. MaybeUpdateAndValidate (
234+ *tokenizer, &llm_metadata, input_prompt_as_hint ));
242235
243236 ASSIGN_OR_RETURN (auto executor,
244237 BuildExecutor (*model_resources, engine_settings));
@@ -301,11 +294,15 @@ absl::StatusOr<std::unique_ptr<Engine>> CreateEngineAdvancedLegacy(
301294 return llm_impl;
302295};
303296
297+ } // namespace
298+
304299LITERT_LM_REGISTER_ENGINE (EngineFactory::EngineType::kAdvancedLegacyTfLite ,
305- [](EngineSettings settings,
306- absl::string_view input_prompt_as_hint) {
307- return Engine::CreateEngine (std::move (settings),
308- input_prompt_as_hint);
309- });
300+ CreateEngineAdvancedLegacy);
301+
302+ // Method to create Engine.
303+ absl::StatusOr<std::unique_ptr<Engine>> Engine::CreateEngine (
304+ EngineSettings settings, absl::string_view input_prompt_as_hint) {
305+ return CreateEngineAdvancedLegacy (std::move (settings), input_prompt_as_hint);
306+ }
310307
311308} // namespace litert::lm
0 commit comments