From 9b61acf06041dcbaff6afa5f28940e93297f8520 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Mon, 5 May 2025 16:02:55 +0200 Subject: [PATCH] mtmd : rename llava directory to mtmd (#13311) * mv llava to mtmd * change ref everywhere --- Makefile | 38 +++++++++--------- common/arg.cpp | 4 +- common/common.h | 2 +- docs/multimodal/MobileVLM.md | 12 +++--- docs/multimodal/glmedge.md | 4 +- docs/multimodal/llava.md | 12 +++--- docs/multimodal/minicpmo2.6.md | 4 +- docs/multimodal/minicpmv2.5.md | 4 +- docs/multimodal/minicpmv2.6.md | 4 +- requirements/requirements-all.txt | 2 +- tools/CMakeLists.txt | 2 +- tools/{llava => mtmd}/CMakeLists.txt | 0 tools/{llava => mtmd}/README-quantize.md | 0 tools/{llava => mtmd}/README.md | 0 tools/{llava => mtmd}/android/adb_run.sh | 0 tools/{llava => mtmd}/android/build_64.sh | 0 tools/{llava => mtmd}/clip-impl.h | 0 tools/{llava => mtmd}/clip-quantize-cli.cpp | 0 tools/{llava => mtmd}/clip.cpp | 0 tools/{llava => mtmd}/clip.h | 0 .../convert_image_encoder_to_gguf.py | 0 tools/{llava => mtmd}/deprecation-warning.cpp | 0 .../glmedge-convert-image-encoder-to-gguf.py | 0 tools/{llava => mtmd}/glmedge-surgery.py | 0 tools/{llava => mtmd}/llava.cpp | 0 tools/{llava => mtmd}/llava.h | 0 tools/{llava => mtmd}/llava_surgery.py | 0 tools/{llava => mtmd}/llava_surgery_v2.py | 0 .../minicpmv-convert-image-encoder-to-gguf.py | 0 tools/{llava => mtmd}/minicpmv-surgery.py | 0 tools/{llava => mtmd}/mtmd-cli.cpp | 0 tools/{llava => mtmd}/mtmd.cpp | 0 tools/{llava => mtmd}/mtmd.h | 0 tools/{llava => mtmd}/qwen2vl-test.cpp | 0 tools/{llava => mtmd}/requirements.txt | 0 tools/{llava => mtmd}/test-1.jpeg | Bin tools/{llava => mtmd}/tests.sh | 0 37 files changed, 44 insertions(+), 44 deletions(-) rename tools/{llava => mtmd}/CMakeLists.txt (100%) rename tools/{llava => mtmd}/README-quantize.md (100%) rename tools/{llava => mtmd}/README.md (100%) rename tools/{llava => mtmd}/android/adb_run.sh (100%) rename tools/{llava => mtmd}/android/build_64.sh (100%) rename tools/{llava => mtmd}/clip-impl.h (100%) rename tools/{llava => mtmd}/clip-quantize-cli.cpp (100%) rename tools/{llava => mtmd}/clip.cpp (100%) rename tools/{llava => mtmd}/clip.h (100%) rename tools/{llava => mtmd}/convert_image_encoder_to_gguf.py (100%) rename tools/{llava => mtmd}/deprecation-warning.cpp (100%) rename tools/{llava => mtmd}/glmedge-convert-image-encoder-to-gguf.py (100%) rename tools/{llava => mtmd}/glmedge-surgery.py (100%) rename tools/{llava => mtmd}/llava.cpp (100%) rename tools/{llava => mtmd}/llava.h (100%) rename tools/{llava => mtmd}/llava_surgery.py (100%) rename tools/{llava => mtmd}/llava_surgery_v2.py (100%) rename tools/{llava => mtmd}/minicpmv-convert-image-encoder-to-gguf.py (100%) rename tools/{llava => mtmd}/minicpmv-surgery.py (100%) rename tools/{llava => mtmd}/mtmd-cli.cpp (100%) rename tools/{llava => mtmd}/mtmd.cpp (100%) rename tools/{llava => mtmd}/mtmd.h (100%) rename tools/{llava => mtmd}/qwen2vl-test.cpp (100%) rename tools/{llava => mtmd}/requirements.txt (100%) rename tools/{llava => mtmd}/test-1.jpeg (100%) rename tools/{llava => mtmd}/tests.sh (100%) diff --git a/Makefile b/Makefile index 305037089..68b6fe59a 100644 --- a/Makefile +++ b/Makefile @@ -1394,36 +1394,36 @@ llama-gen-docs: examples/gen-docs/gen-docs.cpp \ $(CXX) $(CXXFLAGS) -c $< -o $(call GET_OBJ_FILE, $<) $(CXX) $(CXXFLAGS) $(filter-out %.h $<,$^) $(call GET_OBJ_FILE, $<) -o $@ $(LDFLAGS) -libllava.a: tools/llava/llava.cpp \ - tools/llava/llava.h \ - tools/llava/clip.cpp \ - tools/llava/clip.h \ +libllava.a: tools/mtmd/llava.cpp \ + tools/mtmd/llava.h \ + tools/mtmd/clip.cpp \ + tools/mtmd/clip.h \ common/stb_image.h \ common/base64.hpp \ $(OBJ_ALL) $(CXX) $(CXXFLAGS) -static -fPIC -c $< -o $@ -Wno-cast-qual -llama-llava-cli: tools/llava/llava-cli.cpp \ - tools/llava/llava.cpp \ - tools/llava/llava.h \ - tools/llava/clip.cpp \ - tools/llava/clip.h \ +llama-llava-cli: tools/mtmd/llava-cli.cpp \ + tools/mtmd/llava.cpp \ + tools/mtmd/llava.h \ + tools/mtmd/clip.cpp \ + tools/mtmd/clip.h \ $(OBJ_ALL) $(CXX) $(CXXFLAGS) $< $(filter-out %.h $<,$^) -o $@ $(LDFLAGS) -Wno-cast-qual -llama-minicpmv-cli: tools/llava/minicpmv-cli.cpp \ - tools/llava/llava.cpp \ - tools/llava/llava.h \ - tools/llava/clip.cpp \ - tools/llava/clip.h \ +llama-minicpmv-cli: tools/mtmd/minicpmv-cli.cpp \ + tools/mtmd/llava.cpp \ + tools/mtmd/llava.h \ + tools/mtmd/clip.cpp \ + tools/mtmd/clip.h \ $(OBJ_ALL) $(CXX) $(CXXFLAGS) $< $(filter-out %.h $<,$^) -o $@ $(LDFLAGS) -Wno-cast-qual -llama-qwen2vl-cli: tools/llava/qwen2vl-cli.cpp \ - tools/llava/llava.cpp \ - tools/llava/llava.h \ - tools/llava/clip.cpp \ - tools/llava/clip.h \ +llama-qwen2vl-cli: tools/mtmd/qwen2vl-cli.cpp \ + tools/mtmd/llava.cpp \ + tools/mtmd/llava.h \ + tools/mtmd/clip.cpp \ + tools/mtmd/clip.h \ $(OBJ_ALL) $(CXX) $(CXXFLAGS) $< $(filter-out %.h $<,$^) -o $@ $(LDFLAGS) -Wno-cast-qual diff --git a/common/arg.cpp b/common/arg.cpp index 5080aa2fc..490991b23 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2211,14 +2211,14 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_examples({LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_NO_CONT_BATCHING")); add_opt(common_arg( {"--mmproj"}, "FILE", - "path to a multimodal projector file. see tools/llava/README.md", + "path to a multimodal projector file. see tools/mtmd/README.md", [](common_params & params, const std::string & value) { params.mmproj.path = value; } ).set_examples(mmproj_examples)); add_opt(common_arg( {"--mmproj-url"}, "URL", - "URL to a multimodal projector file. see tools/llava/README.md", + "URL to a multimodal projector file. see tools/mtmd/README.md", [](common_params & params, const std::string & value) { params.mmproj.url = value; } diff --git a/common/common.h b/common/common.h index cfe1b7278..416939da9 100644 --- a/common/common.h +++ b/common/common.h @@ -340,7 +340,7 @@ struct common_params { common_conversation_mode conversation_mode = COMMON_CONVERSATION_MODE_AUTO; - // multimodal models (see tools/llava) + // multimodal models (see tools/mtmd) struct common_params_model mmproj; bool mmproj_use_gpu = true; // use GPU for multimodal model bool no_mmproj = false; // explicitly disable multimodal model diff --git a/docs/multimodal/MobileVLM.md b/docs/multimodal/MobileVLM.md index a647d7d35..4f5eca619 100644 --- a/docs/multimodal/MobileVLM.md +++ b/docs/multimodal/MobileVLM.md @@ -33,13 +33,13 @@ git clone https://huggingface.co/openai/clip-vit-large-patch14-336 2. Use `llava_surgery.py` to split the LLaVA model to LLaMA and multimodel projector constituents: ```sh -python ./tools/llava/llava_surgery.py -m path/to/MobileVLM-1.7B +python ./tools/mtmd/llava_surgery.py -m path/to/MobileVLM-1.7B ``` 3. Use `convert_image_encoder_to_gguf.py` with `--projector-type ldp` (for **V2** please use `--projector-type ldpv2`) to convert the LLaVA image encoder to GGUF: ```sh -python ./tools/llava/convert_image_encoder_to_gguf.py \ +python ./tools/mtmd/convert_image_encoder_to_gguf.py \ -m path/to/clip-vit-large-patch14-336 \ --llava-projector path/to/MobileVLM-1.7B/llava.projector \ --output-dir path/to/MobileVLM-1.7B \ @@ -47,7 +47,7 @@ python ./tools/llava/convert_image_encoder_to_gguf.py \ ``` ```sh -python ./tools/llava/convert_image_encoder_to_gguf.py \ +python ./tools/mtmd/convert_image_encoder_to_gguf.py \ -m path/to/clip-vit-large-patch14-336 \ --llava-projector path/to/MobileVLM-1.7B_V2/llava.projector \ --output-dir path/to/MobileVLM-1.7B_V2 \ @@ -69,10 +69,10 @@ Now both the LLaMA part and the image encoder is in the `MobileVLM-1.7B` directo ## Android compile and run ### compile -refer to `tools/llava/android/build_64.sh` +refer to `tools/mtmd/android/build_64.sh` ```sh -mkdir tools/llava/android/build_64 -cd tools/llava/android/build_64 +mkdir tools/mtmd/android/build_64 +cd tools/mtmd/android/build_64 ../build_64.sh ``` ### run on Android diff --git a/docs/multimodal/glmedge.md b/docs/multimodal/glmedge.md index e7dfafdde..7bae83150 100644 --- a/docs/multimodal/glmedge.md +++ b/docs/multimodal/glmedge.md @@ -25,13 +25,13 @@ git clone https://huggingface.co/THUDM/glm-edge-v-5b or https://huggingface.co/T 2. Use `glmedge-surgery.py` to split the GLMV-EDGE model to LLM and multimodel projector constituents: ```sh -python ./tools/llava/glmedge-surgery.py -m ../model_path +python ./tools/mtmd/glmedge-surgery.py -m ../model_path ``` 4. Use `glmedge-convert-image-encoder-to-gguf.py` to convert the GLMV-EDGE image encoder to GGUF: ```sh -python ./tools/llava/glmedge-convert-image-encoder-to-gguf.py -m ../model_path --llava-projector ../model_path/glm.projector --output-dir ../model_path +python ./tools/mtmd/glmedge-convert-image-encoder-to-gguf.py -m ../model_path --llava-projector ../model_path/glm.projector --output-dir ../model_path ``` 5. Use `examples/convert_hf_to_gguf.py` to convert the LLM part of GLMV-EDGE to GGUF: diff --git a/docs/multimodal/llava.md b/docs/multimodal/llava.md index 0087b1061..12354ab60 100644 --- a/docs/multimodal/llava.md +++ b/docs/multimodal/llava.md @@ -37,19 +37,19 @@ git clone https://huggingface.co/openai/clip-vit-large-patch14-336 2. Install the required Python packages: ```sh -pip install -r tools/llava/requirements.txt +pip install -r tools/mtmd/requirements.txt ``` 3. Use `llava_surgery.py` to split the LLaVA model to LLaMA and multimodel projector constituents: ```sh -python ./tools/llava/llava_surgery.py -m ../llava-v1.5-7b +python ./tools/mtmd/llava_surgery.py -m ../llava-v1.5-7b ``` 4. Use `convert_image_encoder_to_gguf.py` to convert the LLaVA image encoder to GGUF: ```sh -python ./tools/llava/convert_image_encoder_to_gguf.py -m ../clip-vit-large-patch14-336 --llava-projector ../llava-v1.5-7b/llava.projector --output-dir ../llava-v1.5-7b +python ./tools/mtmd/convert_image_encoder_to_gguf.py -m ../clip-vit-large-patch14-336 --llava-projector ../llava-v1.5-7b/llava.projector --output-dir ../llava-v1.5-7b ``` 5. Use `examples/convert_legacy_llama.py` to convert the LLaMA part of LLaVA to GGUF: @@ -69,12 +69,12 @@ git clone https://huggingface.co/liuhaotian/llava-v1.6-vicuna-7b 2) Install the required Python packages: ```sh -pip install -r tools/llava/requirements.txt +pip install -r tools/mtmd/requirements.txt ``` 3) Use `llava_surgery_v2.py` which also supports llava-1.5 variants pytorch as well as safetensor models: ```console -python tools/llava/llava_surgery_v2.py -C -m ../llava-v1.6-vicuna-7b/ +python tools/mtmd/llava_surgery_v2.py -C -m ../llava-v1.6-vicuna-7b/ ``` - you will find a llava.projector and a llava.clip file in your model directory @@ -88,7 +88,7 @@ curl -s -q https://huggingface.co/cmp-nct/llava-1.6-gguf/raw/main/config_vit.jso 5) Create the visual gguf model: ```console -python ./tools/llava/convert_image_encoder_to_gguf.py -m vit --llava-projector vit/llava.projector --output-dir vit --clip-model-is-vision +python ./tools/mtmd/convert_image_encoder_to_gguf.py -m vit --llava-projector vit/llava.projector --output-dir vit --clip-model-is-vision ``` - This is similar to llava-1.5, the difference is that we tell the encoder that we are working with the pure vision model part of CLIP diff --git a/docs/multimodal/minicpmo2.6.md b/docs/multimodal/minicpmo2.6.md index c9aab8abc..8c6db8efe 100644 --- a/docs/multimodal/minicpmo2.6.md +++ b/docs/multimodal/minicpmo2.6.md @@ -29,8 +29,8 @@ cmake --build build --config Release Convert PyTorch model to gguf files (You can also download the converted [gguf](https://huggingface.co/openbmb/MiniCPM-o-2_6-gguf) by us) ```bash -python ./tools/llava/minicpmv-surgery.py -m ../MiniCPM-o-2_6 -python ./tools/llava/minicpmv-convert-image-encoder-to-gguf.py -m ../MiniCPM-o-2_6 --minicpmv-projector ../MiniCPM-o-2_6/minicpmv.projector --output-dir ../MiniCPM-o-2_6/ --image-mean 0.5 0.5 0.5 --image-std 0.5 0.5 0.5 --minicpmv_version 4 +python ./tools/mtmd/minicpmv-surgery.py -m ../MiniCPM-o-2_6 +python ./tools/mtmd/minicpmv-convert-image-encoder-to-gguf.py -m ../MiniCPM-o-2_6 --minicpmv-projector ../MiniCPM-o-2_6/minicpmv.projector --output-dir ../MiniCPM-o-2_6/ --image-mean 0.5 0.5 0.5 --image-std 0.5 0.5 0.5 --minicpmv_version 4 python ./convert_hf_to_gguf.py ../MiniCPM-o-2_6/model # quantize int4 version diff --git a/docs/multimodal/minicpmv2.5.md b/docs/multimodal/minicpmv2.5.md index 4603bd7c1..19b439607 100644 --- a/docs/multimodal/minicpmv2.5.md +++ b/docs/multimodal/minicpmv2.5.md @@ -28,8 +28,8 @@ cmake --build build --config Release Convert PyTorch model to gguf files (You can also download the converted [gguf](https://huggingface.co/openbmb/MiniCPM-Llama3-V-2_5-gguf) by us) ```bash -python ./tools/llava/minicpmv-surgery.py -m ../MiniCPM-Llama3-V-2_5 -python ./tools/llava/minicpmv-convert-image-encoder-to-gguf.py -m ../MiniCPM-Llama3-V-2_5 --minicpmv-projector ../MiniCPM-Llama3-V-2_5/minicpmv.projector --output-dir ../MiniCPM-Llama3-V-2_5/ --image-mean 0.5 0.5 0.5 --image-std 0.5 0.5 0.5 --minicpmv_version 2 +python ./tools/mtmd/minicpmv-surgery.py -m ../MiniCPM-Llama3-V-2_5 +python ./tools/mtmd/minicpmv-convert-image-encoder-to-gguf.py -m ../MiniCPM-Llama3-V-2_5 --minicpmv-projector ../MiniCPM-Llama3-V-2_5/minicpmv.projector --output-dir ../MiniCPM-Llama3-V-2_5/ --image-mean 0.5 0.5 0.5 --image-std 0.5 0.5 0.5 --minicpmv_version 2 python ./convert_hf_to_gguf.py ../MiniCPM-Llama3-V-2_5/model # quantize int4 version diff --git a/docs/multimodal/minicpmv2.6.md b/docs/multimodal/minicpmv2.6.md index 69ebc1296..15c1bbd12 100644 --- a/docs/multimodal/minicpmv2.6.md +++ b/docs/multimodal/minicpmv2.6.md @@ -28,8 +28,8 @@ cmake --build build --config Release Convert PyTorch model to gguf files (You can also download the converted [gguf](https://huggingface.co/openbmb/MiniCPM-V-2_6-gguf) by us) ```bash -python ./tools/llava/minicpmv-surgery.py -m ../MiniCPM-V-2_6 -python ./tools/llava/minicpmv-convert-image-encoder-to-gguf.py -m ../MiniCPM-V-2_6 --minicpmv-projector ../MiniCPM-V-2_6/minicpmv.projector --output-dir ../MiniCPM-V-2_6/ --image-mean 0.5 0.5 0.5 --image-std 0.5 0.5 0.5 --minicpmv_version 3 +python ./tools/mtmd/minicpmv-surgery.py -m ../MiniCPM-V-2_6 +python ./tools/mtmd/minicpmv-convert-image-encoder-to-gguf.py -m ../MiniCPM-V-2_6 --minicpmv-projector ../MiniCPM-V-2_6/minicpmv.projector --output-dir ../MiniCPM-V-2_6/ --image-mean 0.5 0.5 0.5 --image-std 0.5 0.5 0.5 --minicpmv_version 3 python ./convert_hf_to_gguf.py ../MiniCPM-V-2_6/model # quantize int4 version diff --git a/requirements/requirements-all.txt b/requirements/requirements-all.txt index 4b6d4b7d7..9fa7d4d0a 100644 --- a/requirements/requirements-all.txt +++ b/requirements/requirements-all.txt @@ -1,4 +1,4 @@ --r ../tools/llava/requirements.txt +-r ../tools/mtmd/requirements.txt -r ../tools/server/bench/requirements.txt -r ../tools/server/tests/requirements.txt diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 06a96af55..d64956b84 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -27,7 +27,7 @@ else() add_subdirectory(run) add_subdirectory(tokenize) add_subdirectory(tts) - add_subdirectory(llava) + add_subdirectory(mtmd) if (GGML_RPC) add_subdirectory(rpc) endif() diff --git a/tools/llava/CMakeLists.txt b/tools/mtmd/CMakeLists.txt similarity index 100% rename from tools/llava/CMakeLists.txt rename to tools/mtmd/CMakeLists.txt diff --git a/tools/llava/README-quantize.md b/tools/mtmd/README-quantize.md similarity index 100% rename from tools/llava/README-quantize.md rename to tools/mtmd/README-quantize.md diff --git a/tools/llava/README.md b/tools/mtmd/README.md similarity index 100% rename from tools/llava/README.md rename to tools/mtmd/README.md diff --git a/tools/llava/android/adb_run.sh b/tools/mtmd/android/adb_run.sh similarity index 100% rename from tools/llava/android/adb_run.sh rename to tools/mtmd/android/adb_run.sh diff --git a/tools/llava/android/build_64.sh b/tools/mtmd/android/build_64.sh similarity index 100% rename from tools/llava/android/build_64.sh rename to tools/mtmd/android/build_64.sh diff --git a/tools/llava/clip-impl.h b/tools/mtmd/clip-impl.h similarity index 100% rename from tools/llava/clip-impl.h rename to tools/mtmd/clip-impl.h diff --git a/tools/llava/clip-quantize-cli.cpp b/tools/mtmd/clip-quantize-cli.cpp similarity index 100% rename from tools/llava/clip-quantize-cli.cpp rename to tools/mtmd/clip-quantize-cli.cpp diff --git a/tools/llava/clip.cpp b/tools/mtmd/clip.cpp similarity index 100% rename from tools/llava/clip.cpp rename to tools/mtmd/clip.cpp diff --git a/tools/llava/clip.h b/tools/mtmd/clip.h similarity index 100% rename from tools/llava/clip.h rename to tools/mtmd/clip.h diff --git a/tools/llava/convert_image_encoder_to_gguf.py b/tools/mtmd/convert_image_encoder_to_gguf.py similarity index 100% rename from tools/llava/convert_image_encoder_to_gguf.py rename to tools/mtmd/convert_image_encoder_to_gguf.py diff --git a/tools/llava/deprecation-warning.cpp b/tools/mtmd/deprecation-warning.cpp similarity index 100% rename from tools/llava/deprecation-warning.cpp rename to tools/mtmd/deprecation-warning.cpp diff --git a/tools/llava/glmedge-convert-image-encoder-to-gguf.py b/tools/mtmd/glmedge-convert-image-encoder-to-gguf.py similarity index 100% rename from tools/llava/glmedge-convert-image-encoder-to-gguf.py rename to tools/mtmd/glmedge-convert-image-encoder-to-gguf.py diff --git a/tools/llava/glmedge-surgery.py b/tools/mtmd/glmedge-surgery.py similarity index 100% rename from tools/llava/glmedge-surgery.py rename to tools/mtmd/glmedge-surgery.py diff --git a/tools/llava/llava.cpp b/tools/mtmd/llava.cpp similarity index 100% rename from tools/llava/llava.cpp rename to tools/mtmd/llava.cpp diff --git a/tools/llava/llava.h b/tools/mtmd/llava.h similarity index 100% rename from tools/llava/llava.h rename to tools/mtmd/llava.h diff --git a/tools/llava/llava_surgery.py b/tools/mtmd/llava_surgery.py similarity index 100% rename from tools/llava/llava_surgery.py rename to tools/mtmd/llava_surgery.py diff --git a/tools/llava/llava_surgery_v2.py b/tools/mtmd/llava_surgery_v2.py similarity index 100% rename from tools/llava/llava_surgery_v2.py rename to tools/mtmd/llava_surgery_v2.py diff --git a/tools/llava/minicpmv-convert-image-encoder-to-gguf.py b/tools/mtmd/minicpmv-convert-image-encoder-to-gguf.py similarity index 100% rename from tools/llava/minicpmv-convert-image-encoder-to-gguf.py rename to tools/mtmd/minicpmv-convert-image-encoder-to-gguf.py diff --git a/tools/llava/minicpmv-surgery.py b/tools/mtmd/minicpmv-surgery.py similarity index 100% rename from tools/llava/minicpmv-surgery.py rename to tools/mtmd/minicpmv-surgery.py diff --git a/tools/llava/mtmd-cli.cpp b/tools/mtmd/mtmd-cli.cpp similarity index 100% rename from tools/llava/mtmd-cli.cpp rename to tools/mtmd/mtmd-cli.cpp diff --git a/tools/llava/mtmd.cpp b/tools/mtmd/mtmd.cpp similarity index 100% rename from tools/llava/mtmd.cpp rename to tools/mtmd/mtmd.cpp diff --git a/tools/llava/mtmd.h b/tools/mtmd/mtmd.h similarity index 100% rename from tools/llava/mtmd.h rename to tools/mtmd/mtmd.h diff --git a/tools/llava/qwen2vl-test.cpp b/tools/mtmd/qwen2vl-test.cpp similarity index 100% rename from tools/llava/qwen2vl-test.cpp rename to tools/mtmd/qwen2vl-test.cpp diff --git a/tools/llava/requirements.txt b/tools/mtmd/requirements.txt similarity index 100% rename from tools/llava/requirements.txt rename to tools/mtmd/requirements.txt diff --git a/tools/llava/test-1.jpeg b/tools/mtmd/test-1.jpeg similarity index 100% rename from tools/llava/test-1.jpeg rename to tools/mtmd/test-1.jpeg diff --git a/tools/llava/tests.sh b/tools/mtmd/tests.sh similarity index 100% rename from tools/llava/tests.sh rename to tools/mtmd/tests.sh