diff --git a/docs/04.-Chat-Completions.md b/docs/04.-Chat-Completions.md index 43612e9..647ee92 100644 --- a/docs/04.-Chat-Completions.md +++ b/docs/04.-Chat-Completions.md @@ -23,6 +23,9 @@ A chat completions request to TabbyAPI also supports custom template variables i } ``` +> [!NOTE] +> To preserve compatibility with other standards, `chat_template_kwargs` can be used instead of `template_vars` + Now let's pass the custom var in the following template: ```jinja2 I'm going to say {{ test_var }} diff --git a/endpoints/OAI/types/chat_completion.py b/endpoints/OAI/types/chat_completion.py index 36934a8..15988cc 100644 --- a/endpoints/OAI/types/chat_completion.py +++ b/endpoints/OAI/types/chat_completion.py @@ -1,4 +1,4 @@ -from pydantic import BaseModel, Field, field_validator +from pydantic import AliasChoices, BaseModel, Field, field_validator from pydantic.json_schema import SkipJsonSchema from time import time from typing import Literal, Union, List, Optional, Dict @@ -65,7 +65,11 @@ class ChatCompletionRequest(CommonCompletionRequest): messages: List[ChatCompletionMessage] = Field(default_factory=list) prompt_template: Optional[str] = None add_generation_prompt: Optional[bool] = True - template_vars: Optional[dict] = {} + template_vars: Optional[dict] = Field( + default={}, + validation_alias=AliasChoices("template_vars", "chat_template_kwargs"), + description="Aliases: chat_template_kwargs", + ) response_prefix: Optional[str] = None model: Optional[str] = None