LLM RAG project to provide a conversational interface to support information for people [in Northern Ireland/Ireland/UK] affected by a cancer diagnosis
This project uses python 3.14.
Python dependencies are listed in requirements.txt and requirements-dev.txt.
(Instructions assume you are using macOS.)
brew install pyenv
pyenv install 3.14
pyenv local 3.14
python --version # Python 3.14.2, correct 2025-12
python -m venv venv
source venv/bin/activate
python --version # Python 3.14.2, correct 2025-12
For local development purposes, use Ollama to run llama3.2:3b model locally on localhost port 11434.
pip install -r requirements.txt -r requirements-dev.txt
python -m app.cli
In order to test the approach, a terminal CLI version has been created to interact with the LLM.
A proper web-based user interface and User Experience is on the roadmap.
(Terminal window recorded with QuickTime, then animated using ffmpeg.)
What the demo shows:
- Running the CLI tool (python script)
- User providing their question as text input.
- App consuming the user question and replying with a natural language response, sympathetic and tailored towards a user located in Northern Ireland.
pytest --cov=.
Name Stmts Miss Branch BrPart Cover
---------------------------------------------------------------------
app/__init__.py 0 0 0 0 100%
app/assistant_service.py 41 0 10 0 100%
app/cli.py 21 0 4 0 100%
app/llm_base.py 12 0 0 0 100%
app/llm_ollama.py 35 0 8 0 100%
tests/test_cli.py 65 0 0 0 100%
tests/test_llm_base.py 9 0 0 0 100%
tests/test_ollama_chat_model.py 91 0 2 0 100%
tests/test_story_1_1_assistant.py 30 0 0 0 100%
tests/test_story_1_2_symptoms.py 61 0 0 0 100%
tests/test_story_1_3_treatments.py 50 0 0 0 100%
----------------------------------------------------------------------
TOTAL 415 0 24 0 100%
============================== 17 passed in 0.23s ==============================
