Higher performance OpenAI LLM service than vLLM serve: A pure C++ high-performance OpenAI LLM service implemented with GPRS+TensorRT-LLM+Tokenizers.cpp, supporting chat and function call, AI agents, distributed multi-GPU inference, multimodal capabilities, and a Gradio chat interface.
# Add to your Claude Code skills
git clone https://github.com/NetEase-Media/grps_trtllmGRPS + TensorRT-LLM
实现纯C++版,相比vllm serve更优性能的OpenAI LLM服务,支持Chat、Ai-agent、Multi-modal
、多卡推理等。
grps接入trtllm
实现更高性能的、支持OpenAI模式访问、支持Ai-agent以及多模态的LLM
服务:
C++实现完整LLM服务,包含tokenizer(支持huggingface, sentencepiecetokenizer)、llm推理
、vit等部分。grps的自定义http功能实现OpenAI接口协议,支持chat和function call模式。LLM的prompt构建风格以及生成结果的解析风格,以实现不同LLM的chat
和function call模式,支持。No comments yet. Be the first to share your thoughts!
ai-agenttensorrt推理后端与opencv库,支持多模态LLM。inflight batching、multi-gpu、paged attention、kv-cache reuse、lookahead decoding等
TensorRT-LLM推理加速技术。triton_server <--> tokenizer_backend <--> trtllm_backend之间的进程间通信,纯C++实现,性能有稳定的提升。2025-05-14
2025-05-07
2025-04-17
2025-03-25
2025-03-22
2025-03-20
2025-03-06
2025-03-04
2025-02-28
2025-02-24
2025-02-23
2025-02-21
2025-02-05
2025-01-24
2025-01-08
2024-12-24
2024-12-19
2024-12-17
支持的文本LLM:
| supported model | llm_styler | chat | function_call | doc |
|--------------------------------------------------------------------------|-------------|------|---------------|------------------------------------------------------|
| Qwen3 | qwen3 | ✅ | ✅ | qwen3 |
| DeepSeek-R1-DistillTinyR1-32B-Preview | deepseek-r1 | ✅ | ❌ | deepseek-r1-distill |
| QwQ-32BQwQ-32B-AWQ | qwq | ✅ | ✅ | qwq |
| QwQ-32B-Preview | qwq-preview | ✅ | ❌ | qwq-preview |
| Qwen2.5-1MQwen2.5-CoderQwen2.5-MathQwen2.5 | qwen2.5 | ✅ | ✅ | qwen2.5 |
| Qwen1.5-ChatQwen1.5-Moe-ChatQwen2-InstructQwen2-Moe-Instruct | qwen | ✅ | ✅ | qwen2 |
| chatglm3 | chatglm3 | ✅ | ✅ | chatglm3 |
| glm4 | glm4 | ✅ | ✅ | glm4 |
| internlm2_5-chatinternlm2-chat | internlm2 | ✅ | ✅ | internlm2.5 |
| llama-3-instructllama-3.1-instruct | llama3 | ✅ | ❌ | llama3 |
| phi-4 | phi4 | ✅ | ❌ | phi4 |
| Phi-3, Phi-3.5 | phi3 | ✅ | ❌ | phi3 |
| gemma-3(experimental) | gemma3 | ✅ | ❌ | gemma-3 |
支持的多模态LLM(少部分模型vit无法通过纯c++实现):
| supported model | llm_styler | vit | vit_type | chat | function_call | doc | |-----------------------------------------------|---------------------|-----------------|----------|------|---------------|----------------------------------------------| | InternVL3 | internvl3 | internvl2 | c++ | ✅ | ❌ | internvl3 | | MiniCPM-V-2_6 | minicpmv | minicpmv | py | ✅ | ❌ | minicpmv | | Janus-Pro | janus-pro | janus-pro | c++ | ✅ | ❌ | janus-pro | | InternVideo2.5 | intern-video2.5 | intern-video2.5 | py | ✅ | ❌ | intern-video2.5 | | InternVL2_5InternVL2_5-MPO | internvl2.5 | internvl2 | c++ | ✅ | ❌ | internvl2.5 | | InternVL2-2BInternVL2-8BInternVL2-26B | internvl2-internlm2 | internvl2 | c++ | ✅ | ❌ | internvl2 | | InternVL2-1B | internvl2-qwen2 | internvl2 | c++ | ✅ | ❌ | internvl2 | | InternVL2-4B | internvl2-phi3 | internvl2 | c++ | ✅ | ❌ | internvl2 | | olmOCR | qwen2vl | qwen2vl | c++ | ✅ | ❌ | olm-ocr | | Qwen2-VL-Instruct | qwen2vl | qwen2vl | c++ | ✅ | ❌ | qwen2vl | | Qwen-VL-ChatQwen-VL | qwenvl | qwenvl | c++ | ✅ | ❌ | qwenvl |
|-- client # 客户端样例
|-- conf # 配置文件
| |-- inference*.yml # 各类llm推理配置
| |-- server.yml # 服务配置
|-- data # 数据文件
|-- docker # docker镜像构建
|-- docs # 文档
|-- processors # 远程处理器
|-- second_party # grps框架依赖
|-- src # 自定义源码
| |-- tensorrt # tensorrt推理后端
| |-- vit # vit实现
| |-- constants.cc/.h # 常量定义
| |-- customized_inferer.cc/.h # 自定义推理器
| |-- llm_styler.cc/.h # LLM风格定义,prompt构建,结果解析
| |-- tokenizer.cc/.h # Tokenizer实现
| |-- trtllm_model_instance.cc/.h # TensorRT-LLM模型实例
| |-- trtllm_model_state.cc/.h # TensorRT-LLM模型状态
| |-- utils.cc/.h # 工具
| |-- main.cc # 本地单元测试
|-- third_party # 第三方依赖
|-- tools # 工具
|-- build.sh # 构建脚本
|-- CMakelists.txt # 工程构建文件
|-- .clang-format # 代码格式化配置文件
|-- .config # 工程配置文件,包含一些工程配置开关
以qwen2.5-instruct为例。更多llm示例见模型列表,拉取代码与创建容器步骤相同。
git clone https://github.com/NetEase-Media/grps_trtllm.git
cd grps_trtllm
git submodule update --init --recursive
使用```registry.cn-hangzhou.aliyuncs.com/opengrps/grps_gpu: