Add overridable hooks for custom chat serving implementations (#25807)

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Randall Lin
2026-05-21 11:21:25 +08:00
committed by GitHub
co-authored by Cursor
parent 74c6294ba9
commit 791a2f057f
7 changed files with 371 additions and 167 deletions
+4 -3
View File
@@ -92,7 +92,6 @@ from sglang.srt.entrypoints.openai.protocol import (
TokenizeRequest,
V1RerankReqInput,
)
from sglang.srt.entrypoints.openai.serving_chat import OpenAIServingChat
from sglang.srt.entrypoints.openai.serving_classify import OpenAIServingClassify
from sglang.srt.entrypoints.openai.serving_completions import OpenAIServingCompletion
from sglang.srt.entrypoints.openai.serving_embedding import OpenAIServingEmbedding
@@ -316,8 +315,10 @@ async def lifespan(fast_api_app: FastAPI):
fast_api_app.state.openai_serving_completion = OpenAIServingCompletion(
_global_state.tokenizer_manager, _global_state.template_manager
)
fast_api_app.state.openai_serving_chat = OpenAIServingChat(
_global_state.tokenizer_manager, _global_state.template_manager
fast_api_app.state.openai_serving_chat = (
_global_state.tokenizer_manager.serving_chat_class(
_global_state.tokenizer_manager, _global_state.template_manager
)
)
fast_api_app.state.openai_serving_embedding = OpenAIServingEmbedding(
_global_state.tokenizer_manager, _global_state.template_manager