77import json
88import time
99from typing import AsyncGenerator , Dict , List , Optional
10+ from packaging import version
1011
1112import fastapi
1213from fastapi import BackgroundTasks , Request
3132from vllm .utils import random_uuid
3233
3334try :
35+ import fastchat
3436 from fastchat .conversation import Conversation , SeparatorStyle
3537 from fastchat .model .model_adapter import get_conversation_template
3638 _fastchat_available = True
@@ -72,10 +74,16 @@ async def get_gen_prompt(request) -> str:
7274 "fastchat is not installed. Please install fastchat to use "
7375 "the chat completion and conversation APIs: `$ pip install fschat`"
7476 )
77+ if version .parse (fastchat .__version__ ) < version .parse ("0.2.23" ):
78+ raise ImportError (
79+ f"fastchat version is low. Current version: { fastchat .__version__ } "
80+ "Please upgrade fastchat to use: `$ pip install -U fschat`" )
81+
7582 conv = get_conversation_template (request .model )
7683 conv = Conversation (
7784 name = conv .name ,
78- system = conv .system ,
85+ system_template = conv .system_template ,
86+ system_message = conv .system_message ,
7987 roles = conv .roles ,
8088 messages = list (conv .messages ), # prevent in-place modification
8189 offset = conv .offset ,
@@ -92,7 +100,7 @@ async def get_gen_prompt(request) -> str:
92100 for message in request .messages :
93101 msg_role = message ["role" ]
94102 if msg_role == "system" :
95- conv .system = message ["content" ]
103+ conv .system_message = message ["content" ]
96104 elif msg_role == "user" :
97105 conv .append_message (conv .roles [0 ], message ["content" ])
98106 elif msg_role == "assistant" :
0 commit comments