Summary
Patch release: Groq model migration and LLM resilience for the public Streamlit demo — moves the cloud default from deprecated Llama models to openai/gpt-oss-20b, auto-migrates legacy Groq IDs (8b → 20b, 70b → 120b), and adds retrieval-only fallback so users still get MITRE/KEV sources when the LLM is unavailable or misconfigured.
Live demo: https://threat-intelligence-rag-assistant.streamlit.app/
What's new
Groq migration (proactive)
- Cloud default LLM:
openai/gpt-oss-20b(replacesllama-3.1-8b-instant; Groq shutdown 2026-08-16) - Settings auto-migrate deprecated IDs:
llama-3.1-8b-instant→openai/gpt-oss-20bllama-3.3-70b-versatile→openai/gpt-oss-120b
- Updated
.env.example,docker-compose.yml, and README tech stack / validation baseline
Retrieval-only fallback (reactive)
- When LLM generation fails after retrieval, return formatted MITRE/KEV sources without synthesis (
RETRIEVAL_ONLY_FALLBACK=trueby default) - Streamlit sidebar warning and toast for degraded retrieval-only mode
- Clearer Groq 404 / model unavailable error mapping
Testing and docs
- RAG integration tests — full
chain.invokepath verifies answer, sidebar-equivalent sources, and confidence (CI: mocked LLM; optional live Groq whenGROQ_API_KEYis set) - README Resilience bullet under Safety; docs/architecture.md updated for degraded mode and v1.1.2
Quick start
Unchanged from v1.1.1 — see README Quick Start.
git clone https://github.com/rvong65/threat-intelligence-assistant.git
cd threat-intelligence-assistant
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # Windows: copy .env.example .env
streamlit run app.pyDocker:
git clone https://github.com/rvong65/threat-intelligence-assistant.git
cd threat-intelligence-assistant
docker compose up --build
# open http://localhost:8501