This repository contains a local-first, production-minded pipeline:
- Ingest transcripts
- Summarize + extract tasks (Ollama)
- Store in Neo4j
- Execute tasks with a tool-using agent
- Log provenance (ToolCalls, Artifacts), metrics, and acceptance checks
See docker-compose.yml
. Once up:
- Pull your model inside the ollama container:
docker exec -it assistx-ollama ollama pull ${OLLAMA_MODEL:-llama3.1:8b}
- Init Neo4j schema:
docker exec -it assistx-api bash -lc "python -m assistx.cli init"
Review UI: http://localhost:8000 (Basic Auth)
Metrics: http://localhost:8000/metrics (Basic Auth)
python -m assistx.cli ingest --src ./transcripts
python -m assistx.cli summarize --since-days 7
python -m assistx.cli approve --all
python -m assistx.cli execute --limit 5
# Export predictions for evaluator
python -m assistx.cli export-pred --out ./eval/pred
python -m assistx.cli eval --gold ./eval/gold --pred ./eval/pred
How to use
docker compose -f docker-compose.yml -f compose.infra.yml config
docker compose -f docker-compose.yml -f compose.infra.yml up -d
docker compose -f docker-compose.yml -f compose.host.yml config
docker compose -f docker-compose.yml -f compose.host.yml up -d
# stop whatever’s running
docker compose -f docker-compose.yml -f compose.override.yml --profile infra stop
# validate config after your edits
docker compose -f docker-compose.yml -f compose.override.yml config
# bring up with host services (no infra)
docker compose -f docker-compose.yml -f compose.override.yml up -d
BASIC_AUTH_USER=admin BASIC_AUTH_PASS=change-me streamlit run streamlit_app.py
# Rebuild and up
docker compose -f docker-compose.yml -f compose.infra.yml up --build -d
# or with host mode: -f compose.host.yml
# Hit the dashboard (Basic Auth protected)
open http://localhost:8000/answers
# In another terminal, enqueue a question to see live "new"/"update"
curl -u admin:change-me -X POST -H "Content-Type: application/json" \
-d '{"question":"What tasks are READY by kind?","mode":"async"}' \
http://localhost:8000/api/ask
# stop current stack
docker compose -f docker-compose.yml -f compose.host.yml down --remove-orphans
# rebuild with the new Dockerfile and deps
docker compose -f docker-compose.yml -f compose.host.yml build --no-cache
# start
docker compose -f docker-compose.yml -f compose.host.yml up -d
# verify containers (api & worker should appear, not just redis)
docker compose -f docker-compose.yml -f compose.host.yml ps
# check logs for the API
docker logs -n 100 assistx-api
# health
curl -fsS http://localhost:8000/health
docker compose -f docker-compose.yml -f compose.host.yml down --remove-orphans
docker compose -f docker-compose.yml -f compose.host.yml build --no-cache api worker
docker compose -f docker-compose.yml -f compose.host.yml up -d