]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commit
server : vision support via libmtmd (#12898)
authorXuan-Son Nguyen <redacted>
Fri, 9 May 2025 17:29:37 +0000 (19:29 +0200)
committerGitHub <redacted>
Fri, 9 May 2025 17:29:37 +0000 (19:29 +0200)
commit33eff4024084d1f0c8441b79f7208a52fad79858
tree80bc0f38d18b35ada3fd90f589b8b28ffb45b852
parent17512a94d636c4b6c1332370acb3e5af3ca70918
 server : vision support via libmtmd (#12898)

* server : (experimental) vision support via libmtmd

* mtmd : add more api around mtmd_image_tokens

* mtmd : add more api around mtmd_image_tokens

* mtmd : ability to calc image hash

* shared_ptr for mtmd_image_tokens

* move hash to user-define ID (fixed)

* abstract out the batch management

* small fix

* refactor logic adding tokens to batch

* implement hashing image

* use FNV hash, now hash bitmap instead of file data

* allow decoding image embedding to be split into batches

* rm whitespace

* disable some features when mtmd is on

* fix --no-mmproj-offload

* mtmd_context_params no timings

* refactor server_inp to server_tokens

* fix the failing test case

* init

* wip

* working version

* add mtmd::bitmaps

* add test target

* rm redundant define

* test: mtmd_input_chunks_free

* rm outdated comment

* fix merging issue

* explicitly create mtmd::input_chunks

* mtmd_input_chunk_copy

* add clone()

* improve server_input struct

* clip :  fix confused naming ffn_up and ffn_down

* rm ffn_i/o/g naming

* rename n_embd, n_ff

* small fix

* no check n_ff

* fix detokenize

* add const to various places

* add warning about breaking changes

* add c api

* helper: use mtmd_image_tokens_get_n_pos

* fix ctx_shift

* fix name shadowing

* more strict condition

* support remote image_url

* remote image_url log

* add CI test

* do not log base64

* add "has_multimodal" to /props

* remove dangling image

* speculative: use slot.cache_tokens.insert

* Apply suggestions from code review

Co-authored-by: Georgi Gerganov <redacted>
* rm can_be_detokenized

* on prmpt processing done, assert cache_tokens.size

* handle_completions_impl returns void

* adapt the new web ui

* update docs and hot topics

* rm assert

* small fix (2)

---------

Co-authored-by: Georgi Gerganov <redacted>
README.md
common/arg.cpp
docs/multimodal.md [new file with mode: 0644]
tools/mtmd/README.md
tools/server/CMakeLists.txt
tools/server/README.md
tools/server/server.cpp
tools/server/tests/unit/test_vision_api.py [new file with mode: 0644]
tools/server/tests/utils.py
tools/server/utils.hpp