llm-py-web/server/__init__.py

14 lines
727 B
Python

from server.http import Starlette, Route, Request, Response, JSONResponse, WebSocketRoute, Mount
from server.inference import list_conversations, delete_conversation, connect_to_conversation
from starlette.staticfiles import StaticFiles
async def status(request: Request) -> Response:
return JSONResponse({"status": "ok"})
app = Starlette(debug=True, routes=[
Route("/api/", status),
Route("/api/conversation", list_conversations, methods=["GET"]),
Route("/api/conversation/{conversation}", delete_conversation, methods=["DELETE"]),
WebSocketRoute("/api/conversation/{conversation}/connect", connect_to_conversation),
Mount("/", app=StaticFiles(directory="client/web", html=True), name="client")
])