Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -143,22 +143,37 @@ 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 |
-
system_prompt =
|
|
|
148 |
|
149 |
-
|
150 |
-
|
|
|
|
|
|
|
151 |
|
152 |
-
# Получаем последнее сообщение пользователя
|
153 |
-
last_user_message = next((msg for msg in reversed(request.messages) if msg.role == "user"), None)
|
154 |
if not last_user_message:
|
155 |
raise HTTPException(status_code=400, detail="No user message found")
|
156 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
# Формируем запрос к Flowise
|
158 |
flowise_request = {
|
159 |
-
"question":
|
160 |
-
"
|
161 |
-
"conversation_history": conversation_history
|
162 |
}
|
163 |
|
164 |
# Засекаем время начала запроса
|
@@ -184,7 +199,7 @@ async def create_chat_completion(request: ChatCompletionRequest):
|
|
184 |
)
|
185 |
|
186 |
# Подсчитываем токены
|
187 |
-
prompt_tokens = count_tokens(
|
188 |
completion_tokens = count_tokens(assistant_response)
|
189 |
|
190 |
response = JSONResponse({
|
|
|
143 |
@app.post("/v1/chat/completions")
|
144 |
async def create_chat_completion(request: ChatCompletionRequest):
|
145 |
try:
|
146 |
+
# Получаем system prompt и последнее сообщение пользователя
|
147 |
+
system_prompt = ""
|
148 |
+
last_user_message = None
|
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": combined_message,
|
176 |
+
"history": history
|
|
|
177 |
}
|
178 |
|
179 |
# Засекаем время начала запроса
|
|
|
199 |
)
|
200 |
|
201 |
# Подсчитываем токены
|
202 |
+
prompt_tokens = count_tokens(combined_message)
|
203 |
completion_tokens = count_tokens(assistant_response)
|
204 |
|
205 |
response = JSONResponse({
|