Refactor configuration management; remove deprecated files and unify settings in YAML format

This commit is contained in:
Santiago Martinez-Avial
2025-12-21 17:26:33 +01:00
parent 966e9d547a
commit f860d17206
14 changed files with 195 additions and 318 deletions

View File

@@ -17,7 +17,7 @@ src/helia/
├── analysis/
│ └── extractor.py # Metadata extraction (LLM-agnostic)
├── assessment/
── core.py # Clinical assessment logic (PHQ-8)
── core.py # Clinical assessment logic (PHQ-8)
│ └── schema.py # Data models (AssessmentResult, PHQ8Item)
├── ingestion/
│ └── parser.py # Transcript parsing (DAIC-WOZ support)
@@ -50,6 +50,7 @@ graph TD
- **Clinical Parsing**: Native support for DAIC-WOZ transcript formats.
- **Structured Assessment**: Maps unstructured conversation to validatable PHQ-8 scores.
- **Document Persistence**: Stores full experimental context (config + evidence + scores) in MongoDB using Beanie.
- **Unified Configuration**: Single YAML config with environment variable fallbacks for system settings.
## Roadmap
@@ -67,22 +68,26 @@ uv sync
## Quick Start
1. **Environment Setup**:
1. **Configuration**:
Copy `example.config.yaml` to `config.yaml` and edit it.
```sh
export OPENAI_API_KEY=sk-...
# Ensure MongoDB is running (e.g., via Docker)
cp example.config.yaml config.yaml
```
You can set system settings (MongoDB, S3) in the YAML file, or use environment variables (e.g., `HELIA_MONGO_URI`, `HELIA_S3_BUCKET`).
Provider API keys can be set in YAML or via `{PROVIDER_NAME}_API_KEY` (uppercased), e.g. `ANTHROPIC_API_KEY` for `providers.anthropic`.
2. **Run an Assessment**:
```sh
python -m helia.main "assess --input data/transcript.tsv"
# Ensure MongoDB is running
uv run python -m helia.main config.yaml
```
## Development
- **Linting**: `uv run ruff check .`
- **Formatting**: `uv run ruff format .`
- **Type Checking**: `uv run pyrefly`
- **Type Checking**: `uv run ty check`
## License