All providers and native orchestration
DeepIntShield Server and Python SDK 2.8.3 provide a common inference path through native OpenAI clients. Configure the gateway URL and virtual key, then select a provider-qualified model for each request. The gateway manages provider credentials, routing, applicable guardrails and metering.
Your framework keeps its agents, graphs, tools, memory and execution. Inference routing and Agentic tool governance have separate setup requirements.
Connection and inference
Section titled “Connection and inference”An existing OpenAI application can use the gateway without importing the DeepIntShield Python package:
export OPENAI_BASE_URL="https://app.deepintshield.com/v1"export OPENAI_API_KEY="sk-ds-your-virtual-key"from openai import OpenAI
with OpenAI() as client: result = client.chat.completions.create( model="anthropic/claude-sonnet-4-5", messages=[{"role": "user", "content": "Hello"}], ) print(result.choices[0].message.content)Replace the example model with one enabled for your provider account and key. Explicit client constructor options override environment defaults. Preserve nested model paths, version suffixes and Azure deployment names after the provider prefix. Bare model names follow the gateway’s existing routing rules.
For SDK connection helpers:
pip install "deepintshield==2.8.3"export DEEPINTSHIELD_BASE_URL="https://app.deepintshield.com"export DEEPINTSHIELD_VIRTUAL_KEY="sk-ds-your-virtual-key"from deepintshield import DeepintShield
with DeepintShield.from_env() as shield: with shield.openai() as client: result = client.responses.create( model="openai/gpt-4o-mini", input="Explain retrieval-augmented generation in one sentence.", ) print(result.output_text)OpenAI is a core SDK dependency; the openai extra remains an installation
alias. shield.openai() and shield.async_openai() return native clients at
/openai. Close each native client independently of its parent. For
application-owned clients, use shield.openai_config() with OpenAI or
AsyncOpenAI; this supplies connection options and does not install the
shortcut’s automatic prompt-cache transport hook.
The SDK passes model IDs and request parameters through without model discovery before inference. A shared client does not make every model support every operation. Select Chat Completions, Responses, embeddings, images, speech, transcription or video according to the model. Reranking and OCR use their documented gateway APIs.
All 29 provider identities
Section titled “All 29 provider identities”The routing contract covers every discovered or configured model under these identities, including new and private model IDs. The operation registry describes implemented adapters; model metadata and account access further restrict what can actually run. Inclusion here is not a claim that every provider implements every OpenAI endpoint, or that an account has access to every model.
| # | Provider | Routing prefix | Selection considerations |
|---|---|---|---|
| 1 | OpenAI | openai/ | Select Chat or Responses for the model; modality-specific endpoints for non-chat models. |
| 2 | Anthropic | anthropic/ | Gateway translates messages/tools and thinking constraints. |
| 3 | Azure | azure/ | Use the configured deployment identifier; credentials and endpoint stay on the gateway. |
| 4 | Bedrock | bedrock/ | Preserve model/inference-profile IDs; AWS authentication stays on the gateway. |
| 5 | Bedrock Mantle | bedrock-mantle/ | Separate adapter and account configuration from Bedrock Runtime. |
| 6 | Gemini | gemini/ | Use model-specific text, embedding, image, audio, or video operations. |
| 7 | Vertex | vertex/ | Project/location and publisher routing are gateway configuration. |
| 8 | Cohere | cohere/ | Chat and embeddings use common methods; rerank uses its gateway API. |
| 9 | Mistral | mistral/ | Chat, embedding and transcription support varies by model; OCR has a separate API. |
| 10 | DeepSeek | deepseek/ | Reasoning and tool options follow the selected model’s contract. |
| 11 | Groq | groq/ | Separate text and audio models by operation. |
| 12 | Cerebras | cerebras/ | Text inference with the model’s supported parameters. |
| 13 | xAI | xai/ | Select text or image operations as advertised for the model. |
| 14 | OpenRouter | openrouter/ | Preserve nested upstream model identifiers after the gateway prefix. |
| 15 | Hugging Face | huggingface/ | Preserve repository IDs; task and inference availability are model-dependent. |
| 16 | Fireworks | fireworks/ | Preserve account/model paths; select text or embedding models. |
| 17 | Parasail | parasail/ | Dedicated provider identity; this registry has no Together identity. |
| 18 | Nebius | nebius/ | Select text, embedding, or image models by capability. |
| 19 | Perplexity | perplexity/ | Text/search model options and returned citations are provider-dependent. |
| 20 | Ollama | ollama/ | Gateway endpoint and locally installed model inventory determine availability. |
| 21 | vLLM | vllm/ | Preserve served-model aliases; deployed task determines operations. |
| 22 | SGL / SGLang | sgl/ | Use the deployed model’s served name and operation. |
| 23 | Replicate | replicate/ | Model/version schemas and supported task adapters differ. |
| 24 | Sarvam | sarvam/ | Select text, speech, or transcription models and required language/voice inputs. |
| 25 | Wafer | wafer/ | Text inference uses the gateway’s dedicated adapter. |
| 26 | OpenCode Go | opencode-go/ | Preserve the provider’s model ID. |
| 27 | OpenCode Zen | opencode-zen/ | Separate credentials/routing identity from OpenCode Go. |
| 28 | ElevenLabs | elevenlabs/ | Speech/transcription operations; speech requires an appropriate voice ID. |
| 29 | Runway | runway/ | Image/video operations; model-specific reference inputs and task polling. |
Runnable multimodal examples
Section titled “Runnable multimodal examples”The SDK multimodal guide covers image and PDF understanding, image generation, speech, transcription, video jobs and uploaded-file lifecycle. Use explicit models and native parameters. Video polling and binary downloads need their own completion, timeout and output handling.
For translated Responses streams, use native final-response helpers and inspect terminal status, errors and refusal items. Previously received text cannot make an incomplete or interrupted stream successful. See streaming responses.
Native frameworks and orchestration
Section titled “Native frameworks and orchestration”| Framework | Current connection helper |
|---|---|
| LangChain / LangGraph | shield.bind("langchain").model(...) or .embedder(...); native graph/chains remain in the framework. |
| PydanticAI | shield.bind("pydanticai").model(..., api="responses") or api="chat_completions", passed to a native Agent. |
| OpenAI Agents | Native model binders select Chat Completions or Responses; the framework retains its runner and tools. |
| LlamaIndex, AutoGen, Strands, Google ADK | Use the corresponding native binder and declared extra. |
| Temporal | Construct the inference client inside the activity; Temporal owns workflow execution and retries. |
See providers and frameworks for exact signatures, client ownership and compatible dependency sets. Optional frameworks have different OpenAI/protobuf requirements; select the extras used by the application instead of assuming all latest frameworks install together.
For plain existing framework applications, a gateway URL and virtual key route inference. When DeepIntShield Agentic hooks are active, local tool/workflow execution also follows enrolled agent identity, discovery and policy decisions. Model binders do not replace those requirements. MCP tools attached by the gateway are distinct from a framework’s local Python tools.
Generic Playground
Section titled “Generic Playground”The Playground loads model inventory and operation controls from provider/model metadata. Known unsupported operations and inputs are hidden or rejected; an unknown model remains selectable with an explicit operation choice. A successful text request is not proof that the same model supports PDFs, audio or video.
Changing provider/model clears incompatible parameters. Saved sessions preserve their operation settings and structured Responses conversation items; uploaded inputs must be selected again when reopening. Video content stays behind the gateway’s authenticated download path.
Optional provider-native APIs
Section titled “Optional provider-native APIs”Use shield.anthropic(), shield.bedrock() or shield.genai() when an
application needs a provider-native surface. Install its extra and follow its
connection guide. These optional routes
retain virtual-key authorization and provider-specific capability limits.
The common path is an API translation route. Native provider exceptions and unrepresented provider-only features do not become identical across providers. For supported HTTP passthrough operations, see passthrough.
Compatibility, performance and validation
Section titled “Compatibility, performance and validation”- Gateway adapters, model capabilities, provider account access and virtual-key policy all determine whether an operation can run.
- Inline PDF inspection extracts supported embedded text under resource limits. Image metadata extraction is not pixel OCR. Provider file IDs and remote URLs are not resolved by the attachment extractor.
- Dedicated multimodal guard paths require the server’s
GUARDRAILS_MULTIMODAL=truesetting. Raw audio/video inspection is not added by choosing a common client. See multimodal boundaries. - Stream output inspection cannot recall text already delivered. Use buffering or nonstreaming inference if a complete policy verdict must precede display.
- Network, provider, conversion and policy work have real latency. Measure your deployment with the actual enabled controls and workload.
Upgrade to 2.8.3
Section titled “Upgrade to 2.8.3”Install deepintshield==2.8.3 and the extras your application uses. Check the
server version for your deployment separately. Review native Responses stream
handling and dependency-set guidance before upgrading an existing application.
See the 2.8.3 release notes.