Nous.StreamNormalizer.OpenAI (nous v0.15.5)
View SourceDefault stream normalizer for OpenAI-compatible providers.
Handles:
- OpenAI, Groq, OpenRouter (via OpenaiEx structs with atom keys)
- LM Studio, vLLM, SGLang, Ollama (string-keyed maps)
- Non-streaming fallback (message instead of delta)
- Thinking/reasoning tokens (vLLM: reasoning, DeepSeek/SGLang: reasoning_content)
Supported Providers
| Provider | Format | Notes |
|---|---|---|
| OpenAI | Atom keys | Via OpenaiEx structs |
| Groq | Atom keys | Via OpenaiEx structs |
| OpenRouter | Atom keys | Via OpenaiEx structs |
| LM Studio | String keys | May return message instead of delta |
| vLLM | String keys | SSE format, reasoning field |
| SGLang | String keys | SSE format, reasoning_content field |
| Ollama | String keys | OpenAI-compatible endpoint |
| DeepSeek | String keys | reasoning_content field |