|
import gradio as gr |
|
import requests |
|
|
|
|
|
def get_fertilizer_recommendation(crop_name, target_yield, field_size, ph_water, organic_carbon, total_nitrogen, phosphorus, potassium, soil_moisture): |
|
|
|
url = "https://api-inference.huggingface.co/models/your-model-name" |
|
headers = {"Authorization": "Bearer YOUR_HUGGING_FACE_API_KEY"} |
|
|
|
|
|
payload = { |
|
'Crop Name': [crop_name], |
|
'Target Yield': [target_yield], |
|
'Field Size': [field_size], |
|
'pH (water)': [ph_water], |
|
'Organic Carbon': [organic_carbon], |
|
'Total Nitrogen': [total_nitrogen], |
|
'Phosphorus (M3)': [phosphorus], |
|
'Potassium (exch.)': [potassium], |
|
'Soil moisture': [soil_moisture] |
|
} |
|
|
|
|
|
response = requests.post(url, headers=headers, json=payload) |
|
result = response.json() |
|
|
|
|
|
output = f""" |
|
Predicted Fertilizer Requirements: |
|
Nitrogen (N) Need: {result['Nitrogen (N) Need']} |
|
Phosphorus (P2O5) Need: {result['Phosphorus (P2O5) Need']} |
|
Potassium (K2O) Need: {result['Potassium (K2O) Need']} |
|
Organic Matter Need: {result['Organic Matter Need']} |
|
Lime Need: {result['Lime Need']} |
|
Lime Application - Requirement: {result['Lime Application - Requirement']} |
|
Organic Matter Application - Requirement: {result['Organic Matter Application - Requirement']} |
|
1st Application - Requirement (1): {result['1st Application - Requirement (1)']} |
|
1st Application - Requirement (2): {result['1st Application - Requirement (2)']} |
|
Lime Application - Instruction: {result['Lime Application - Instruction']} |
|
Lime Application: {result['Lime Application']} |
|
Organic Matter Application - Instruction: {result['Organic Matter Application - Instruction']} |
|
Organic Matter Application: {result['Organic Matter Application']} |
|
1st Application: {result['1st Application']} |
|
1st Application - Type fertilizer (1): {result['1st Application - Type fertilizer (1)']} |
|
1st Application - Type fertilizer (2): {result['1st Application - Type fertilizer (2)']} |
|
""" |
|
return output |
|
|
|
|
|
interface = gr.Interface( |
|
fn=get_fertilizer_recommendation, |
|
inputs=[ |
|
gr.inputs.Textbox(label="Crop Name"), |
|
gr.inputs.Number(label="Target Yield"), |
|
gr.inputs.Number(label="Field Size"), |
|
gr.inputs.Number(label="pH (water)"), |
|
gr.inputs.Number(label="Organic Carbon"), |
|
gr.inputs.Number(label="Total Nitrogen"), |
|
gr.inputs.Number(label="Phosphorus (M3)"), |
|
gr.inputs.Number(label="Potassium (exch.)"), |
|
gr.inputs.Number(label="Soil moisture"), |
|
], |
|
outputs="text", |
|
title="Fertilizer Application Advisor", |
|
description="Input the details of your field and get fertilizer recommendations." |
|
) |
|
|
|
|
|
interface.launch() |
|
|