smolnalysis / app /README.md
Meteord's picture
Sync from GitHub via hub-sync
64a89d3 verified
|
Raw
History Blame Contribute Delete
1.41 kB
# smolnalysis App
This app uses `gr.Server` with a custom HTML chat frontend.
## Local Run
From the repository root:
```bash
uv venv
uv sync
npm install
npm run build:openui-renderer
uv run python app/app.py
```
Open [http://127.0.0.1:7860/](http://127.0.0.1:7860/).
## Runtime Shape
- `app.py` owns the Gradio server, `/` frontend route, and `/api/chat` backend route.
- Backend chat goes through `SmolnalysisMoE`.
- The frontend is a dynamic server-rendered page with chat state, training-set example prompts, loading states, and adapter trace display.
- Auto mode uses the learned router, not the old hardcoded CKAN-first heuristic.
- Router outputs select `general_agent`, `ckan_retrieval`, or `openui_translator`.
- CKAN-style retrieval output is passed with the user question to the `openui_translator` adapter.
- OpenUI-Lang responses are rendered server-side into the custom chat UI.
The old Blocks chat UI, fullscreen React chat frontend, and streaming route are removed.
## Frontend Assets
The app no longer needs a bundled chat frontend. Only the embedded OpenUI renderer remains:
- `app/frontend/openui-renderer.jsx`
- `app/static/openui-renderer.js`
Rebuild it after editing the renderer source:
```bash
npm run build:openui-renderer
```
## Useful Tests
```bash
uv run python -m unittest tests.test_smolnalysis_model_wrapper
uv run python -m unittest tests.test_openui_adapter_demo
```