Spaces:
Running
Running
Commit ·
832a92e
1
Parent(s): 81736e4
feat : upgrade agent params
Browse files- services/agents.py +1 -0
- services/linebot.py +5 -4
services/agents.py
CHANGED
|
@@ -268,6 +268,7 @@ def run_agent(user_input: str):
|
|
| 268 |
# sys_msg,
|
| 269 |
# human_msg
|
| 270 |
#]
|
|
|
|
| 271 |
return agent.invoke({
|
| 272 |
"messages": [{"role": "user", "content": user_input }]
|
| 273 |
})
|
|
|
|
| 268 |
# sys_msg,
|
| 269 |
# human_msg
|
| 270 |
#]
|
| 271 |
+
print(f"UserInput:{user_input}")
|
| 272 |
return agent.invoke({
|
| 273 |
"messages": [{"role": "user", "content": user_input }]
|
| 274 |
})
|
services/linebot.py
CHANGED
|
@@ -119,6 +119,7 @@ def handle_message(event):
|
|
| 119 |
elif event.message.type == "text":
|
| 120 |
|
| 121 |
user_text = event.message.text # 獲取用戶傳來的文字
|
|
|
|
| 122 |
# 獲取該用戶的「上一則」訊息
|
| 123 |
previous_message = get_previous_message(user_id)
|
| 124 |
print(f"上一則訊息: {previous_message}") # 在後台印出除錯訊息
|
|
@@ -127,14 +128,13 @@ def handle_message(event):
|
|
| 127 |
if previous_message["type"] == "image":
|
| 128 |
# 如果上一則是圖片,代表用戶現在的文字是「針對圖片的提問」
|
| 129 |
image_path = previous_message["content"]
|
| 130 |
-
agent_input = {
|
| 131 |
-
|
| 132 |
-
}
|
| 133 |
# 清除上一則圖片訊息,避免下一次文字訊息還被當作是圖片問答
|
| 134 |
user_message_history[user_id].pop()
|
| 135 |
else:
|
| 136 |
# 如果上一則不是圖片 (或沒有上一則),代表這是一般的文字提問 (可能是要求生成圖片)
|
| 137 |
-
agent_input =
|
| 138 |
|
| 139 |
try:
|
| 140 |
# 運行 LangChain 代理人
|
|
@@ -182,6 +182,7 @@ def handle_message(event):
|
|
| 182 |
event.reply_token,
|
| 183 |
TextSendMessage(text="代理人回覆格式無法識別,請聯繫管理員。")
|
| 184 |
)
|
|
|
|
| 185 |
except json.JSONDecodeError:
|
| 186 |
# 4. 處理 Agent 返回了無法解析的純文字 (非 JSON)
|
| 187 |
# 這通常發生在 Agent 決定不使用工具,直接回覆純文字,或者推理過程出錯。
|
|
|
|
| 119 |
elif event.message.type == "text":
|
| 120 |
|
| 121 |
user_text = event.message.text # 獲取用戶傳來的文字
|
| 122 |
+
agent_input = ""
|
| 123 |
# 獲取該用戶的「上一則」訊息
|
| 124 |
previous_message = get_previous_message(user_id)
|
| 125 |
print(f"上一則訊息: {previous_message}") # 在後台印出除錯訊息
|
|
|
|
| 128 |
if previous_message["type"] == "image":
|
| 129 |
# 如果上一則是圖片,代表用戶現在的文字是「針對圖片的提問」
|
| 130 |
image_path = previous_message["content"]
|
| 131 |
+
agent_input = f"請根據這張圖片回答問題。圖片的路徑是 {image_path},我的問題是:{user_text}"
|
| 132 |
+
|
|
|
|
| 133 |
# 清除上一則圖片訊息,避免下一次文字訊息還被當作是圖片問答
|
| 134 |
user_message_history[user_id].pop()
|
| 135 |
else:
|
| 136 |
# 如果上一則不是圖片 (或沒有上一則),代表這是一般的文字提問 (可能是要求生成圖片)
|
| 137 |
+
agent_input = user_text
|
| 138 |
|
| 139 |
try:
|
| 140 |
# 運行 LangChain 代理人
|
|
|
|
| 182 |
event.reply_token,
|
| 183 |
TextSendMessage(text="代理人回覆格式無法識別,請聯繫管理員。")
|
| 184 |
)
|
| 185 |
+
|
| 186 |
except json.JSONDecodeError:
|
| 187 |
# 4. 處理 Agent 返回了無法解析的純文字 (非 JSON)
|
| 188 |
# 這通常發生在 Agent 決定不使用工具,直接回覆純文字,或者推理過程出錯。
|