Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ jobs:
- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
python -m pip install -r requirements.txt
python -m pip install -e .

- name: Run tests
run: pytest -q
7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
.env
venv/*
*.csv
*.xlsx
**/__pycache__
**egg-info
*.DS_Store
*ipynb_checkpoints
*.vscode
.github/instructions/
.github/instructions/
.idea/
Davis_atamis_test.xlsx
nhs_data_evaluation.py
tenders_experiment.ipynb
34 changes: 19 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# ccs-contract-map
# ccs-contract-map


This repository provides a tool to automatically label contract descriptions using the CCS categories. It leverages a Large Language Model (LLM) to classify contract descriptions into predefined categories accurately and consistently.
Expand Down Expand Up @@ -59,6 +59,24 @@ The experiment was ran using `evaluation/run_demo_v2.py`
2. Processing: LLM uses the system prompt to understand how to categorise the given contract description
3. Output: A single CCS category label that best fits the contract description is outputted by LLM

## How To Install Locally

1. Create a venv:
```
python -m venv venv
```
2. Load the venv:
```
source venv/bin/activate
```
3. Update pip:
```
python -m pip install --upgrade pip
```
4. Install the dependencies:
```
python -m pip install -r requirements.txt
```

## Developer Tooling (Pre-commit, Ruff, pytest)

Expand All @@ -68,20 +86,6 @@ This project uses:
- [Ruff](https://docs.astral.sh/ruff/) for fast linting.
- [pytest](https://docs.pytest.org/) for unit testing.

### Install tooling

If you already installed dependencies from `requirements.txt`, install the remaining developer tools:

```bash
python -m pip install pre-commit ruff
```

Or install all at once:

```bash
python -m pip install -r requirements.txt pre-commit ruff
```

### Set up pre-commit hooks

Install hooks locally:
Expand Down
27 changes: 27 additions & 0 deletions requirements.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Base Tools (Add these!)
pip
pip-tools

# Core Framework
langchain
langchain-core
langchain-community
langchain-openai

# Environment & Data
python-dotenv
pandas

# API & Server
fastapi
uvicorn

# Azure Integration
azureml-mlflow
azure-ai-ml
azure-identity

# Development & Testing
pytest
ruff
pre-commit
Loading
Loading