Replies: 1 comment 4 replies
|
cc: @shaneutt / @franciscojavierarceo / @szedan-rh |
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
What
Add request/response translation filters so that OpenAI Chat
Completions clients can transparently use AWS Bedrock, Google Vertex AI
(Gemini), Azure OpenAI, and Cohere backends through Praxis — the same
pattern already working for Anthropic Messages via
anthropic_to_openai.Each provider gets a dedicated
HttpFilterunderapis/src/that:binary eventstream decoding for Bedrock
upstream hop (e.g. OpenAI
Authorizationwhen the gateway injectsits own via
credential_inject/gcp_adc/aws_sigv4_sign)One filter per provider, one example config per provider, registered
in
register.rs, with fixture-backed tests.Why
Praxis already sits in the request path doing classification, routing,
credential injection, token counting, and guardrails. The Anthropic
translation path proved the pattern works. But four major providers
remain uncovered — forcing operators to either:
Adding translation filters eliminates the second hop and keeps all
AI gateway concerns in one place: one config file, one credential
boundary, one observability surface.
Prior work
This resumes praxis-proxy/ai#114 (Epic: Schema translation); a previous
proposal (praxis-proxy/ai#761) and per-provider sub-tasks (praxis-proxy/ai#778–#781)
were closed when proposals moved to praxis-proxy/enhancements, not because the work was completed.
praxis-proxy/ai#363 (Epic: API Translation) covers OpenAI/Anthropic and explicitly defers these four providers to #114.
Scope
and binary eventstream decoding (Bedrock)
Out of scope
by existing filters and tracked separately.
All reactions