Gradient / app.py
redc007's picture
Create app.py
30e0742 verified
import httpx
import json
def safe_json_parse(text: str):
try:
return json.loads(text)
except:
return {"error": "Invalid JSON", "raw_output": text}
def grade_answer_image(student_answer: str, model: str = "grader"):
url = "http://localhost:11434/api/generate" # Ollama API
payload = {
"model": model,
"prompt": f"Student Answer:\n{student_answer}",
"stream": False
}
with httpx.Client() as client:
response = client.post(url, json=payload, timeout=None)
output = response.json().get("response", "")
return safe_json_parse(output)
from google import genai
def extract_ans(image_path):
client = genai.Client(api_key="AIzaSyCMdx_XOa_u6VqatyFTenwaaUg5VEJ3cDE")
myfile = client.files.upload(file=image_path)
response = client.models.generate_content(
model="gemini-2.5-flash", contents=["Extract text from this image", myfile]
)
return grade_answer_image(response.text)
import gradio as gr
interface=gr.Interface(
fn=extract_ans,
inputs=gr.Image(type="filepath", label="Upload Image"),
outputs=gr.JSON(label="Grading Result (JSON Output from Model)"),
)
interface.launch(debug=True)