Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -143,37 +143,22 @@ def get_conversation_history(messages: List[ChatMessage]) -> List[Dict[str, str]
|
|
143 |
@app.post("/v1/chat/completions")
|
144 |
async def create_chat_completion(request: ChatCompletionRequest):
|
145 |
try:
|
146 |
-
# Получаем
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
for msg in request.messages:
|
151 |
-
if msg.role == "system":
|
152 |
-
system_prompt = msg.content
|
153 |
-
elif msg.role == "user":
|
154 |
-
last_user_message = msg
|
155 |
-
|
156 |
-
if not last_user_message:
|
157 |
-
raise HTTPException(status_code=400, detail="No user message found")
|
158 |
-
|
159 |
-
# Объединяем system prompt с сообщением пользователя
|
160 |
-
combined_message = last_user_message.content
|
161 |
-
if system_prompt:
|
162 |
-
combined_message = f"{system_prompt}\n\n{combined_message}"
|
163 |
-
|
164 |
-
# Формируем историю диалога для Flowise
|
165 |
-
history = []
|
166 |
-
for msg in request.messages:
|
167 |
-
if msg.role in ["user", "assistant"]:
|
168 |
-
history.append({
|
169 |
-
"role": msg.role,
|
170 |
-
"content": msg.content
|
171 |
-
})
|
172 |
|
173 |
# Формируем запрос к Flowise
|
174 |
flowise_request = {
|
175 |
-
"question":
|
176 |
-
"history":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
177 |
}
|
178 |
|
179 |
# Засекаем время начала запроса
|
@@ -199,7 +184,7 @@ async def create_chat_completion(request: ChatCompletionRequest):
|
|
199 |
)
|
200 |
|
201 |
# Подсчитываем токены
|
202 |
-
prompt_tokens = count_tokens(
|
203 |
completion_tokens = count_tokens(assistant_response)
|
204 |
|
205 |
response = JSONResponse({
|
|
|
143 |
@app.post("/v1/chat/completions")
|
144 |
async def create_chat_completion(request: ChatCompletionRequest):
|
145 |
try:
|
146 |
+
# Получаем последнее сообщение из диалога
|
147 |
+
last_message = request.messages[-1]
|
148 |
+
if last_message.role != "user":
|
149 |
+
raise HTTPException(status_code=400, detail="Last message must be from user")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
|
151 |
# Формируем запрос к Flowise
|
152 |
flowise_request = {
|
153 |
+
"question": last_message.content,
|
154 |
+
"history": [
|
155 |
+
{
|
156 |
+
"role": msg.role,
|
157 |
+
"content": msg.content
|
158 |
+
}
|
159 |
+
for msg in request.messages[:-1] # Все сообщения кроме последнего
|
160 |
+
if msg.role in ["user", "assistant", "system"] # Включаем system в историю
|
161 |
+
]
|
162 |
}
|
163 |
|
164 |
# Засекаем время начала запроса
|
|
|
184 |
)
|
185 |
|
186 |
# Подсчитываем токены
|
187 |
+
prompt_tokens = count_tokens(last_message.content)
|
188 |
completion_tokens = count_tokens(assistant_response)
|
189 |
|
190 |
response = JSONResponse({
|