Update app.py
Browse files
app.py
CHANGED
|
@@ -41,24 +41,29 @@ pipe = pipeline(
|
|
| 41 |
|
| 42 |
from ask_api import ask_with_sensor # 引入调用函数
|
| 43 |
|
| 44 |
-
def respond(user_input
|
| 45 |
if not user_input.strip():
|
| 46 |
-
return "请输入植物相关的问题
|
| 47 |
|
| 48 |
-
#
|
| 49 |
-
prompt = f"{user_input}\n请用人性化语言生成建议并推荐相关植物资料。\n回答:"
|
| 50 |
-
local_result = pipe(prompt)[0]["generated_text"].replace(prompt, "").strip()
|
| 51 |
-
|
| 52 |
-
# 2. Render API 分析结果
|
| 53 |
try:
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
|
| 63 |
# Gradio 界面
|
| 64 |
gr.Interface(
|
|
|
|
| 41 |
|
| 42 |
from ask_api import ask_with_sensor # 引入调用函数
|
| 43 |
|
| 44 |
+
def respond(user_input):
|
| 45 |
if not user_input.strip():
|
| 46 |
+
return "请输入植物相关的问题 😊"
|
| 47 |
|
| 48 |
+
# 获取 Render 实时传感器数据
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
try:
|
| 50 |
+
sensor_response = requests.get("https://arduino-realtime.onrender.com/api/data", timeout=5)
|
| 51 |
+
sensor_data = sensor_response.json().get("sensorData", None)
|
| 52 |
+
except Exception as e:
|
| 53 |
+
sensor_data = None
|
| 54 |
+
|
| 55 |
+
# 生成用于 LoRA 本地推理的 prompt
|
| 56 |
+
prompt = f"用户提问:{user_input}\n"
|
| 57 |
+
if sensor_data:
|
| 58 |
+
prompt += f"当前传感器数据:{json.dumps(sensor_data, ensure_ascii=False)}\n"
|
| 59 |
+
prompt += "请用更人性化的语言生成建议,并推荐相关植物文献或资料。\n回答:"
|
| 60 |
+
|
| 61 |
+
# 本地 LoRA 推理
|
| 62 |
+
try:
|
| 63 |
+
result = pipe(prompt)
|
| 64 |
+
return result[0]["generated_text"]
|
| 65 |
+
except Exception as e:
|
| 66 |
+
return f"生成建议时出错:{str(e)}"
|
| 67 |
|
| 68 |
# Gradio 界面
|
| 69 |
gr.Interface(
|