Skip to content

Investigation: Assess OpenAI Responses API migration #90

Description

@mattprintz

Context

OpenAIModel constructs langchain_openai.ChatOpenAI. For ordinary models it currently relies on LangChain routing, which uses the Chat Completions API unless Responses-only options are present. Archytas supplies reasoning for supported reasoning models, so those requests route to the Responses API; ordinary models such as the default gpt-4o continue to use Chat Completions.

OpenAI recommends the Responses API for new work. The Chat Completions API remains supported; this issue should verify OpenAI's current policy and any applicable retirement timeline rather than assume a deprecation date.

Scope

Assess and, if appropriate, implement a deliberate Responses API path for native OpenAI models.

The assessment must account for the different compatibility requirements of:

  • native OpenAI (OpenAIModel);
  • OpenAI-compatible endpoints configured with base_url;
  • OpenRouter, which documents Chat Completions compatibility; and
  • Azure OpenAI.

Acceptance criteria

  • Document the applicable OpenAI lifecycle guidance and whether a migration is required.
  • If a change is appropriate, native OpenAI requests use the intended endpoint by explicit configuration rather than implicit LangChain routing.
  • Agent tool-call loops, multi-turn history, text extraction, and reasoning summaries work for both ordinary and reasoning OpenAI models.
  • OpenAI-compatible providers do not regress because they lack Responses API support.
  • Add automated coverage for the selected routing and response shapes, and update user-facing configuration documentation if behavior changes.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions