Yujong Lee
2b257bd9a3
feat(cache-redis): expose the pooled connection handling for reuse
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:23:28 +00:00
Yujong Lee
769917a7e8
revert(rust-wheel): restore release optimization
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:22:15 +00:00
Yujong Lee
4509eb9914
fix(cache): align native semantic cache scope keys
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:22:01 +00:00
Yujong Lee
0d09e9d892
fix(rust-wheel): reduce native extension size
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 21:04:57 +00:00
Yujong Lee
56237af7a9
test(cache): add Valkey semantic contract coverage
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:42:41 +00:00
Yujong Lee
4db3481244
feat(python-bridge): serve ValkeySemanticCache natively
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:33:32 +00:00
Yujong Lee
1f86bb8e46
feat(cache-valkey-semantic): add native Valkey semantic cache backend
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:24:34 +00:00
Yujong Lee
df97b274fc
refactor(cache-response): generalize ResponseCache over the backend context
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:21:19 +00:00
Yujong Lee
d2f457f144
feat(cache): add semantic cache context and unsupported operation error
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-21 20:20:31 +00:00
Yujong Lee
991108cc48
refactor(rust): align cache foundation with Python backends
2026-09-21 12:50:21 -07:00
Yujong Lee
efcafa7f12
fix(rust): invalidate changed Redis pool settings
2026-09-21 12:30:17 -07:00
Yujong Lee
14febcc878
fix(rust): shrink cache configuration bridge
2026-09-21 12:22:18 -07:00
Yujong Lee
59dbbe5ce7
fix(cache): outline Python configuration extraction
2026-09-21 12:10:06 -07:00
Yujong Lee
cda8904382
fix(cache): keep native wheel within size budget
2026-09-21 12:03:13 -07:00
Yujong Lee
a7bc8e373e
feat(cache): project Python backend configuration
2026-09-21 11:56:04 -07:00
Yujong Lee
22995d1575
fix(cache): remove redundant source comments
2026-09-21 11:23:47 -07:00
Yujong Lee
1b6b704ddd
refactor(cache): keep native foundation isolated
2026-09-21 11:15:44 -07:00
Yujong Lee
595711829a
wip
2026-09-21 10:30:42 -07:00
Yujong Lee
dc5f0c58a4
feat(cache): add native backend operation primitives
2026-09-21 10:21:54 -07:00
Yujong Lee
ef14fdaf33
fix(cache): harden native foundation parity
2026-09-21 09:53:41 -07:00
Yujong Lee
da402b8aee
fix(cache): preserve batch callback contracts
2026-09-21 08:27:17 -07:00
Yujong Lee
9783b7a377
docs(cache): align native cache follow-up scope
2026-09-21 07:56:58 -07:00
Yujong Lee
cc8cadebb4
fix(cache): close native parity gaps
2026-09-21 07:56:20 -07:00
Yujong Lee
0c3a0a2089
refactor(cache): separate response policy and host selection
2026-09-20 21:11:48 -07:00
Yujong Lee
081c93908f
feat(cache): add native response cache and Python binding foundations
2026-09-20 20:55:45 -07:00
Yujong Lee
95cf7066d1
refactor(cache): use static dispatch and typed backend codecs
2026-09-20 20:38:13 -07:00
Yujong Lee
e3f69fc4d8
refactor(rust): define consistent secret lookup contracts
2026-09-20 19:08:25 -07:00
Yujong Lee
82bc67b122
feat(rust): add typed secret managers and shared auth adapters
2026-09-20 16:09:20 -07:00
Yujong Lee
3fd2dd635b
refactor(rust): split auth facade from shared types
2026-09-20 15:45:38 -07:00
Yujong Lee
661da87c91
fix(rust): validate tokenizer ranks and cover backend features
2026-09-20 15:13:59 -07:00
Yujong Lee
56c5d31e73
test(rust): run fast token counter parity tests by default
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 21:52:48 +00:00
Yujong Lee
831810248a
refactor(rust): keep the Python token counter on the fast backend
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 21:49:39 +00:00
Yujong Lee
a619b765fc
refactor(rust): simplify tokenizer bridge features
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 21:25:19 +00:00
Yujong Lee
9b2b3d0b90
refactor(rust): align tokenizer docs and lint
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-20 21:21:52 +00:00
Yujong Lee
84c26978a3
refactor(rust): split token counter backends
2026-09-20 14:10:31 -07:00
Yujong Lee
ad8ac449fc
style(rust): format renamed callback adapter
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 23:08:37 +00:00
Yujong Lee
df84fef96e
refactor(rust): rename legacy callback adapter crate
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 23:06:26 +00:00
yujonglee
d675c1285b
Merge pull request #41987 from BerriAI/litellm_rust_fork_safety
...
fix(rust): refuse native routes in processes forked after the runtime started
2026-09-19 13:47:54 -07:00
Yujong Lee
8c21a988b7
fix(ocr): set DeepSeek OCR sampling defaults
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 18:31:49 +00:00
Yujong Lee
cc23e5781e
refactor(rust): drop a comment that repeats the reserve doc
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 18:22:06 +00:00
Yujong Lee
38fa8a7f55
fix(rust): leave the fork gate untouched when a late reservation is refused
...
reserve() stored fork_only_pid before noticing the runtime already ran under that pid, so a refused reservation still reserved the process: the next enter() cleared the runtime claim and children forked afterwards inherited a dead runtime and hung. Undo the reservation on the error path so the gate is exactly as it was.
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 18:21:32 +00:00
Yujong Lee
752647d146
wip
2026-09-19 10:41:41 -07:00
Yujong Lee
bb44fe5292
wip
2026-09-19 10:36:59 -07:00
yujonglee
bd82d73ca1
Merge pull request #41981 from BerriAI/litellm_rust_typed_pyo3
...
refactor(rust): use typed pyo3 APIs instead of getattr/import strings
2026-09-19 10:09:34 -07:00
Yujong Lee
619a19b8a2
refactor(rust): use typed pyo3 APIs instead of getattr/import strings
...
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-09-19 16:46:34 +00:00
Yujong Lee
eb502824f0
fix stuff
2026-09-19 09:32:46 -07:00
Yujong Lee
c404bed9f0
feat(rust): add Amazon Textract to litellm.ocr and sign provider requests after host hooks
...
Add an aws_textract OCR provider on the Rust route, with no Python path. The
detect-document-text model returns plain lines and analyze-document renders
layout and tables as markdown. Both use Textract's synchronous API, so a
multi-page PDF or TIFF is rejected with an error that names the single-page
limit. A call with no region fails instead of falling back to Bedrock's default
SigV4 covers the request body, and host hooks can rewrite that body before it
is sent. litellm-http now has OutboundRequest, which serializes the body once,
shows those bytes to a RequestSigner and is the only thing a route can send.
Chat, audio transcription and OCR build it after their hooks ran, so a callback
that redacts the body still produces a valid Bedrock or Textract signature
ChatCompletionsAuth and AudioTranscriptionAuth are replaced by
litellm_auth::RequestAuth, and one helper in core turns it into a signed or
unsigned request. Audio transcription now signs only the AWS header set and
rejects a forwarded header that SigV4 computes, the same as chat
The OCR catalog routes aws_textract as Rust required, and the dispatch context
reads the provider from the model prefix so a provider scoped rule can match
2026-09-19 09:11:52 -07:00
yujonglee
362be56bb0
Merge pull request #41969 from BerriAI/litellm_rust_settings_layers
...
refactor(rust): centralize layered settings resolution
2026-09-19 09:00:19 -07:00
Yujong Lee
e2397e7dd3
fix(rust): drop http_proxy under CGI where environment names ignore case
2026-09-19 08:37:27 -07:00
Yujong Lee
1669213eb5
fix(rust): read OCR secrets from the process environment and decline when a secret manager is readable
...
The OCR route called back into Python's get_secret_str for every env
fallback. With no secret manager configured that is os.environ behind a GIL
hop, and with one configured it blocked a tokio worker on vault I/O and also
sent the Azure and GCP identity variables, which Python reads with os.getenv,
to the vault. The other Rust routes already read the process environment.
Read the process environment here too. When litellm would read secrets from
a secret manager, decline the Rust route so the Python route serves the call
with the vault-backed keys
2026-09-19 08:32:46 -07:00