Update main.py
Browse files
main.py
CHANGED
|
@@ -2,7 +2,7 @@ import json, os, glob, pathlib, time, re
|
|
| 2 |
from fastapi import FastAPI, Request, Header, BackgroundTasks, HTTPException
|
| 3 |
from fastapi.middleware.cors import CORSMiddleware
|
| 4 |
from fastapi.responses import HTMLResponse, JSONResponse
|
| 5 |
-
|
| 6 |
from linebot import LineBotApi, WebhookHandler
|
| 7 |
from linebot.exceptions import InvalidSignatureError
|
| 8 |
from linebot.models import MessageEvent, TextMessage, TextSendMessage
|
|
@@ -129,7 +129,7 @@ ai_enabled = False
|
|
| 129 |
|
| 130 |
if GOOGLE_API_KEY:
|
| 131 |
try:
|
| 132 |
-
|
| 133 |
ai_enabled = True
|
| 134 |
logger.info("✅ Gemini AI 已啟用")
|
| 135 |
except Exception as e:
|
|
@@ -575,7 +575,10 @@ def handle_message(event):
|
|
| 575 |
if ai_enabled:
|
| 576 |
try:
|
| 577 |
prompt = f"參考資料:{pdf_content}\n\n問題:{user_message}\n\n簡潔回答。" if pdf_content else user_message
|
| 578 |
-
|
|
|
|
|
|
|
|
|
|
| 579 |
out = response.text if response and response.text else "無法回答"
|
| 580 |
except Exception as e:
|
| 581 |
logger.error(f"AI錯誤: {str(e)}")
|
|
|
|
| 2 |
from fastapi import FastAPI, Request, Header, BackgroundTasks, HTTPException
|
| 3 |
from fastapi.middleware.cors import CORSMiddleware
|
| 4 |
from fastapi.responses import HTMLResponse, JSONResponse
|
| 5 |
+
import google.generativeai as genai
|
| 6 |
from linebot import LineBotApi, WebhookHandler
|
| 7 |
from linebot.exceptions import InvalidSignatureError
|
| 8 |
from linebot.models import MessageEvent, TextMessage, TextSendMessage
|
|
|
|
| 129 |
|
| 130 |
if GOOGLE_API_KEY:
|
| 131 |
try:
|
| 132 |
+
genai.configure(api_key=GOOGLE_API_KEY)
|
| 133 |
ai_enabled = True
|
| 134 |
logger.info("✅ Gemini AI 已啟用")
|
| 135 |
except Exception as e:
|
|
|
|
| 575 |
if ai_enabled:
|
| 576 |
try:
|
| 577 |
prompt = f"參考資料:{pdf_content}\n\n問題:{user_message}\n\n簡潔回答。" if pdf_content else user_message
|
| 578 |
+
|
| 579 |
+
model = genai.GenerativeModel('gemini-2.5-flash')
|
| 580 |
+
response = model.generate_content(prompt)
|
| 581 |
+
|
| 582 |
out = response.text if response and response.text else "無法回答"
|
| 583 |
except Exception as e:
|
| 584 |
logger.error(f"AI錯誤: {str(e)}")
|