Update main.py
Browse files
main.py
CHANGED
@@ -13,6 +13,9 @@ from linebot.models import MessageEvent, TextMessage, TextSendMessage, ImageSend
|
|
13 |
# 設定 Google AI API 金鑰
|
14 |
genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
|
15 |
|
|
|
|
|
|
|
16 |
# 設定生成文字的參數
|
17 |
generation_config = genai.types.GenerationConfig(max_output_tokens=2048, temperature=0.2, top_p=0.5, top_k=16)
|
18 |
|
@@ -63,8 +66,6 @@ async def webhook(
|
|
63 |
return "ok"
|
64 |
|
65 |
|
66 |
-
#設定open AI API 金鑰
|
67 |
-
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
|
68 |
|
69 |
# 使用字典模擬用戶訊息歷史存儲
|
70 |
user_message_history = defaultdict(list)
|
@@ -133,9 +134,9 @@ def get_previous_message(user_id):
|
|
133 |
|
134 |
@line_handler.add(MessageEvent, message=(ImageMessage,TextMessage))
|
135 |
def handle_image_message(event):
|
136 |
-
global working_status
|
137 |
-
# 從 LINE API 獲取圖片數據
|
138 |
user_id = event.source.user_id
|
|
|
|
|
139 |
image_path = get_image_url(event.message.id)
|
140 |
if image_path:
|
141 |
# 處理圖片或進行進一步分析
|
@@ -155,12 +156,14 @@ def handle_image_message(event):
|
|
155 |
image_path = previous_message["content"]
|
156 |
|
157 |
# 儲存當前文字訊息
|
|
|
158 |
store_user_message(user_id, "text", user_text)
|
159 |
|
160 |
# 結合圖片與文字分析
|
161 |
out = analyze_with_openai(image_path, user_text)
|
162 |
|
163 |
else:
|
|
|
164 |
# 檢查事件類型和訊息類型
|
165 |
if event.type != "message" or event.message.type != "text":
|
166 |
# 回覆錯誤訊息
|
@@ -198,14 +201,10 @@ def handle_image_message(event):
|
|
198 |
# 處理錯誤
|
199 |
out = "執行出錯!請換個說法!"
|
200 |
|
201 |
-
|
202 |
|
203 |
-
|
204 |
-
|
205 |
-
event.reply_token,
|
206 |
-
TextSendMessage(text=out))
|
207 |
|
208 |
-
|
209 |
|
210 |
if __name__ == "__main__":
|
211 |
# 啟動 FastAPI 應用程式
|
|
|
13 |
# 設定 Google AI API 金鑰
|
14 |
genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
|
15 |
|
16 |
+
#設定open AI API 金鑰
|
17 |
+
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
|
18 |
+
|
19 |
# 設定生成文字的參數
|
20 |
generation_config = genai.types.GenerationConfig(max_output_tokens=2048, temperature=0.2, top_p=0.5, top_k=16)
|
21 |
|
|
|
66 |
return "ok"
|
67 |
|
68 |
|
|
|
|
|
69 |
|
70 |
# 使用字典模擬用戶訊息歷史存儲
|
71 |
user_message_history = defaultdict(list)
|
|
|
134 |
|
135 |
@line_handler.add(MessageEvent, message=(ImageMessage,TextMessage))
|
136 |
def handle_image_message(event):
|
|
|
|
|
137 |
user_id = event.source.user_id
|
138 |
+
|
139 |
+
# 從 LINE API 獲取圖片數據
|
140 |
image_path = get_image_url(event.message.id)
|
141 |
if image_path:
|
142 |
# 處理圖片或進行進一步分析
|
|
|
156 |
image_path = previous_message["content"]
|
157 |
|
158 |
# 儲存當前文字訊息
|
159 |
+
user_text = event.message.text
|
160 |
store_user_message(user_id, "text", user_text)
|
161 |
|
162 |
# 結合圖片與文字分析
|
163 |
out = analyze_with_openai(image_path, user_text)
|
164 |
|
165 |
else:
|
166 |
+
global working_status
|
167 |
# 檢查事件類型和訊息類型
|
168 |
if event.type != "message" or event.message.type != "text":
|
169 |
# 回覆錯誤訊息
|
|
|
201 |
# 處理錯誤
|
202 |
out = "執行出錯!請換個說法!"
|
203 |
|
|
|
204 |
|
205 |
+
# 回覆生成結果
|
206 |
+
line_bot_api.reply_message(event.reply_token,TextSendMessage(text=out))
|
|
|
|
|
207 |
|
|
|
208 |
|
209 |
if __name__ == "__main__":
|
210 |
# 啟動 FastAPI 應用程式
|