emotion / app.py
mohamedalix546's picture
Update app.py
a19c001 verified
import uvicorn
from fastapi import FastAPI
from pydantic import BaseModel
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
import threading
app = FastAPI()
model_name = "daikooo/DialogGPT-finetune-mental-health-chatbot"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
class Message(BaseModel):
message: str
@app.post("/predict")
def predict(data: Message):
user_input = data.message
prompt = f"""You are a caring mental health support assistant. Please respond to the user's message with empathy and understanding.
User: {user_input}
You:"""
input_ids = tokenizer.encode(prompt, return_tensors="pt")
output = model.generate(
input_ids,
max_length=150,
temperature=0.7,
pad_token_id=tokenizer.eos_token_id
)
result = tokenizer.decode(output[0], skip_special_tokens=True)
reply = result.split("You:")[-1].strip()
return {"reply": reply}
def start():
uvicorn.run(app, host="0.0.0.0", port=7860)
threading.Thread(target=start).start()