llama-stack-mirror/client-sdks/stainless
Charlie Doern b1851dc9ef feat: add reasoning and reasoning_content fields to OpenAI message types
Add support for reasoning fields in OpenAI-compatible chat completion
messages to enable compatibility with vLLM reasoning parsers.

Changes:
- Add `reasoning_content` and `reasoning` fields to OpenAIAssistantMessageParam
- Add `reasoning` field to OpenAIChoiceDelta (reasoning_content already existed)

Both field names are supported for maximum compatibility:
- `reasoning_content`: Used by vLLM ≤ v0.8.4
- `reasoning`: New field name in vLLM ≥ v0.9.x

vLLM documentation recommends migrating to the shorter `reasoning` field
name, but maintains backward compatibility with `reasoning_content`.

These fields allow reasoning models to return their chain-of-thought
process alongside the final answer, which is crucial for transparency
and debugging with reasoning models.

References:
- vLLM Reasoning Outputs: https://docs.vllm.ai/en/stable/features/reasoning_outputs/
- vLLM Issue #12468: https://github.com/vllm-project/vllm/issues/12468

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2025-12-01 14:32:30 -05:00
..
config.yml feat(openapi): generate stainless config "more" programmatically (#4164) 2025-11-17 12:48:03 -08:00
openapi.yml feat: add reasoning and reasoning_content fields to OpenAI message types 2025-12-01 14:32:30 -05:00
README.md feat(openapi): generate stainless config "more" programmatically (#4164) 2025-11-17 12:48:03 -08:00

These are the source-of-truth configuration files used to generate the Stainless client SDKs via Stainless.

  • openapi.yml: this is the OpenAPI specification for the Llama Stack API.
  • config.yml: this is the Stainless configuration which instructs Stainless how to generate the client SDKs.

A small side note: notice the .yml suffixes since Stainless uses that suffix typically for its configuration files.

These files go hand-in-hand. Both openapi.yml and config.yml are generated by scripts/run_openapi_generator.sh:

  • openapi.yml comes from the FastAPI-based generator.
  • config.yml is rendered from scripts/openapi_generator/stainless_config/config_data.py so the Stainless config stays in lock-step with the spec.