summaryrefslogtreecommitdiff
path: root/src/ollama_web/routes/pages.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ollama_web/routes/pages.py')
-rw-r--r--src/ollama_web/routes/pages.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/ollama_web/routes/pages.py b/src/ollama_web/routes/pages.py
new file mode 100644
index 0000000..8e1d084
--- /dev/null
+++ b/src/ollama_web/routes/pages.py
@@ -0,0 +1,27 @@
+"""Page routes rendering Jinja2 templates."""
+
+from __future__ import annotations
+
+from pathlib import Path
+
+from starlette.requests import Request
+from starlette.responses import Response
+from starlette.templating import Jinja2Templates
+
+from ollama_web import llm
+
+_TEMPLATES_DIR = Path(__file__).resolve().parent.parent / "templates"
+templates = Jinja2Templates(directory=str(_TEMPLATES_DIR))
+
+
+async def index(request: Request) -> Response:
+ """Render the chat page with the available model list."""
+ host = request.app.state.settings.ollama_host
+ models = llm.list_models(host=host)
+ default_model = request.app.state.settings.default_model
+ return templates.TemplateResponse(
+ request,
+ "index.html",
+ {"models": models, "default_model": default_model},
+ media_type="text/html; charset=utf-8",
+ )