BYOK: unrequested easoning_effort and snippy params sent to non-reasoning OpenAI deployments (400)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- azure, typescript
Hướng nghiên cứu
Bắt đầu từ đường dẫn BYOK createSession và listModels, sau đó kiểm tra việc xử lý yêu cầu của CLI đi kèm cho các deployment Azure AI Foundry OpenAI. Tái hiện với gpt-4.1-mini và so sánh yêu cầu gửi đi với đường dẫn Anthropic. Hoàn tất khi các deployment không reasoning không nhận reasoning_effort cũng như snippy, trong khi các mô hình reasoning được hỗ trợ vẫn giữ nguyên các tham số của chúng.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happened
Using the SDK in BYOK mode against an Azure AI Foundry account, every request to a non-reasoning OpenAI deployment (gpt-4.1-mini) fails at the provider with:
400 Unrecognized request arguments supplied: reasoning_effort, snippy
Anthropic deployments on the same account, same credentials, same code path work fine (claude-haiku-4-5, claude-sonnet-4-6 — 14/14 successful calls in the same run).
Why this looks like an SDK-side issue
Two parameters are reaching the provider that the calling application never set:
-
snippy— this string does not appear anywhere in our codebase. We grep for it across our entire application source and find zero occurrences. We have no API through which we could set it. -
reasoning_effort— we do pass areasoningEfforttocreateSession, but only after checkingcapabilities.supports.reasoningEffortfromlistModels()and dropping it when the model doesn't advertise support:const supported = new Set( (await sdk.listModels()) .filter((m) => m.capabilities?.supports?.reasoningEffort) .map((m) => m.id), ); const effort = supported.has(model) ? requested : undefined; await sdk.createSession({ model, ...(effort ? { reasoningEffort: effort } : {}), // ... });For a BYOK deployment name like
gpt-4.1-minithis resolves toundefinedand the key is omitted from the object entirely — yetreasoning_effortstill appears on the wire.
So both parameters appear to be injected below the SDK surface, inside the bundled CLI binary.
Impact
Non-reasoning OpenAI deployments are unusable through the BYOK path. This isn't only an inconvenience for model comparison — it removes the non-Anthropic fallback from a deployment whose only other models are Anthropic, so an Anthropic quota problem in-region would leave no working model at all.
Environment
@github/copilot-sdk1.0.13 (bundled CLI 1.0.83)- Provider: BYOK / custom endpoint,
type: "openai", Azure AI Foundry - Failing deployment:
gpt-4.1-mini(OpenAI2025-04-14) - Working deployments (same account/credentials):
claude-haiku-4-5,claude-sonnet-4-6
Expected
Neither snippy nor reasoning_effort should be sent to a provider/model that doesn't accept them — particularly reasoning_effort when the caller explicitly omitted it and the model catalog doesn't report reasoning support.
Questions
- Is
snippyintended to be sent to custom/BYOK providers at all? It looks like an internal parameter that should be scoped to the first-party backend. - For BYOK deployments absent from the model catalog, what's the intended way to guarantee no reasoning parameters are attached? Is there a supported opt-out?
- Ngôn ngữ chính
- Java
- Star
- 10.5k
- Fork
- 1.5k
- Merge trung bình
- 1 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 130
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của github/copilot-sdk
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
github/copilot-sdk#2760 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
github/copilot-sdk#2759 ·
-
documentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
github/copilot-sdk#2758 ·
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
github/copilot-sdk#2709 · 1 bình luận ·
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
github/copilot-sdk#2673 ·
Tất cả issue của github/copilot-sdk
Issue tương tự
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Đang mởarea/plugin
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Add canonical URLs and a sitemap Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
apache/rocketmq-dashboard#5064 ·