Skip to content

Better handling of custom fields in OpenAI-compatible APIs #149

Open
@Anson2251

Description

@Anson2251

Describe the feature or improvement you're requesting

Hi there! Could we make the response deserialization more flexible to preserve custom fields like reasoning_content?

When using DeepSeek's API (which is OpenAI-compatible), their R1 model returns a reasoning_content field at:

response.choices[0].message.reasoning_content

But currently these custom fields get silently dropped. Maybe we could keep them like OpenAI's Python SDK does?

Additional context

I checked OpenAI's official Python SDK. It seems that they just deserialised the generated json and didn't perform any checks. So the unknown fields were just preserved by dynamic typing.

deepseek's reasoning model docs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions