Skip to content

server: Bring back multimodal support #8010

Closed
1 of 1 issue completed
Closed

Description

@ngxson

Multimodal has been removed since #5882

Current llama.cpp multimodal roadmap

(update 9th april 2025)

Activity

  1. ZhenyaPav commented on Jul 20, 2024

    @ZhenyaPav

    Can someone advise me on what is the latest (working) commit before multimodal was removed?

  2. HAV0X1014 commented on Jul 21, 2024

    @HAV0X1014

    It is rather annoying that multimodal support was removed for the server and has not been re-implemented for such a long time now (4 months?). Multimodal LLMs and interleaved image and text models are growing in capability recently, and not being able to run models that used to work before is unfortunate. Seemingly, the only way to restore this functionality is to downgrade to a version that loses support for most new models and improvements.

    I am not trying to demand multimodal/llava support to return, but show that this feature on the server is missed.

  3. micoraweb commented on Aug 16, 2024

    @micoraweb

    Hello, is there still no multimodal support in llama-server ? According to ReadMe in LLaMA.cpp HTTP Server it should be supported?

    How to use it with OpenAI API format?

  4. its-ven commented on Aug 22, 2024

    @its-ven

    Have there been any updates on this?

  5. HAV0X1014 commented on Aug 31, 2024

    @HAV0X1014

    So far, it appears that there hasn't been any updates. This really stinks because there were updates to llava recently to support new models.

  6. micoraweb commented on Sep 12, 2024

    @micoraweb

    So, this functionality seems to be unavailable for months and there is no hope to get it running? With all the amazing new models we could work with, such as MiniCPM, even Pixtral, etc. Can someone point us at a working server software that allows working with the newer multimodal models ? We just need something like llama-server that should run these multimodal GGUFs. Perhaps one of the llama.cpp files allows to run a server? It's also important to have a standard (OpenAI) API to support standard interactions.. It's so frustrating to wait months and months for such an important feature with no one even bothering to reply!

  7. ggerganov commented on Sep 12, 2024

    @ggerganov
    Member

    Not much has changes since the issue was created. We need contributions to improve the existing vision code and people to maintain it. There is interest to reintroduce full multimodal support, but there are other things with higher priority that are currently worked upon by the core maintainers of the project.

  8. ngxson commented on Sep 12, 2024

    @ngxson
    CollaboratorAuthor

    Just to remind: Currently, llama-cpp-python has a server implementation that supports vision models (with OAI compat API). You can use it as an alternative.

    Of course it's much better to bring vision support into llama.cpp itself (instead of staying as llava example). The problem is that the current code requires a big clean up. We will eventually do that, as vision capability is becoming more and more streamline.

  9. chigkim commented on Sep 26, 2024

    @chigkim

    @ggerganov, Meta released Llama-3.2 with multimodal capabilities. Does this affect the priority for core maintainers? I hope this question doesn’t come across as entitled...

  10. ggerganov commented on Sep 26, 2024

    @ggerganov
    Member

    @chigkim My PoV is that adding multimodal support is a great opportunity for new people with good software architecture skills to get involved in the project. The general low to mid level patterns and details needed for the implementation are already available in the codebase - from model conversion, to data loading, backend usage and inference. It would take some high-level understanding of the project architecture in order to implement support for the vision models and extend the API in the correct way.

    We really need more people with this sort of skillset, so at this point I feel it is better to wait and see if somebody will show up and take the opportunity to help out with the project long-term. Otherwise, I'm afraid we won't be able to sustain the quality of the project.

  11. 36 remaining items

  12. AIWintermuteAI commented on Mar 10, 2025

    @AIWintermuteAI

    @ngxson I probably won't be sharing the .gguf files - the process to obtain them on my fork (or your branch) is simple enough and I don't have any good place to share them anyway.
    But nice idea for future!
    For benchmarks, I'm traveling this week and don't have Raspberry Pi with me. But I'll gladly run some next week once I'm back home. One thing I can tell for sure is that it times faster than onnx runtime. The 256M model image encoder alone took 35 seconds using onnx runtime (INT8 quantized model), while with llama.cpp it was closer to 5 seconds, maybe even less.

  13. jkbe commented on Mar 12, 2025

    @jkbe

    Some experimental support for using Gemma 3's vision was introduced here: #12344

  14. ikcii commented on Mar 13, 2025

    @ikcii

    Some experimental support for using Gemma 3's vision was introduced here: #12344

    Tested it just now and it works flawlessly, wish it was supported on the server...

  15. BahamutRU commented on Apr 24, 2025

    @BahamutRU

    What about Gemma 3 or Qwen2.5 VL vision in server? Very needed, don't want to use ollama.
    Is it planned? Or should we not wait?

  16. pwilkin commented on Apr 24, 2025

    @pwilkin
    Member

    @BahamutRU from what I understand, all the models that are currently available under llama-mtmd-cli will be available on the server once this PR is done.

  17. sinand99 commented on Apr 25, 2025

    @sinand99

    Pixtral 12B support for the server please.

  18. Cerno-b commented on May 8, 2025

    @Cerno-b

    Can I just say thank you for adding Qwen2.5-VL support to llama-mtmd-cli a short while ago. This came at precisely the perfect time for me.

    Server mode would be amazing for that as well, but I wanted to contribute something positive instead of just demanding new stuff. Keep up the good work!

  19. ngxson commented on May 9, 2025

    @ngxson
    CollaboratorAuthor

    Server now supports image input, please have a look on this documentation

    PR: #12898

  20. AIWintermuteAI commented on May 9, 2025

    @AIWintermuteAI

    @ngxson , great work, will try it out shortly!

  21. asif166037 commented on Feb 16, 2026

    @asif166037

    Hi @ngxson , can we support multimodal on ios xCFramework as well.

  22. day-dreaming-guy commented on Apr 19, 2026

    @day-dreaming-guy

    Hey @asif166037, did you manage to solve it somehow?

  23. asif166037 commented on Apr 20, 2026

    @asif166037

    Hi @day-dreaming-guy ,

    Yes I have created the ios xCFramework that supports the multimodal. I created separate .sh file in that added existing command that present in llama.cpp repo (to create the xCFramework)

    In that I have enable the LLAMA_BUILD_TOOLS=ON and created the libmtmd.a and attached in to the final dynamic framework

    Since mtmd written in c++ internally but Swift/Objective-C can only consume pure C headers I copy pasted this headers in my plugin (ios/Sources/LlamaCppPlugin/mtmd-headers) and created the bridge to communicate with mtmd.

    It wraps the C++ mtmd API behind extern "C" so Swift can call.

    _void * cap_mtmd_init(...) // init vision/audio context
    bool cap_mtmd_supports_vision(...)
    bool cap_mtmd_supports_audio(...)
    int32_t cap_mtmd_eval(...) // run multimodal inference

    Swift → CapMtmdBridge.h (pure C) → mtmd.h (C++) → libmtmd.a (compiled into xcframework)_

    I am working on ionic capacitor plugin and this is example -
    #20057

  24. day-dreaming-guy commented on Apr 20, 2026

    @day-dreaming-guy

    Awesome @asif166037 !! Thank you brother. This is really helpful!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions