Skip to content

[SDK-285] refactor: Allow embedding max throughput setting - #4144

Merged
dexters1 merged 8 commits into
devfrom
parametrize-embedding-semaphor
Jul 30, 2026
Merged

[SDK-285] refactor: Allow embedding max throughput setting#4144
dexters1 merged 8 commits into
devfrom
parametrize-embedding-semaphor

Conversation

@dexters1

Copy link
Copy Markdown
Collaborator

Description

Allow custimization on number of parallel embedding requests

Acceptance Criteria

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Code refactoring
  • Other (please specify):

Screenshots

Pre-submission Checklist

  • I have tested my changes thoroughly before submitting this PR (See CONTRIBUTING.md)
  • This PR contains minimal changes necessary to address the issue/feature
  • My code follows the project's coding standards and style guidelines
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if applicable)
  • All new and existing tests pass
  • I have searched existing PRs to ensure this change hasn't been submitted already
  • I have linked any relevant issues in the description
  • My commits have clear and descriptive messages

DCO Affirmation

I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin.

@dexters1 dexters1 self-assigned this Jul 20, 2026
@dexters1
dexters1 marked this pull request as ready for review July 21, 2026 11:19
@dexters1 dexters1 changed the title refactor: Allow embedding max throughput setting [SDK-285] refactor: Allow embedding max throughput setting Jul 22, 2026
@dexters1
dexters1 merged commit 4a6db8c into dev Jul 30, 2026
190 of 192 checks passed
@dexters1
dexters1 deleted the parametrize-embedding-semaphor branch July 30, 2026 10:30
dexters1 added a commit that referenced this pull request Jul 31, 2026
<!-- .github/pull_request_template.md -->

Allow custimization on number of parallel embedding requests

<!--
* Key requirements to the new feature or modification;
* Proof that the changes work and meet the requirements;
-->

<!-- Please check the relevant option -->
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Code refactoring
- [ ] Other (please specify):

<!-- ADD SCREENSHOT OF LOCAL TESTS PASSING-->

<!-- Please check all boxes that apply before submitting your PR -->
- [ ] **I have tested my changes thoroughly before submitting this PR**
(See `CONTRIBUTING.md`)
- [ ] **This PR contains minimal changes necessary to address the
issue/feature**
- [ ] My code follows the project's coding standards and style
guidelines
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] I have added necessary documentation (if applicable)
- [ ] All new and existing tests pass
- [ ] I have searched existing PRs to ensure this change hasn't been
submitted already
- [ ] I have linked any relevant issues in the description
- [ ] My commits have clear and descriptive messages

I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.

(cherry picked from commit 4a6db8c)
dexters1 added a commit that referenced this pull request Jul 31, 2026
## Description

Release branch for **v1.4.1**, cut from `main` (v1.4.0) with the
highest-impact fixes cherry-picked from `dev`. Every pick applied
cleanly (`cherry-pick -m 1 -x`, PRs are merge commits on dev); original
authorship is preserved.

### Fixes included

| PR | Fix |
|---|---|
| #4253 | Migration: empty key alias emptied entire Letta/Zep imports
(silent data loss) |
| #4261 | Migration: Letta messages with present-but-null content were
dropped |
| #4248 | Migration: `parse_timestamp` now returns tz-aware UTC
datetimes |
| #4153 | Postgres graph + PGVector adapters: missing NUL-byte
sanitization |
| #4235 | LanceDB: batch `delete_data_points` predicates
(`forget(everything=True)` hung indefinitely) |
| #4156 | Ladybug: edge-filtered `get_neighborhood` crashed with Kuzu
internal assertion |
| #4182 | Postgres cache backend: UUID bind type errors + sliding-TTL
deadlocks |
| #4274 | Cypher/NL retrievers crashed on installs without the postgres
extra (carries @teedonk's #4124) |
| #4244 | JSONEncoder: `TypeError` on `datetime.date` values (fixes
#4239) |
| #4195 | OpenRouter embeddings: guard `encoding_format=null` 400 (fixes
#3660) |
| #4158 | `improve()`: allow `dataset_id` |
| `02ad299f1` (via #4272) | Access control: accept kuzu/ladybug provider
aliases in the handler compatibility check — fixes the 7 unit-test
failures (graph methods + pipelines) that were already red on `main`'s
own CI |
| #4257 | Test hygiene: mock-restore autouse fixture in
`test_api_error_responses.py` (stops cross-module mock leakage in
full-suite runs) + estimator Windows absolute-path gate, adapted to
main's ingestion semantics |
| #4285 | SDK-255: let `CogneeApiError` reach HTTP callers in
search/recall/remember/improve routers |
| #4286 | SDK-255: derive the default session id from the dataset when
none is provided |
| #4175 | OAuth framework with Slack support — included so #4232's
migration keeps its original `down_revision` (`b2c4d6e8f0a1`), keeping
the alembic chain identical to dev (adds `cryptography` as a core
dependency) |
| #4232 | Session cache: dedupe session-context entries + unique index
(migration `c3d5e7f9a1b2`) |
| #4203 | Move remaining `examples/python` demos to `examples/demos`
(aligns layout with dev; needed for the offline-test fix below) |
| `bf694d795` (via #4272) | Make the local Ollama example test genuinely
offline — class-level `embed_text` patch so cached engines can't hit the
network (fixes the deterministic `Unit Tests (Mocked, No Secrets)`
failure) |
| #4193 | Silence `ty` unresolved-import for optional PIL in
image_loader (fixes the Code Quality job) |
| #4294 | SDK-255: `improve()` resolves the write dataset once, with
write permission, as a UUID |
| #4056 | `improve()`: remove exception swallowing around session
persistence (fail-fast) |
| #4144 | SDK-285: configurable embedding max throughput
(`embedding_max_concurrent_data_points`, default 150) |
| #4240 | Auto-enable the RPM limiter on overload evidence
(429/503/529/timeouts), with smaller default budgets for local inference
servers; bedrock adapter moved to the shared retry + pacing seam |
| #3994 | SDK-142: simplify LLM configuration — provider inference from
model prefix, instructor-mode table, embedding rate-limit knobs moved to
`EmbeddingConfig` |
| #4243 | Strip the `ollama/` routing prefix in the Ollama adapter
(model-name inference follow-up to #3994) |
| #3588 | Windows: derive basename from backslash paths in Mistral
transcription |
| #4177 | Remove `test_mistral_transcript_basename.py` (collection error
without the `mistral` extra; SDK-250) |
| #4042 | Gate dataset deletion behind the per-dataset pipeline lock
(delete now waits for in-flight cognify) |

Plus a version bump to `1.4.1` (lock file updated in a follow-up
commit).

Notes on adapted picks:
- #4153: its `pyproject.toml`/`uv.lock` changes were dropped — they only
carried a stray `1.4.0.dev0` version bump; the sanitization fix itself
is intact.
- #4257: its two dev-only test files (`test_cognee_error_contract.py`,
`test_contradiction_detection_wiring.py`) don't exist on main and were
dropped; the estimator fix is re-expressed inside main's
`_path_candidate` flow because dev's version relies on ingestion
semantics from unpicked #4155.

### Verification

- The 7 unit-test failures visible on this PR's first CI run are
**inherited from `main`**: the same tests fail on `main`'s own `Test
Suites` run at the base commit `6d5508453` (kuzu-vs-ladybug handler
mismatch). The `02ad299f1` pick fixes them — all 7 pass locally after
the pick.
- 96-test verification batch (api error responses + estimator + graph
methods + pipelines + session flows) passes, including the
mock-poisoning file and its victims in one invocation.
- All 140 unit tests covering the originally picked code pass;
Kuzu/Ladybug adapter integration suite passes (56 passed, 4 xfailed, 2
xpassed); #4158 regression test passes; `pre-commit` (pinned ruff)
passes on all changed files; `uv lock --check` passes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant