mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-25 01:02:15 +00:00
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
26 lines
529 B
TOML
26 lines
529 B
TOML
[package]
|
|
name = "litellm-http"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
|
|
[features]
|
|
test-support = []
|
|
|
|
[dependencies]
|
|
http.workspace = true
|
|
litellm-core-utils.workspace = true
|
|
hyper-util.workspace = true
|
|
reqwest.workspace = true
|
|
rustls.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
tokio.workspace = true
|
|
veil.workspace = true
|
|
webpki-roots.workspace = true
|
|
|
|
[dev-dependencies]
|
|
rstest.workspace = true
|
|
tokio.workspace = true
|