Skip to content

Release/v0.3.2#79

Merged
thomashebrard merged 17 commits intomainfrom
release/v0.3.2
Jun 13, 2025
Merged

Release/v0.3.2#79
thomashebrard merged 17 commits intomainfrom
release/v0.3.2

Conversation

@lchoquel
Copy link
Copy Markdown
Member

📝 Description

  • Improved automatic insertion of class structure from BaseModel into prompts, based on the PipeLLM's output_concept. New unit test included.
  • The ReportingManager now reports costs for all pipeline IDs when no pipeline_run_id is specified.
  • The make_from_str method from the StuffFactory class now uses Text context by default.

🔄 Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 💥 Breaking change
  • 📚 Documentation update
  • 🧹 Code refactor
  • ⚡ Performance improvement
  • ✅ Test update

lchoquel and others added 17 commits June 9, 2025 14:42
### Highlight

- Structured input specs as dicts: required_variable → concept_code
- Static validation of inputs for inference pipes: PipeLLM, PipeOcr and PipeImgGen: you can now catch mistakes in your pipelines without running any operation
    - `static_validation_config` to decide how to react to errors, kind of like pyright settings: for each type of error you can choose `raise`, `log` or `ignore` , with a general default of course
- Dry run validation catches errors in pipelines by running them without any inference, so it’s fast, costs nothing and works without internet, which makes it suitable for validating pipelines (like a linter) and this can even be used by agents like Cursor and Codex (more on that soon)
    - Dry run pipes without inference
    - `dry_run_config` to enable/disable jinja2 rendering during dry run
    - Added dependency to polyfactory for mock pydantic model generation
    - Improved Error handling for bad inputs during `run_pipe`, which works in dry run too, that's the purpose

### Tests

- Added pytest option `-pipe-run-mode` to `shared_pytest_plugins.py`, values `live` or `dry`, **default = `dry`**
- Made all the test_pipe apply pipe_run_mode
- Introduced a new pytest marker `pipelex_api`, applied to client methods instead of inference, llm etc.
- Added target `make test-pipelex-api` aka `make ta` to run just the client methods

### Refactor

- New way (simpler and way more elegant) to wrap inference worker methods (llm, image gen, ocr): instead of the `job_func` decorators, it uses a base method that calls a private abstract method implemented by each worker, and does stuff before and after

### Fixes

- Fixed logged error regarding pipe stack and PipeParallel
- Restored pipe tracker functionality, which no longer crashes when using stuff attributes as inputs
### 📝 Description
- Remove smelly validation of None PipeOcr fields

### 🔄 Type of Change
- [X] 🐛 Bug fix
- [ ] ✨ New feature
- [ ] 💥 Breaking change
- [ ] 📚 Documentation update
- [ ] 🧹 Code refactor
- [ ] ⚡ Performance improvement
- [ ] ✅ Test update
### 🔗 Related Issues

### 📝 Description
- Added pytest marker `dry_runable`
- Added `make` targets more powerful thanks to dry run: more test coverage by dry running pipes without inference
- Added "-n auto" to gha and codex test targets in order to use pytest-xdist and be faster by using multiple CPUs

### 🔄 Type of Change
- [ ] 🐛 Bug fix
- [X] ✨ New feature
- [ ] 💥 Breaking change
- [ ] 📚 Documentation update
- [ ] 🧹 Code refactor
- [ ] ⚡ Performance improvement
- [X] ✅ Test update
### 📝 Description

* Be more lax on having domain definition: it's now Optional

### 🔄 Type of Change
- [ ] 🐛 Bug fix
- [X] ✨ New feature
- [ ] 💥 Breaking change
- [ ] 📚 Documentation update
- [ ] 🧹 Code refactor
- [ ] ⚡ Performance improvement
- [ ] ✅ Test update

### 🧪 Tests

* tests/test_pipelines/failure_modes.toml has no domain definition set, and it's OK
- Added a better printing of class structure (corresponding to the `output_concept_code`) at the end of the prompts. (Coming with UT)
- The ReportingManager now reports all `pipeline_run_id` when none is provided
- The `make_from_str` method from the `StuffFactory` now has a default value for `concept_code`: `native.Text`
# Conflicts:
#	CHANGELOG.md
#	README.md
@lchoquel lchoquel marked this pull request as ready for review June 13, 2025 00:17
Copy link
Copy Markdown
Member

@thomashebrard thomashebrard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

go

@thomashebrard thomashebrard merged commit 9ca4e6b into main Jun 13, 2025
15 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 13, 2025
@thomashebrard thomashebrard deleted the release/v0.3.2 branch June 13, 2025 11:30
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants