Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -29,12 +29,15 @@ def gpt_call(history, user_message,
|
|
| 29 |
|
| 30 |
# 2) 기존 대화 기록(history)을 OpenAI 형식으로 변환
|
| 31 |
# user_text -> 'user' / assistant_text -> 'assistant'
|
| 32 |
-
for
|
| 33 |
-
|
|
|
|
|
|
|
| 34 |
messages.append({"role": "user", "content": user_text})
|
| 35 |
-
if assistant_text:
|
| 36 |
messages.append({"role": "assistant", "content": assistant_text})
|
| 37 |
|
|
|
|
| 38 |
# 3) 마지막에 이번 사용자의 입력을 추가
|
| 39 |
messages.append({"role": "user", "content": user_message})
|
| 40 |
|
|
@@ -85,7 +88,7 @@ with gr.Blocks() as demo:
|
|
| 85 |
|
| 86 |
# (user, assistant) 쌍을 저장할 히스토리 상태
|
| 87 |
# 여기서도 동일한 초기 상태를 넣어줌
|
| 88 |
-
state_history = gr.State([
|
| 89 |
|
| 90 |
# 사용자 입력
|
| 91 |
user_input = gr.Textbox(
|
|
|
|
| 29 |
|
| 30 |
# 2) 기존 대화 기록(history)을 OpenAI 형식으로 변환
|
| 31 |
# user_text -> 'user' / assistant_text -> 'assistant'
|
| 32 |
+
for exchange in history:
|
| 33 |
+
if isinstance(exchange, (list, tuple)) and len(exchange) == 2:
|
| 34 |
+
user_text, assistant_text = exchange
|
| 35 |
+
if isinstance(user_text, str) and user_text.strip():
|
| 36 |
messages.append({"role": "user", "content": user_text})
|
| 37 |
+
if isinstance(assistant_text, str) and assistant_text.strip():
|
| 38 |
messages.append({"role": "assistant", "content": assistant_text})
|
| 39 |
|
| 40 |
+
|
| 41 |
# 3) 마지막에 이번 사용자의 입력을 추가
|
| 42 |
messages.append({"role": "user", "content": user_message})
|
| 43 |
|
|
|
|
| 88 |
|
| 89 |
# (user, assistant) 쌍을 저장할 히스토리 상태
|
| 90 |
# 여기서도 동일한 초기 상태를 넣어줌
|
| 91 |
+
state_history = gr.State([[{"role": "assistant", "content": INITIAL_PROMPT}]])
|
| 92 |
|
| 93 |
# 사용자 입력
|
| 94 |
user_input = gr.Textbox(
|