MathEngine / app.py
Abhlash's picture
Update app.py
1173390 verified
raw
history blame
1.5 kB
from fastapi import FastAPI
from pydantic import BaseModel
from transformers import pipeline
app = FastAPI()
# Define request model for math operations
class CalculationRequest(BaseModel):
a: float
b: float
operation: str
# Load Hugging Face model (example: a simple text generation model)
model = pipeline('text-generation', model='gpt2')
@app.post("/calculate")
def calculate(request: CalculationRequest):
a = request.a
b = request.b
operation = request.operation
if operation == "add":
result = a + b
elif operation == "subtract":
result = a - b
elif operation == "multiply":
result = a * b
elif operation == "divide":
result = a / b
else:
return {"error": "Invalid operation"}
return {"result": result}
# Example endpoint using Hugging Face model
@app.post("/generate")
def generate_text(prompt: str):
generated = model(prompt, max_length=50)
return {"generated_text": generated[0]['generated_text']}
# New endpoint for testing math operations
@app.post("/test_math")
def test_math(request: CalculationRequest):
a = request.a
b = request.b
operation = request.operation
if operation == "add":
result = a + b
elif operation == "subtract":
result = a - b
elif operation == "multiply":
result = a * b
elif operation == "divide":
result = a / b
else:
return {"error": "Invalid operation"}
return {"result": result}