1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime") 2*523fa7a6SAndroid Build Coastguard Worker 3*523fa7a6SAndroid Build Coastguard Workerdef define_common_targets(): 4*523fa7a6SAndroid Build Coastguard Worker """Defines targets that should be shared between fbcode and xplat. 5*523fa7a6SAndroid Build Coastguard Worker 6*523fa7a6SAndroid Build Coastguard Worker The directory containing this targets.bzl file should also contain both 7*523fa7a6SAndroid Build Coastguard Worker TARGETS and BUCK files that call this function. 8*523fa7a6SAndroid Build Coastguard Worker """ 9*523fa7a6SAndroid Build Coastguard Worker runtime.python_library( 10*523fa7a6SAndroid Build Coastguard Worker name = "tokenizer_py_lib", 11*523fa7a6SAndroid Build Coastguard Worker srcs = [ 12*523fa7a6SAndroid Build Coastguard Worker "__init__.py", 13*523fa7a6SAndroid Build Coastguard Worker "tokenizer.py", 14*523fa7a6SAndroid Build Coastguard Worker "utils.py", 15*523fa7a6SAndroid Build Coastguard Worker ], 16*523fa7a6SAndroid Build Coastguard Worker base_module = "executorch.extension.llm.tokenizer", 17*523fa7a6SAndroid Build Coastguard Worker visibility = [ 18*523fa7a6SAndroid Build Coastguard Worker "//executorch/examples/...", 19*523fa7a6SAndroid Build Coastguard Worker "//executorch/extension/llm/tokenizer/...", 20*523fa7a6SAndroid Build Coastguard Worker "//executorch/extension/llm/export/...", 21*523fa7a6SAndroid Build Coastguard Worker "//bento/...", 22*523fa7a6SAndroid Build Coastguard Worker "//bento_kernels/...", 23*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 24*523fa7a6SAndroid Build Coastguard Worker ], 25*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 26*523fa7a6SAndroid Build Coastguard Worker deps = [ 27*523fa7a6SAndroid Build Coastguard Worker "//executorch/examples/models/llama/tokenizer:tiktoken_py", 28*523fa7a6SAndroid Build Coastguard Worker ], 29*523fa7a6SAndroid Build Coastguard Worker external_deps = [ 30*523fa7a6SAndroid Build Coastguard Worker "sentencepiece-py", 31*523fa7a6SAndroid Build Coastguard Worker ], 32*523fa7a6SAndroid Build Coastguard Worker ) 33*523fa7a6SAndroid Build Coastguard Worker 34*523fa7a6SAndroid Build Coastguard Worker runtime.python_binary( 35*523fa7a6SAndroid Build Coastguard Worker name = "tokenizer_py", 36*523fa7a6SAndroid Build Coastguard Worker main_module = "executorch.extension.llm.tokenizer.tokenizer", 37*523fa7a6SAndroid Build Coastguard Worker visibility = [ 38*523fa7a6SAndroid Build Coastguard Worker "//executorch/examples/...", 39*523fa7a6SAndroid Build Coastguard Worker "fbsource//xplat/executorch/examples/...", 40*523fa7a6SAndroid Build Coastguard Worker ], 41*523fa7a6SAndroid Build Coastguard Worker _is_external_target = True, 42*523fa7a6SAndroid Build Coastguard Worker deps = [ 43*523fa7a6SAndroid Build Coastguard Worker ":tokenizer_py_lib", 44*523fa7a6SAndroid Build Coastguard Worker ], 45*523fa7a6SAndroid Build Coastguard Worker ) 46*523fa7a6SAndroid Build Coastguard Worker 47*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 48*523fa7a6SAndroid Build Coastguard Worker name = "tokenizer_header", 49*523fa7a6SAndroid Build Coastguard Worker exported_headers = [ 50*523fa7a6SAndroid Build Coastguard Worker "tokenizer.h", 51*523fa7a6SAndroid Build Coastguard Worker ], 52*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 53*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/core:core", 54*523fa7a6SAndroid Build Coastguard Worker ], 55*523fa7a6SAndroid Build Coastguard Worker visibility = [ 56*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 57*523fa7a6SAndroid Build Coastguard Worker ], 58*523fa7a6SAndroid Build Coastguard Worker ) 59*523fa7a6SAndroid Build Coastguard Worker 60*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 61*523fa7a6SAndroid Build Coastguard Worker name = "bpe_tokenizer", 62*523fa7a6SAndroid Build Coastguard Worker srcs = [ 63*523fa7a6SAndroid Build Coastguard Worker "bpe_tokenizer.cpp", 64*523fa7a6SAndroid Build Coastguard Worker ], 65*523fa7a6SAndroid Build Coastguard Worker exported_headers = [ 66*523fa7a6SAndroid Build Coastguard Worker "bpe_tokenizer.h", 67*523fa7a6SAndroid Build Coastguard Worker ], 68*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 69*523fa7a6SAndroid Build Coastguard Worker ":tokenizer_header", 70*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/core:core", 71*523fa7a6SAndroid Build Coastguard Worker ], 72*523fa7a6SAndroid Build Coastguard Worker visibility = [ 73*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 74*523fa7a6SAndroid Build Coastguard Worker ], 75*523fa7a6SAndroid Build Coastguard Worker ) 76*523fa7a6SAndroid Build Coastguard Worker 77*523fa7a6SAndroid Build Coastguard Worker runtime.cxx_library( 78*523fa7a6SAndroid Build Coastguard Worker name = "tiktoken", 79*523fa7a6SAndroid Build Coastguard Worker srcs = [ 80*523fa7a6SAndroid Build Coastguard Worker "tiktoken.cpp", 81*523fa7a6SAndroid Build Coastguard Worker ], 82*523fa7a6SAndroid Build Coastguard Worker exported_headers = [ 83*523fa7a6SAndroid Build Coastguard Worker "tiktoken.h", 84*523fa7a6SAndroid Build Coastguard Worker "base64.h", 85*523fa7a6SAndroid Build Coastguard Worker ], 86*523fa7a6SAndroid Build Coastguard Worker exported_deps = [ 87*523fa7a6SAndroid Build Coastguard Worker ":tokenizer_header", 88*523fa7a6SAndroid Build Coastguard Worker "//executorch/runtime/core:core", 89*523fa7a6SAndroid Build Coastguard Worker ], 90*523fa7a6SAndroid Build Coastguard Worker visibility = [ 91*523fa7a6SAndroid Build Coastguard Worker "@EXECUTORCH_CLIENTS", 92*523fa7a6SAndroid Build Coastguard Worker ], 93*523fa7a6SAndroid Build Coastguard Worker exported_external_deps = [ 94*523fa7a6SAndroid Build Coastguard Worker "re2", 95*523fa7a6SAndroid Build Coastguard Worker ], 96*523fa7a6SAndroid Build Coastguard Worker ) 97