Copy .env.example to .env.
cp .env.example .envUpdate it with your values if desired.
cd ar_lab_assistant && uv venv --python 3.11 .venvsource .venv/bin/activateuv pip install -e .pip install faiss-cpu sentence-transformers langchain-community langchain-text-splitters pypdf# Return to project root and load configuration
cd .. && source <(python3 load_config.py)This generates ar_lab_assistant/config.js for the frontend and exports backend environment variables.
cd ar_lab_assistant && nat serve --config_file src/ar_lab_assistant/configs/config.yml --port ${BACKEND_PORT:-8000} --host 0.0.0.0To see code changes, you can Ctrl+C to shut down the server and then restart it.
cd ar_lab_assistant && python3 -m http.server ${FRONTEND_PORT:-8080}http://${BACKEND_HOST}:${FRONTEND_PORT}/websocket_frontend.html
For example, it might look something like this (using default values here):
http://localhost:8080/websocket_frontend.html
- "What tools are needed for this experiment?"
- "Why are forceps needed for this experiment?"
- "Let's get started"
- "Can you log this session?"
- Reduce latency of the ReAct agent in the Q&A function
- Increase overall robustness (add better conversation history, Internet Search tool fallback, etc)
- Add a VLM tool to the ReAct agent in the Q&A function
- Display logged past conversations in the UI
- Code clean-up