Spaces:
Running
Running
| # Copyright 2026 Google LLC. | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| set(PKG_ROOT ${CMAKE_CURRENT_SOURCE_DIR}) | |
| add_subdirectory(constrained_decoding) | |
| add_subdirectory(embedding_lookup) | |
| add_subdirectory(preprocessor) | |
| add_subdirectory(tool_use) | |
| # ============================================================================== | |
| # 1. Tokenizer Interface | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_tokenizer INTERFACE) | |
| add_library(LiteRTLM::Runtime::Components::Tokenizer::Interface ALIAS runtime_components_tokenizer) | |
| target_include_directories(runtime_components_tokenizer | |
| INTERFACE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_tokenizer | |
| INTERFACE | |
| runtime_util_convert_tensor_buffer | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 2. HuggingFace Tokenizer | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_huggingface_tokenizer STATIC | |
| huggingface_tokenizer.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::Tokenizer::HuggingFace ALIAS runtime_components_huggingface_tokenizer) | |
| target_compile_definitions(runtime_components_huggingface_tokenizer | |
| PUBLIC ENABLE_HUGGINGFACE_TOKENIZER | |
| ) | |
| target_include_directories(runtime_components_huggingface_tokenizer | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERT_INCLUDE_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_huggingface_tokenizer | |
| PUBLIC | |
| LiteRTLM::Runtime::Components::Tokenizer::Interface | |
| runtime_util_litert_status_util | |
| runtime_util_memory_mapped_file | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 3. SentencePiece Tokenizer | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_sentencepiece_tokenizer STATIC | |
| sentencepiece_tokenizer.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::Tokenizer::SentencePiece ALIAS runtime_components_sentencepiece_tokenizer) | |
| target_compile_definitions(runtime_components_sentencepiece_tokenizer | |
| PUBLIC ENABLE_SENTENCEPIECE_TOKENIZER | |
| ) | |
| target_include_directories(runtime_components_sentencepiece_tokenizer | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_sentencepiece_tokenizer | |
| PUBLIC | |
| LiteRTLM::Runtime::Components::Tokenizer::Interface | |
| PRIVATE | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 4. Prompt Template | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_prompt_template STATIC | |
| prompt_template.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::PromptTemplate ALIAS runtime_components_prompt_template) | |
| target_include_directories(runtime_components_prompt_template | |
| PRIVATE | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ${THIRD_PARTY_DIR}/json/include | |
| ) | |
| target_link_libraries(runtime_components_prompt_template | |
| PUBLIC | |
| runtime_util_litert_status_util | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 5. LoRA | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_lora STATIC | |
| lora.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::LoRA ALIAS runtime_components_lora) | |
| target_include_directories(runtime_components_lora | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ${THIRD_PARTY_DIR}/litert/src/litert_external-build/include | |
| ) | |
| target_link_libraries(runtime_components_lora | |
| PUBLIC | |
| runtime_util_litert_status_util | |
| runtime_util_lora_data | |
| runtime_util_lora_util | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 6. LoRA Manager | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_lora_manager STATIC | |
| lora_manager.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::LoRAManager ALIAS runtime_components_lora_manager) | |
| target_include_directories(runtime_components_lora_manager | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_lora_manager | |
| PUBLIC | |
| LiteRTLM::Runtime::Components::LoRA | |
| runtime_util_litert_status_util | |
| runtime_util_lora_data | |
| runtime_executor_executor_settings_base | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 7. Model Resources Interface | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_model_resources INTERFACE) | |
| add_library(LiteRTLM::Runtime::Components::ModelResources::Interface ALIAS runtime_components_model_resources) | |
| target_include_directories(runtime_components_model_resources | |
| INTERFACE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_model_resources | |
| INTERFACE | |
| LiteRTLM::Runtime::Components::Tokenizer::Interface | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 8. Model Resources LiteRT LM | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_model_resources_litert_lm STATIC | |
| model_resources_litert_lm.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::ModelResources::LiteRTLM ALIAS runtime_components_model_resources_litert_lm) | |
| target_include_directories(runtime_components_model_resources_litert_lm | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_model_resources_litert_lm | |
| PUBLIC | |
| LiteRTLM::Runtime::Components::ModelResources::Interface | |
| runtime_util_litert_lm_loader | |
| runtime_util_litert_status_util | |
| LiteRTLM::Runtime::Components::Tokenizer::HuggingFace | |
| LiteRTLM::Runtime::Components::Tokenizer::SentencePiece | |
| LiteRTLM::Runtime::Components::Tokenizer::Interface | |
| LiteRTLM::Schema::Core | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 9. Model Resources Task | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_model_resources_task STATIC | |
| model_resources_task.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::ModelResources::Task ALIAS runtime_components_model_resources_task) | |
| target_include_directories(runtime_components_model_resources_task | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_model_resources_task | |
| PUBLIC | |
| LiteRTLM::Runtime::Components::ModelResources::Interface | |
| runtime_util_model_asset_bundle_resources | |
| runtime_util_litert_status_util | |
| runtime_util_metadata_util | |
| LiteRTLM::Runtime::Components::Tokenizer::SentencePiece | |
| LiteRTLM::Runtime::Components::Tokenizer::Interface | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 10. Sampler Interface | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_sampler INTERFACE) | |
| add_library(LiteRTLM::Runtime::Components::Sampler::Interface ALIAS runtime_components_sampler) | |
| target_include_directories(runtime_components_sampler | |
| INTERFACE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_sampler | |
| INTERFACE | |
| LITERTLM_DEPS # absl::status | |
| ) | |
| # ============================================================================== | |
| # 11. Sampler Factory | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_sampler_factory STATIC | |
| sampler_factory.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::Sampler::Factory ALIAS runtime_components_sampler_factory) | |
| target_include_directories(runtime_components_sampler_factory | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_sampler_factory | |
| PUBLIC | |
| runtime_executor_executor_settings_base | |
| runtime_executor_llm_executor_settings | |
| runtime_util_litert_status_util | |
| LiteRTLM::Runtime::Components::Sampler::Interface | |
| LiteRTLM::Runtime::Components::Sampler::TopP | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 12. Sampling CPU Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_sampling_cpu_util STATIC | |
| sampling_cpu_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::SamplingCpuUtil ALIAS runtime_components_sampling_cpu_util) | |
| target_include_directories(runtime_components_sampling_cpu_util | |
| PRIVATE | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ) | |
| target_link_libraries(runtime_components_sampling_cpu_util | |
| PUBLIC | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 13. Scoring CPU Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_scoring_cpu_util STATIC | |
| scoring_cpu_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::ScoringCpuUtil ALIAS runtime_components_scoring_cpu_util) | |
| target_include_directories(runtime_components_scoring_cpu_util | |
| PUBLIC | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ) | |
| target_link_libraries(runtime_components_scoring_cpu_util | |
| PUBLIC | |
| LiteRTLM::Runtime::Components::SamplingCpuUtil | |
| runtime_util_litert_status_util | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 14. Stop Token Detector | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_stop_token_detector STATIC | |
| stop_token_detector.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::StopTokenDetector ALIAS runtime_components_stop_token_detector) | |
| target_include_directories(runtime_components_stop_token_detector | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_stop_token_detector | |
| PUBLIC | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 15. Token ID Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_token_id_util STATIC | |
| token_id_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::TokenIdUtil ALIAS runtime_components_token_id_util) | |
| target_include_directories(runtime_components_token_id_util | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_token_id_util | |
| PUBLIC | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 16. Top P CPU Sampler | |
| # ============================================================================== | |
| add_litertlm_library(runtime_components_top_p_cpu_sampler STATIC | |
| top_p_cpu_sampler.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Components::Sampler::TopP ALIAS runtime_components_top_p_cpu_sampler) | |
| target_include_directories(runtime_components_top_p_cpu_sampler | |
| PUBLIC | |
| ${PKG_ROOT} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_components_top_p_cpu_sampler | |
| PUBLIC | |
| LiteRTLM::Runtime::Components::Sampler::Interface | |
| LiteRTLM::Runtime::Components::SamplingCpuUtil | |
| runtime_util_convert_tensor_buffer | |
| runtime_util_tensor_buffer_util | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 17. Folder Facade | |
| # ============================================================================== | |
| add_library(runtime_components_libs INTERFACE) | |
| add_library(LiteRTLM::Runtime::Components ALIAS runtime_components_libs) | |
| target_link_libraries(runtime_components_libs INTERFACE | |
| LiteRTLM::Runtime::Components::ConstrainedDecoding | |
| LiteRTLM::Runtime::Components::EmbeddingLookup | |
| LiteRTLM::Runtime::Components::Preprocessor | |
| LiteRTLM::Runtime::Components::ToolUse | |
| LiteRTLM::Runtime::Components::Tokenizer::HuggingFace | |
| LiteRTLM::Runtime::Components::LoRA | |
| LiteRTLM::Runtime::Components::LoRAManager | |
| LiteRTLM::Runtime::Components::ModelResources::Interface | |
| LiteRTLM::Runtime::Components::ModelResources::LiteRTLM | |
| LiteRTLM::Runtime::Components::ModelResources::Task | |
| LiteRTLM::Runtime::Components::PromptTemplate | |
| LiteRTLM::Runtime::Components::Sampler::Interface | |
| LiteRTLM::Runtime::Components::Sampler::Factory | |
| LiteRTLM::Runtime::Components::SamplingCpuUtil | |
| LiteRTLM::Runtime::Components::ScoringCpuUtil | |
| LiteRTLM::Runtime::Components::Tokenizer::SentencePiece | |
| LiteRTLM::Runtime::Components::StopTokenDetector | |
| LiteRTLM::Runtime::Components::TokenIdUtil | |
| LiteRTLM::Runtime::Components::Tokenizer::Interface | |
| LiteRTLM::Runtime::Components::Sampler::TopP | |
| ) |