Groq
Overview
Section titled “Overview”Groq is an OpenAI-compatible provider offering the same API interface with identical parameter handling. DeepIntShield delegates most functionality to the OpenAI provider implementation with minimal modifications. Key features:
- Full OpenAI compatibility - Identical request/response format
- Streaming support - Server-Sent Events with delta-based updates
- Tool calling - Complete function definition and execution support
- Text completion fallback - Via litellm compatibility mode when enabled
- Parameter filtering - Removes unsupported OpenAI-specific fields
Supported Operations
Section titled “Supported Operations”| Operation | Non-Streaming | Streaming | Endpoint |
|---|---|---|---|
| Chat Completions | ✅ | ✅ | /v1/chat/completions |
| Responses API | ✅ | ✅ | /v1/chat/completions |
| Text Completions | ⚠️ | ⚠️ | Via internal conversion |
| List Models | ✅ | - | /v1/models |
| Embeddings | ❌ | ❌ | - |
| Image Generation | ❌ | ❌ | - |
| Speech (TTS) | ❌ | ❌ | - |
| Transcriptions (STT) | ❌ | ❌ | - |
| Files | ❌ | ❌ | - |
| Batch | ❌ | ❌ | - |
1. Chat Completions
Section titled “1. Chat Completions”Request Parameters
Section titled “Request Parameters”Groq supports all standard OpenAI chat completion parameters. For full parameter reference and behavior, see OpenAI Chat Completions.
Dropped Parameters
Section titled “Dropped Parameters”These parameters are silently removed before sending to Groq:
prompt_cache_key- Not supportedverbosity- Anthropic-specificstore- Not supportedservice_tier- Not supported
Reasoning Parameter
Section titled “Reasoning Parameter”Groq supports reasoning via the standard reasoning_effort field:
// Request with reasoning{ "model": "llama-3.3-70b-versatile", "messages": [...], "reasoning_effort": "high"}DeepIntShield converts from the internal Reasoning structure to reasoning_effort string.
Message Conversion
Section titled “Message Conversion”Groq uses OpenAI message format with the following content type limitations:
Content Types Supported:
- ✅ Text content (strings)
- ❌ Images (neither URL nor base64)
- ❌ Audio input
- ❌ Files
For all other message handling, tools, responses, and streaming formats, refer to OpenAI Chat Completions.
2. Responses API
Section titled “2. Responses API”The Responses API is converted internally to Chat Completions:
// Responses request → Chat request conversionrequest.ToChatRequest() → ChatCompletion → ToDeepIntShieldResponsesResponse()Same parameter mapping and message conversion as Chat Completions. Response format differs slightly with output items instead of message content.
3. Text Completions (Litellm Fallback)
Section titled “3. Text Completions (Litellm Fallback)”When enabled, text completion requests are converted to chat completions:
// Text completion → Chat completion conversion1. Wrap prompt in chat message2. Call ChatCompletion3. Extract text from response4. Format as TextCompletionResponseLimitations:
- Uses chat API (different from native text completion)
- Single choice only (n=1)
- Streaming not available
4. List Models
Section titled “4. List Models”Groq’s model listing endpoint returns available models with their context lengths and capabilities.
Unsupported Features
Section titled “Unsupported Features”| Feature | Reason |
|---|---|
| Image URLs | Groq doesn’t support image inputs |
| Image Base64 | Groq doesn’t support image inputs |
| Multiple Images | Groq doesn’t support image inputs |
| Embedding | Not offered by Groq API |
| Speech/TTS | Not offered by Groq API |
| Transcription/STT | Not offered by Groq API |
| Batch Operations | Not offered by Groq API |
| File Management | Not offered by Groq API |
Caveats
Section titled “Caveats”User Field Size Limit
Severity: Low Behavior: User field > 64 characters is silently dropped Impact: Longer user identifiers are lost Code: SanitizeUserField enforces 64-char max