nitrox commited on
Commit
36583ce
·
verified ·
1 Parent(s): 6e5e6f5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -10
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
- # Извлекаем system prompt
147
- system_prompt = extract_system_prompt(request.messages)
 
148
 
149
- # Получаем историю диалога
150
- conversation_history = get_conversation_history(request.messages)
 
 
 
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": last_user_message.content,
160
- "system_prompt": system_prompt,
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(last_user_message.content)
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({