Files
doczyai-pipelines/fieldExtraction
Alex Galarce 0230d07dda Merged in feature/split-reimbursements (pull request #593)
Feature/split reimbursements

* Update reimbursement test cases to reflect accurate reimbursement terms and improve deduplication logic

* move VALIDATE_REIMBURSEMENTS_PROMPT to investment_prompts.py

* black, isort formatting

* Remove IDENTIFY_REIMBURSEMENT_EXHIBITS_PROMPT function (unused)

* Add MODEL_ID_CLAUDE4_SONNET for new model integration (doesn't work right now)

* pipe delimited-output and parsing

* Merge remote-tracking branch 'origin/main' into feature/split-and-filter-reimbursements

* Merge remote-tracking branch 'origin/main' into feature/split-reimbursements

* Add functionality to split compound reimbursement terms into distinct methodologies

* splitting logic for reimbursement terms

* put in split compound reimbursement step

* Fix JSON output formatting in reimbursement terms example

* reimbursement splitting: move prompt to investment_prompts.py, move keywords to investment_values.py

* Merge remote-tracking branch 'origin/main' into feature/split-reimbursements

* Merge remote-tracking branch 'origin/main' into feature/split-reimbursements

* Change order (split -> filter over filter -> split), improve logging

* Refactor reimbursement filtering logic to use a two-stage approach with pattern-based negative filtering and LLM validation

* Replace clear reimbursement indicators with obvious non-reimbursement indicators for improved clarity in reimbursement filtering

* Simplify reimbursement filtering by removing pattern-based checks and relying solely on LLM validation

* Remove obvious non-reimbursement indicators from reimbursement filtering keywords

* Enhance reimbursement level test by adding LLM validation and updating mock return values for service terms

* Merge remote-tracking branch 'origin/main' into feature/split-reimbursements

* Fix failing test

* Merge remote-tracking branch 'origin/main' into feature/split-reimbursements

* update mock return values to fix failed tests


Approved-by: Siddhant Medar
2025-07-02 17:33:18 +00:00
..

Field Extraction

Running the Code

This project uses Python's module system for imports. To run the code properly:

  1. DO NOT run files directly like this:

    python src/client/main.py  # ❌ This won't work
    
  2. INSTEAD, use Python's module flag (-m) from the project root:

    python -m src.client.main  # ✅ This is correct
    

Why?

The code uses absolute imports (e.g., from src.utils import llm_utils) to maintain a clear and consistent package structure. Running with python -m ensures Python can properly resolve these imports.

Development

  • All imports should use the src. prefix (e.g., from src.utils import llm_utils)
  • Always run code from the project root directory using the -m flag
  • Tests are configured to handle these imports automatically via pytest settings in pyproject.toml

Configuration

The project uses poetry for dependency management and pytest for testing. Key configurations in pyproject.toml:

[tool.pytest.ini_options]
pythonpath=["."]
testpaths = [
    "tests"
]

Dependencies

To install dependencies:

poetry install

To run tests:

poetry run pytest

To run type checking:

poetry run mypy .