OpenResponses.Adapters.OpenAI (OpenResponses v0.1.1)

View Source

Adapter for the OpenAI Responses API.

Because the Open Responses spec is derived directly from OpenAI's API, this adapter is nearly a pass-through — request fields map 1:1, and streaming events are forwarded without translation.

API key

Callers supply their API key per-request in the "api_key" field:

{
  "model": "gpt-4o",
  "api_key": "sk-...",
  "input": [{"role": "user", "content": "Hello!"}]
}

Requests without api_key are rejected before the adapter is invoked.

Server configuration (optional)

Use server config only for non-secret options like a custom base_url:

config :open_responses, :provider_config, %{
  openai: [
    base_url: "https://my-openai-proxy.example.com/v1"
  ]
}

Routing

This adapter is selected automatically for any model name matching ~r/^gpt-/ in the default routing table. To add more patterns:

config :open_responses, :routing, %{
  ~r/^gpt-/ => OpenResponses.Adapters.OpenAI,
  ~r/^o1/   => OpenResponses.Adapters.OpenAI
}