dev / app.py
syempuna's picture
1
8ed73f7 verified
raw
history blame
1.04 kB
from fastapi import FastAPI
from pydantic import BaseModel
import uvicorn
from translator import translate
app = FastAPI()
# ===== Model untuk request/response =====
class ChatRequest(BaseModel):
message: str
history: list[dict] = []
system_message: str = "You are a friendly chatbot."
max_tokens: int = 512
temperature: float = 0.7
top_p: float = 0.95
class TranslateRequest(BaseModel):
text: str
direction: str # "ID → EN" atau "EN → ID"
# ===== Endpoint Chatbot =====
@app.post("/chat")
def chat_endpoint(req: ChatRequest):
# ⚡ Di sini kamu bisa sambungkan dengan InferenceClient seperti di kode awal
return {"response": f"Simulasi jawaban untuk: {req.message}"}
# ===== Endpoint Translator =====
@app.post("/translate")
def translate_endpoint(req: TranslateRequest):
result = translate(req.text, req.direction)
return {"translation": result}
# ====== Run local (Space akan otomatis pakai uvicorn) ======
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7860)