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(
|