Otto
1240f38f75
feat(backend): migrate OpenAI provider to Responses API (#12099)
## Summary
Migrates the OpenAI provider in the LLM block from
`chat.completions.create` to `responses.create` — OpenAI's newer,
unified API. Also removes the obsolete GPT-3.5-turbo model.
Resolves #11624
Linear:
[OPEN-2911](https://linear.app/autogpt/issue/OPEN-2911/update-openai-calls-to-use-responsescreate)
## Changes
- **`backend/blocks/llm.py`** — OpenAI provider now uses
`responses.create` exclusively. Removed GPT-3.5-turbo enum + metadata.
- **`backend/util/openai_responses.py`** *(new)* — Helpers for the
Responses API: tool format conversion, content/reasoning/usage/tool-call
extraction.
- **`backend/util/openai_responses_test.py`** *(new)* — Unit tests for
all helper functions.
- **`backend/data/block_cost_config.py`** — Removed GPT-3.5 cost entry.
- **`docs/integrations/block-integrations/llm.md`** — Regenerated block
docs.
## Key API differences handled
| Aspect | Chat Completions | Responses API |
|--------|-----------------|---------------|
| Messages param | `messages` | `input` |
| Max tokens param | `max_completion_tokens` | `max_output_tokens` |
| Usage fields | `prompt_tokens` / `completion_tokens` | `input_tokens`
/ `output_tokens` |
| Tool format | Nested under `function` key | Flat structure |
## Test plan
- [x] Unit tests for all `openai_responses.py` helpers
- [x] Existing LLM block tests updated for Responses API mocks
- [x] Regular OpenAI models work
- [x] Reasoning OpenAI models work
- [x] Non-OpenAI models work
---------
Co-authored-by: Krzysztof Czerwinski <kpczerwinski@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 09:19:31 +00:00
..
2026-03-17 12:40:32 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-03-18 11:22:25 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-03-11 08:35:37 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-02-04 22:54:46 +00:00
2026-02-13 16:17:03 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-03-05 19:36:56 +00:00
2026-03-06 14:38:12 +00:00
2026-02-26 10:25:08 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-02-05 22:22:33 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-02-16 05:39:53 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 10:05:32 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-03-19 09:19:31 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-03-18 11:22:25 +00:00
2026-01-29 05:49:47 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-02-05 17:31:02 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00
2026-01-23 06:18:16 +00:00