math / app.py
arshadrana's picture
Update app.py
77335d6 verified
import os
from fastapi import FastAPI, Request
from pydantic import BaseModel
import dashscope
from dashscope import Generation
# Set up the API key for Dashscope
YOUR_API_TOKEN = os.getenv('HF_TOKEN')
dashscope.api_key = YOUR_API_TOKEN
app = FastAPI()
math_messages = []
class MathQuery(BaseModel):
question: str
def get_math_response(user_question):
global math_messages
if not math_messages:
math_messages.append({'role': 'system', 'content': 'You are a helpful math assistant.'})
math_messages = math_messages[:1]
query = f"User question: {user_question}"
math_messages.append({'role': 'user', 'content': query})
response = Generation.call(
model="qwen2-math-72b-instruct",
messages=math_messages,
result_format='message',
stream=False
)
answer = response.output.choices[0].message.content if response.output else "No response available."
if answer:
math_messages.append({'role': 'assistant', 'content': answer})
return answer
@app.post("/math-solver")
async def solve_math(query: MathQuery):
user_question = query.question
answer = get_math_response(user_question)
return {"question": user_question, "answer": answer}
@app.get("/")
def root():
return {"message": "Welcome to the FastAPI Math Solver!"}