Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
import os
|
2 |
import gradio as gr
|
3 |
from gradio import ChatMessage
|
4 |
-
from typing import Iterator, List, Dict, Tuple
|
5 |
import google.generativeai as genai
|
6 |
from huggingface_hub import HfApi
|
7 |
import requests
|
@@ -169,24 +169,33 @@ def explain_usage(app_content: str) -> str:
|
|
169 |
except Exception as e:
|
170 |
return f"사용법 설명 생성 중 오류 발생: {str(e)}"
|
171 |
|
172 |
-
def convert_chat_history(messages: List[
|
173 |
"""
|
174 |
-
ChatMessage
|
|
|
175 |
"""
|
176 |
conv = []
|
177 |
i = 0
|
178 |
while i < len(messages):
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
else:
|
|
|
186 |
i += 1
|
187 |
-
conv.append((user_text, bot_text))
|
188 |
else:
|
189 |
-
conv.append(("", messages[i].content))
|
190 |
i += 1
|
191 |
return conv
|
192 |
|
|
|
1 |
import os
|
2 |
import gradio as gr
|
3 |
from gradio import ChatMessage
|
4 |
+
from typing import Iterator, List, Dict, Tuple, Any
|
5 |
import google.generativeai as genai
|
6 |
from huggingface_hub import HfApi
|
7 |
import requests
|
|
|
169 |
except Exception as e:
|
170 |
return f"사용법 설명 생성 중 오류 발생: {str(e)}"
|
171 |
|
172 |
+
def convert_chat_history(messages: List[Any]) -> List[Tuple[str, str]]:
|
173 |
"""
|
174 |
+
메시지 목록의 각 항목이 ChatMessage 객체라면 (user, assistant) 튜플로,
|
175 |
+
이미 튜플인 경우 그대로 반환합니다.
|
176 |
"""
|
177 |
conv = []
|
178 |
i = 0
|
179 |
while i < len(messages):
|
180 |
+
# 만약 이미 튜플이면 그대로 사용
|
181 |
+
if isinstance(messages[i], tuple):
|
182 |
+
conv.append(messages[i])
|
183 |
+
i += 1
|
184 |
+
# 만약 ChatMessage 객체라면
|
185 |
+
elif hasattr(messages[i], "role"):
|
186 |
+
if messages[i].role == "user":
|
187 |
+
user_text = messages[i].content
|
188 |
+
bot_text = ""
|
189 |
+
if i + 1 < len(messages) and hasattr(messages[i+1], "role") and messages[i+1].role == "assistant":
|
190 |
+
bot_text = messages[i+1].content
|
191 |
+
i += 2
|
192 |
+
else:
|
193 |
+
i += 1
|
194 |
+
conv.append((user_text, bot_text))
|
195 |
else:
|
196 |
+
conv.append(("", messages[i].content))
|
197 |
i += 1
|
|
|
198 |
else:
|
|
|
199 |
i += 1
|
200 |
return conv
|
201 |
|