Feature Request: Add Support for OpenAI/Azure Responses API
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia individuando l’integrazione attuale di $client->chat()->create e la gestione dei modelli descritta nell’issue. Definisci come devono coesistere il percorso Chat Completions esistente e il nuovo percorso /responses, quindi verifica che GPT-5 Pro utilizzi Responses mentre i modelli esistenti rimangano compatibili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The current implementation only supports the Chat Completions API. This prevents the use of newer reasoning models such as gpt-5-pro, which are only available through the Responses API.
I would like to request support for the OpenAI/Azure Responses API, including automatic routing based on model capabilities.
⸻
Problem
When using Azure OpenAI with a GPT-5 Pro deployment, requests fail with the following error:
Invalid API request
The requested operation is unsupported.
Investigation shows that the library always sends requests to the Chat Completions endpoint:
POST /chat/completions
However, Azure GPT-5 Pro only supports the Responses API and does not support Chat Completions.
As a result, users cannot use GPT-5 Pro even though the deployment and credentials are configured correctly.
⸻
Current Behavior
The implementation assumes all chat-capable models support Chat Completions:
$client->chat()->create([
'model' => $model,
'messages' => $messages,
]);
This works for:
- GPT-4o
- GPT-4.1
- GPT-5 Mini
- GPT-5
but fails for:
- GPT-5 Pro
⸻
Expected Behavior
The library should support both APIs:
Chat Completions
POST /chat/completions
Responses API
POST /responses
The framework should be able to route requests to the appropriate API depending on model capabilities.
Example:
if ($modelCapabilities->supportsResponsesOnly()) {
$client->responses()->create(...);
} else {
$client->chat()->create(...);
}
⸻
Proposed Solution
Option 1: Native Responses API Support
Introduce a dedicated Responses API client:
$client->responses()->create([
'model' => 'gpt-5-pro',
'input' => $messages,
]);
This gives users direct access to the newer API surface.
⸻
Option 2: Automatic Capability Routing
Add model capability detection and transparently choose the correct endpoint.
Example:
$client->generate([
'model' => 'gpt-5-pro',
'messages' => $messages,
]);
Internally:
if ($model->supportsResponses()) {
return $responsesClient->create(...);
}
return $chatClient->create(...);
This provides the best developer experience and future-proofs the implementation as more models migrate to Responses API.
⸻
Additional Considerations
The Responses API introduces features that are becoming the primary interface for modern reasoning models:
- GPT-5 Pro support
- Future reasoning model compatibility
- Unified tool calling
- Structured outputs
- Multi-modal input/output
- Reasoning controls
Supporting only Chat Completions will increasingly limit compatibility with newer OpenAI and Azure OpenAI models.
⸻
Environment
Provider
Azure OpenAI
API Version
2024-12-01-preview
Working Model
gpt-5-mini
Failing Model
gpt-5-pro
Error
Invalid API request
The requested operation is unsupported.
⸻
Benefit
Adding Responses API support would enable compatibility with GPT-5 Pro and future reasoning-focused models while maintaining backward compatibility with existing Chat Completions integrations.
- Lingua principale
- PHP
- Stelle
- 49
- Fork
- 11
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di hyperf/odin
-
createOptions好像没法自定义?Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
流式chat时,tools报错Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
benjaminkott/bootstrap_package#1675 ·
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno