nitrox commited on
Commit
393b09b
·
verified ·
1 Parent(s): 36583ce

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -29
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
- # Получаем 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,7 +184,7 @@ async def create_chat_completion(request: ChatCompletionRequest):
199
  )
200
 
201
  # Подсчитываем токены
202
- prompt_tokens = count_tokens(combined_message)
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({