mlian2323/code-explainer-bot
0
1from fastapi import FastAPI2from fastapi.middleware.cors import CORSMiddleware3from pydantic import BaseModel4from transformers import AutoTokenizer, AutoModelForSeq2SeqLM5import uvicorn6import os7 8app = FastAPI()9 10# ๐ Enable CORS to allow React App to communicate with FastAPI11app.add_middleware(12 CORSMiddleware,13 allow_origins=["*"], # โ
This allows ALL DOMAINS (React, Vercel, etc.)14 allow_credentials=True,15 allow_methods=["*"],16 allow_headers=["*"],17)18 19# Load your model and tokenizer from Hugging Face Hub20MODEL_NAME = "mlian2323/code-explainer-model"21tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)22model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_NAME)23 24class CodeInput(BaseModel):25 code: str26 27@app.post("/explain")28def explain_code(code_input: CodeInput):29 inputs = tokenizer(code_input.code, return_tensors="pt", padding=True, truncation=True)30 outputs = model.generate(**inputs)31 explanation = tokenizer.decode(outputs[0], skip_special_tokens=True)32 return {"explanation": explanation}33 34if __name__ == "__main__":35 port = int(os.environ.get("PORT", 7860))36 uvicorn.run(app, host="0.0.0.0", port=port)37 