Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -38,8 +38,8 @@ X_train, X_test, y_train, y_test = train_test_split(X, y_encoded, test_size=0.3,
|
|
| 38 |
model = lgb.LGBMClassifier()
|
| 39 |
model.fit(X_train, y_train)
|
| 40 |
|
| 41 |
-
def predict_crop(
|
| 42 |
-
input_data = np.array([[
|
| 43 |
pred = model.predict(input_data)[0]
|
| 44 |
crop_name = le.inverse_transform([pred])[0]
|
| 45 |
return f"🌾ਤੁਹਾਡੇ ਖੇਤ ਲਈ ਸੁਝਾਈ ਗਈ ਫਸਲ: *{crop_name}*"
|
|
@@ -119,15 +119,10 @@ def transcribe_audio(audio_path):
|
|
| 119 |
def get_gemini_response(query):
|
| 120 |
try:
|
| 121 |
response = gemini_model.generate_content(f"ਪੰਜਾਬੀ ਵਿੱਚ ਜਵਾਬ ਦਿਓ: {query}")
|
| 122 |
-
|
| 123 |
-
# Clean the response: remove asterisks (*) used for formatting
|
| 124 |
-
cleaned_response = response.text.replace('*', '')
|
| 125 |
-
|
| 126 |
-
return cleaned_response
|
| 127 |
except Exception as e:
|
| 128 |
return f"❌ Gemini ਤਰਫੋਂ ਗਲਤੀ: {str(e)}"
|
| 129 |
|
| 130 |
-
|
| 131 |
def text_to_speech(text, lang='pa'):
|
| 132 |
tts = gTTS(text=text, lang=lang)
|
| 133 |
temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
|
|
@@ -192,18 +187,18 @@ with gr.Blocks() as demo:
|
|
| 192 |
with gr.Tabs():
|
| 193 |
with gr.TabItem("🌾ਕਿਹੜੀ ਫਸਲ ਲਾਈਏ? "):
|
| 194 |
with gr.Row():
|
| 195 |
-
|
| 196 |
-
|
| 197 |
-
|
| 198 |
with gr.Row():
|
| 199 |
-
|
| 200 |
-
|
| 201 |
with gr.Row():
|
| 202 |
-
ਮਿੱਟੀ
|
| 203 |
-
|
| 204 |
predict_btn = gr.Button("ਫਸਲ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰੋ")
|
| 205 |
crop_output = gr.Markdown()
|
| 206 |
-
predict_btn.click(predict_crop, inputs=[
|
| 207 |
|
| 208 |
with gr.TabItem("🔁 ਫਸਲ ਤੋਂ ਪੈਰਾਮੀਟਰ"):
|
| 209 |
crop_input = gr.Dropdown(choices=crops, label="🌿 ਫਸਲ ਦਾ ਨਾਂ ਲਿਖੋ")
|
|
|
|
| 38 |
model = lgb.LGBMClassifier()
|
| 39 |
model.fit(X_train, y_train)
|
| 40 |
|
| 41 |
+
def predict_crop(ਨਾਈਟ੍ਰੋਜਨ, ਫਾਸਫੋਰਸ, ਪੋਟਾਸ਼ੀਅਮ, ਤਾਪਮਾਨ, ਨਮੀ, ਮਿੱਟੀ_pH, ਵਰਖਾ):
|
| 42 |
+
input_data = np.array([[ਨਾਈਟ੍ਰੋਜਨ, ਫਾਸਫੋਰਸ, ਪੋਟਾਸ਼ੀਅਮ, ਤਾਪਮਾਨ, ਨਮੀ, ਮਿੱਟੀ_pH, ਵਰਖਾ]])
|
| 43 |
pred = model.predict(input_data)[0]
|
| 44 |
crop_name = le.inverse_transform([pred])[0]
|
| 45 |
return f"🌾ਤੁਹਾਡੇ ਖੇਤ ਲਈ ਸੁਝਾਈ ਗਈ ਫਸਲ: *{crop_name}*"
|
|
|
|
| 119 |
def get_gemini_response(query):
|
| 120 |
try:
|
| 121 |
response = gemini_model.generate_content(f"ਪੰਜਾਬੀ ਵਿੱਚ ਜਵਾਬ ਦਿਓ: {query}")
|
| 122 |
+
return response.text
|
|
|
|
|
|
|
|
|
|
|
|
|
| 123 |
except Exception as e:
|
| 124 |
return f"❌ Gemini ਤਰਫੋਂ ਗਲਤੀ: {str(e)}"
|
| 125 |
|
|
|
|
| 126 |
def text_to_speech(text, lang='pa'):
|
| 127 |
tts = gTTS(text=text, lang=lang)
|
| 128 |
temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
|
|
|
|
| 187 |
with gr.Tabs():
|
| 188 |
with gr.TabItem("🌾ਕਿਹੜੀ ਫਸਲ ਲਾਈਏ? "):
|
| 189 |
with gr.Row():
|
| 190 |
+
ਨਾਈਟ੍ਰੋਜਨ= gr.Slider(0, 140, step=1, label="ਨਾਈਟ੍ਰੋਜਨ (kg/ha)")
|
| 191 |
+
ਫਾਸਫੋਰਸ= gr.Slider(5, 95, step=1, label="ਫਾਸਫੋਰਸ (kg/ha)")
|
| 192 |
+
ਪੋਟਾਸ਼ੀਅਮ= gr.Slider(5, 82, step=1, label="ਪੋਟਾਸ਼ੀਅਮ (kg/ha)")
|
| 193 |
with gr.Row():
|
| 194 |
+
ਤਾਪਮਾਨ= gr.Slider(15.63, 36.32, step=0.1, label="ਤਾਪਮਾਨ (°C)")
|
| 195 |
+
ਨਮੀ= gr.Slider(14.2,99.98 , step=1, label="ਨਮੀ (%)")
|
| 196 |
with gr.Row():
|
| 197 |
+
ਮਿੱਟੀ_pH= gr.Slider(0, 14, step=0.1, label="ਮਿੱਟੀ ਦਾ pH")
|
| 198 |
+
ਵਰਖਾ= gr.Slider(20.21, 253.72, step=1, label="ਵਰਖਾ (mm)")
|
| 199 |
predict_btn = gr.Button("ਫਸਲ ਦੀ ਭਵਿੱਖਬਾਣੀ ਕਰੋ")
|
| 200 |
crop_output = gr.Markdown()
|
| 201 |
+
predict_btn.click(predict_crop, inputs=[ਨਾਈਟ੍ਰੋਜਨ,ਫਾਸਫੋਰਸ,ਪੋਟਾਸ਼ੀਅਮ,ਤਾਪਮਾਨ,ਨਮੀ,ਮਿੱਟੀ_pH,ਵਰਖਾ], outputs=crop_output)
|
| 202 |
|
| 203 |
with gr.TabItem("🔁 ਫਸਲ ਤੋਂ ਪੈਰਾਮੀਟਰ"):
|
| 204 |
crop_input = gr.Dropdown(choices=crops, label="🌿 ਫਸਲ ਦਾ ਨਾਂ ਲਿਖੋ")
|