feat(chat): multi-turn Chat Session with Conversation history sidebar
Grounded Ask owns the product chat UI: persistent thread_id across a Chat Session, New chat / Continue conversation, and a sidebar that lists Conversations from the Conversation Record with formatted run metadata (timing, tokens, evidence chunks). Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
36
README.md
Normal file
36
README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Grounded Ask
|
||||
|
||||
Upload docs, ask one question, read the answer plus the passages it used.
|
||||
|
||||
Domain language: [`CONTEXT.md`](CONTEXT.md) · product ADR: [`docs/adr/0001-separate-app-tenant-profiles.md`](docs/adr/0001-separate-app-tenant-profiles.md) · API Sources: `tamasino-ai-api` ADR-0023
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. `tamasino-ai-api` running
|
||||
2. A tenant API key with upload scopes **and** `threads:run`:
|
||||
|
||||
```bash
|
||||
cd ../tamasino-ai-api
|
||||
uv run python -m src.cli.provision_tenant --slug acme --domain fire \
|
||||
--scopes files:write,domains:read,domains:write,points:read,points:write,retrieval:read,threads:run
|
||||
```
|
||||
|
||||
## How to use (local)
|
||||
|
||||
1. Open the app (usually `http://localhost:8502`).
|
||||
2. **Connect** — paste an API key that includes `files:write`, `domains:read`, `domains:write`, and `threads:run` (Hybrid Console’s key is fine if it has those).
|
||||
3. **Add documents** — create or pick a topic (domain), upload CSV / Excel / Word, wait for “chunks indexed”.
|
||||
4. **Ask** — type a question → read the answer and **Passages used**.
|
||||
|
||||
Each ask is single-turn (no chat history). Questions search the whole tenant corpus.
|
||||
|
||||
## Setup
|
||||
|
||||
```bash
|
||||
cd tamasino-ai-grounded-ask
|
||||
cp .env.example .env
|
||||
uv sync
|
||||
uv run streamlit run app.py
|
||||
```
|
||||
|
||||
Connections are stored locally in `data/tenant_profiles.json` (gitignored).
|
||||
Reference in New Issue
Block a user