Skip to content

fix(bedrock): drop unsupported sampling params on converse reasoning models - #39834

Merged
mateo-berri merged 2 commits into
BerriAI:mainfrom
emerzon:litellm_bedrock_converse_drop_temperature
Sep 23, 2026
Merged

mateo-berri merged 2 commits into
BerriAI:mainfrom
emerzon:litellm_bedrock_converse_drop_temperature

Conversation

@emerzon

@emerzon emerzon commented Sep 5, 2026 •

Copy link
Copy Markdown
Contributor

TLDR

Problem this solves:

  • Bedrock Converse rejects temperature and top_p on GPT-5.6 reasoning models
  • drop_params: true did not drop them, so every such request 400'd
  • Claude models on Converse must keep accepting temperature=1

How it solves it:

  • Cost map marks the Bedrock GPT-5.6 entries supports_sampling_params: false
  • Converse drops temperature and top_p for those models when drop_params is on
  • Without drop_params, LiteLLM returns its own 400 naming the param and the fix
  • Claude models keep their existing sampling rules untouched

User Flow

Before: a developer whose gateway routes a GPT-5.6 model to Bedrock Converse with drop_params: true gets a 400 on every request that carries a temperature

  1. The proxy admin adds bedrock/converse/global.openai.gpt-5.6-luna as bedrock-reasoning with drop_params: true, and bedrock/converse/us.anthropic.claude-opus-4-7 as bedrock-anthropic, then starts the proxy
  2. The developer sends POST https://litellm-domain/v1/chat/completions with "model": "bedrock-reasoning", "temperature": 1, and a user message
  3. The response is HTTP 400: BedrockException - This model doesn't support the temperature field. Remove temperature and try again.
  4. The same request to POST https://litellm-domain/v1/responses and POST https://litellm-domain/v1/messages returns the same HTTP 400
  5. The same request with "model": "bedrock-anthropic" returns HTTP 200 with pong

After: the same request returns 200 because the gateway drops the temperature before calling Bedrock, and Claude keeps accepting temperature=1

  1. The proxy admin adds the same two models and starts the proxy
  2. The developer sends the same POST https://litellm-domain/v1/chat/completions with "model": "bedrock-reasoning", "temperature": 1, and a user message
  3. The response is HTTP 200 with pong and token usage
  4. The same request to POST https://litellm-domain/v1/responses and POST https://litellm-domain/v1/messages returns HTTP 200 with pong
  5. The same request with "model": "bedrock-anthropic" still returns HTTP 200 with pong

Relevant issues

Fixes #39829

Affected release

Linear ticket

Pre-Submission checklist

Please complete all items before asking a LiteLLM maintainer to review your PR

  • I have added meaningful tests
  • The handful of test files covering my change pass locally, e.g. uv run pytest tests/test_litellm/<your_test_file>.py -v. Leave the suites (make test-unit-*, make test-unit) to CI: it finishes in ~15 minutes where a laptop takes an hour or more
  • My PR passes all required CI/CD checks (e.g., lint, schema.d.ts sync check, etc.)
  • My PR's scope is as isolated as possible; it only solves 1 specific problem
  • I have received a Greptile Confidence Score of at least 4/5 before requesting a maintainer review (Greptile reviews automatically once the PR is opened; only comment @greptileai to re-request a review after pushing changes)

Delays in PR merge?

If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).

Screenshots / Proof of Fix

Both legs hit real AWS Bedrock in us-east-1 with the same credentials and this config saved as bedrock-qa.yaml. The master key is exported as LITELLM_MASTER_KEY and every proxy runs with 2 uvicorn workers

model_list:
  - model_name: bedrock-reasoning
    litellm_params:
      model: bedrock/converse/global.openai.gpt-5.6-luna
      drop_params: true
      aws_region_name: us-east-1
  - model_name: bedrock-reasoning-nodrop
    litellm_params:
      model: bedrock/converse/global.openai.gpt-5.6-luna
      aws_region_name: us-east-1
  - model_name: bedrock-anthropic
    litellm_params:
      model: bedrock/converse/us.anthropic.claude-opus-4-7
      aws_region_name: us-east-1
  - model_name: bedrock-gpt6
    litellm_params:
      model: bedrock/converse/global.openai.gpt-6-astra
      drop_params: true
      aws_region_name: us-east-1
LITELLM_LOCAL_MODEL_COST_MAP=True python litellm/proxy/proxy_cli.py --config bedrock-qa.yaml --host 127.0.0.1 --port <port> --num_workers 2

Before ran on port 48951, After on port 58714

Before (238f434)

GPT-5.6 with drop_params, temperature=1: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.BadRequestError: BedrockException - {\"message\":\"This model doesn't support the temperature field. Remove temperature and try again.\"}\n\nLiteLLM: model group 'bedrock-reasoning' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

GPT-5.6 with drop_params, temperature=1: POST /v1/responses

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/responses -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning","input":"Reply with the single word pong","max_output_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.BadRequestError: BedrockException - {\"message\":\"This model doesn't support the temperature field. Remove temperature and try again.\"}\n\nLiteLLM: model group 'bedrock-reasoning' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

GPT-5.6 with drop_params, temperature=1: POST /v1/messages

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/messages -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 400
    {"type":"error","error":{"type":"invalid_request_error","message":"litellm.BadRequestError: BedrockException - {\"message\":\"This model doesn't support the temperature field. Remove temperature and try again.\"}\n\nLiteLLM: model group 'bedrock-reasoning' failed with the error above. No fallback was attempted."}}
    

GPT-5.6 with drop_params, temperature=1, streaming: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1,"stream":true}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.BadRequestError: BedrockException - {\"message\":\"This model doesn't support the temperature field. Remove temperature and try again.\"}\n\nLiteLLM: model group 'bedrock-reasoning' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

Claude Opus 4.7, temperature=1: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-anthropic","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    content: pong
    model: bedrock-anthropic | usage: {"completion_tokens": 6, "prompt_tokens": 20, "total_tokens": 26, ...}
    

Claude Opus 4.7, temperature=1: POST /v1/responses

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/responses -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-anthropic","input":"Reply with the single word pong","max_output_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    output_text: pong
    model: bedrock-anthropic | usage: {"input_tokens": 20, ...}
    

Claude Opus 4.7, temperature=1: POST /v1/messages

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/messages -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-anthropic","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    content: pong
    model: bedrock-anthropic | usage: {"input_tokens": 20, "output_tokens": 6}
    

Claude Opus 4.7, temperature=0.5: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-anthropic","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":0.5}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.UnsupportedParamsError: converse/us.anthropic.claude-opus-4-7 does not support temperature=0.5. Only temperature=1 is supported. To drop unsupported params, set `litellm.drop_params = True`.\n\nLiteLLM: model group 'bedrock-anthropic' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

GPT-5.6 without drop_params, temperature=1: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning-nodrop","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.BadRequestError: BedrockException - {\"message\":\"This model doesn't support the temperature field. Remove temperature and try again.\"}\n\nLiteLLM: model group 'bedrock-reasoning-nodrop' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

GPT-5.6 without drop_params, top_p=0.9: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning-nodrop","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"top_p":0.9}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.BadRequestError: BedrockException - {\"message\":\"This model doesn't support the topP field. Remove topP and try again.\"}\n\nLiteLLM: model group 'bedrock-reasoning-nodrop' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

GPT-5.6 without drop_params, no sampling params: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning-nodrop","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50}'
  2. Observe the response

    HTTP 200
    content: pong
    model: bedrock-reasoning-nodrop | usage: {"completion_tokens": 5, "prompt_tokens": 12, "total_tokens": 17, ...}
    

GPT-6 with drop_params, temperature=1: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:48951/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-gpt6","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.BadRequestError: BedrockException - {\"message\":\"This model doesn't support the temperature field. Remove temperature and try again.\"}\n\nLiteLLM: model group 'bedrock-gpt6' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

After (65eed87)

GPT-5.6 with drop_params, temperature=1: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    content: pong
    model: bedrock-reasoning | usage: {"completion_tokens": 5, "prompt_tokens": 12, "total_tokens": 17, ...}
    

GPT-5.6 with drop_params, temperature=1: POST /v1/responses

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/responses -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning","input":"Reply with the single word pong","max_output_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    output_text: pong
    model: bedrock-reasoning | usage: {"input_tokens": 12, ...}
    

GPT-5.6 with drop_params, temperature=1: POST /v1/messages

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/messages -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    content: pong
    model: bedrock-reasoning | usage: {"input_tokens": 12, "output_tokens": 5}
    

GPT-5.6 with drop_params, temperature=1, streaming: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1,"stream":true}'
  2. Observe the response

    HTTP 200
    data: {"id":"chatcmpl-bfa2b2d1-dda8-4778-866c-81567f3547fe","created":1790127339,"model":"bedrock-reasoning","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"pong","role":"assistant"}}],"provider_specific_fields":{}}
    
    data: {"id":"chatcmpl-bfa2b2d1-dda8-4778-866c-81567f3547fe","created":1790127339,"model":"bedrock-reasoning","object":"chat.completion.chunk","choices":[{"finish_reason":"stop","index":0,"delta":{}}],"provider_specific_fields":{}}
    
    data: [DONE]
    

Claude Opus 4.7, temperature=1: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-anthropic","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    content: pong
    model: bedrock-anthropic | usage: {"completion_tokens": 6, "prompt_tokens": 20, "total_tokens": 26, ...}
    

Claude Opus 4.7, temperature=1: POST /v1/responses

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/responses -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-anthropic","input":"Reply with the single word pong","max_output_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    output_text: pong
    model: bedrock-anthropic | usage: {"input_tokens": 20, ...}
    

Claude Opus 4.7, temperature=1: POST /v1/messages

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/messages -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-anthropic","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 200
    content: pong
    model: bedrock-anthropic | usage: {"input_tokens": 20, "output_tokens": 6}
    

Claude Opus 4.7, temperature=0.5: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-anthropic","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":0.5}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.UnsupportedParamsError: converse/us.anthropic.claude-opus-4-7 does not support temperature=0.5. Only temperature=1 is supported. To drop unsupported params, set `litellm.drop_params = True`.\n\nLiteLLM: model group 'bedrock-anthropic' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

GPT-5.6 without drop_params, temperature=1: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning-nodrop","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.UnsupportedParamsError: bedrock does not support parameters: ['temperature'], for model=converse/global.openai.gpt-5.6-luna. To drop these, set `litellm.drop_params=True` or for proxy:\n\n`litellm_settings:\n drop_params: true`\n. \n If you want to use these params dynamically send allowed_openai_params=['temperature'] in your request.\n\nLiteLLM: model group 'bedrock-reasoning-nodrop' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

GPT-5.6 without drop_params, top_p=0.9: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning-nodrop","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"top_p":0.9}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.UnsupportedParamsError: bedrock does not support parameters: ['top_p'], for model=converse/global.openai.gpt-5.6-luna. To drop these, set `litellm.drop_params=True` or for proxy:\n\n`litellm_settings:\n drop_params: true`\n. \n If you want to use these params dynamically send allowed_openai_params=['top_p'] in your request.\n\nLiteLLM: model group 'bedrock-reasoning-nodrop' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

GPT-5.6 without drop_params, no sampling params: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-reasoning-nodrop","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50}'
  2. Observe the response

    HTTP 200
    content: pong
    model: bedrock-reasoning-nodrop | usage: {"completion_tokens": 5, "prompt_tokens": 12, "total_tokens": 17, ...}
    

GPT-6 with drop_params, temperature=1: POST /v1/chat/completions

  1. Send the request

    curl -X POST http://127.0.0.1:58714/v1/chat/completions -H "Authorization: Bearer $LITELLM_MASTER_KEY" -H 'Content-Type: application/json' -d '{"model":"bedrock-gpt6","messages":[{"role":"user","content":"Reply with the single word pong"}],"max_tokens":50,"temperature":1}'
  2. Observe the response

    HTTP 400
    {"error":{"message":"litellm.BadRequestError: BedrockException - {\"message\":\"This model doesn't support the temperature field. Remove temperature and try again.\"}\n\nLiteLLM: model group 'bedrock-gpt6' failed with the error above. No fallback was attempted.","type":"invalid_request_error","param":null,"code":"400"}}
    

Observations from the run:

  • Streaming chat completions fixed the same way
  • Claude temperature=1 returns 200 on all three endpoints both legs
  • Claude temperature=0.5 400s identically on both legs, pre-existing
  • Without drop_params, the 400 now comes from LiteLLM, not Bedrock
  • GPT-6 still 400s on both legs, cost map not flagged
  • Tip merged into current main gives identical results on all twelve cases

Type

🐛 Bug Fix

Caveats (if any)

Low

  • us.openai.gpt-6-astra and global.openai.gpt-6-astra are not flagged, so drop_params still does not save them (follow-up cost-map PR)
  • /model_group/info and litellm.get_supported_openai_params no longer list temperature and top_p for Bedrock GPT-5.6 groups, which is the intended contract
  • Without drop_params, the 400 is LiteLLM's own with a fix hint instead of Bedrock's; the request never succeeded either way
  • allowed_openai_params: ["temperature"] without drop_params still 400s, now from LiteLLM instead of Bedrock
  • CircleCI's legacy suites never run on a fork head, so the Bedrock hits (test_bedrock_completion.py, test_bedrock_gpt_oss.py, test_bedrock_anthropic_regression.py, test_bedrock_moonshot.py, test_optional_params.py -k bedrock) ran locally at the tip: all pass except test_bedrock_moonshot.py::TestBedrockMoonshotInvoke::test_json_response_format_stream, which fails identically at the merge base

Final Attestation

  • The tests check the right things, including the edge cases, and regressions in the respective real-world customer use-cases are not possible after this PR

  • 65eed87 passes /live-pr-risk

@emerzon
emerzon requested a review from a team September 5, 2026 00:28
@emerzon
emerzon requested a review from mateo-berri as a code owner September 5, 2026 00:28
@greptile-apps

greptile-apps Bot commented Sep 5, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The current PR tip appears safe to merge, with both previous findings resolved and no new actionable regressions identified.

Summary

This PR makes Bedrock Converse sampling support follow model capability metadata, allowing unsupported temperature and top_p parameters to be dropped when configured while preserving Anthropic-specific validation.

  • Adds sampling capability lookup with support for Bedrock model prefixes.
  • Marks the six Bedrock GPT-5.6 model entries as not supporting sampling parameters in both model maps.
  • Adds regression coverage for dropping, rejecting, retaining, and advertising sampling parameters.
  • Preserves Anthropic’s accepted default temperature behavior.

Reviews (7) · Last reviewed commit: "test(bedrock): resolve duplicate import ..."

Comment thread litellm/llms/bedrock/chat/converse_transformation.py Outdated
@codspeed

codspeed Bot commented Sep 5, 2026 •

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 31 untouched benchmarks


Comparing emerzon:litellm_bedrock_converse_drop_temperature (65eed87) with main (392e807)1

Open in CodSpeed

Footnotes

  1. No successful run was found on main (dd32715) during the generation of this report, so 392e807 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩

@codecov

codecov Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@emerzon

emerzon commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

@greptileai please re-review following the update to remove the hardcoded check and sync the packaged model backup

Comment thread litellm/llms/bedrock/chat/converse_transformation.py Outdated
@emerzon

emerzon commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

@greptile-apps

@emerzon

emerzon commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

@greptileai please re-review following the fix for the basedpyright loop assignment error and added coverage

@mateo-berri mateo-berri left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This drops temperature from supported params for Bedrock Anthropic too, so temperature=1 on us.anthropic.claude-opus-4-7 now 400s where it returned 200 before

Comment thread litellm/llms/bedrock/chat/converse_transformation.py
Comment thread model_prices_and_context_window.json Outdated
@emerzon
emerzon force-pushed the litellm_bedrock_converse_drop_temperature branch from 08e000a to 01e3da2 Compare September 6, 2026 05:12
@emerzon

emerzon commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

@greptile-apps

@emerzon

emerzon commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto main and verified the affected tests locally. @greptileai please review the current tip for remaining regressions

bugbot run

@emerzon

emerzon commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

@veria-ai please review the current tip after rebasing onto main and resolving the overlapping changes from upstream

@emerzon

emerzon commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

bugbot run

@emerzon

emerzon commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

@veria-ai

@cursor cursor Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale Bugbot comment from a previous run.

@msvechla

Copy link
Copy Markdown

Can we get this merged? We are also experiencing issues e.g. with the global.openai.gpt-5.6-luna not being routed through the OpenAI Bedrock endpoint

@msvechla

Copy link
Copy Markdown

@yuneng-berri any update?

@emerzon
emerzon force-pushed the litellm_bedrock_converse_drop_temperature branch from bf802ef to 65eed87 Compare September 22, 2026 23:08
@emerzon

emerzon commented Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

@greptileai @veria-ai Please review the current tip after this rebase and live proxy QA for regressions. bugbot run

@emerzon

emerzon commented Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

@veria-ai Please review the current tip after the rebase and live Bedrock proxy QA, including Anthropic temperature handling

@emerzon

emerzon commented Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

bugbot run

Please review the current tip after the rebase and live Bedrock QA, including the Anthropic temperature regression

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 65eed87. Configure here.

@emerzon

emerzon commented Sep 23, 2026

Copy link
Copy Markdown
Contributor Author

@mateo-berri The Anthropic temperature regression is fixed and verified through the live proxy. Current CI, coverage, Greptile, Veria, and Bugbot pass. Please re-review

@mateo-berri mateo-berri added run-ci and removed run-ci labels Sep 23, 2026

@mateo-berri mateo-berri left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for the contribution!

@mateo-berri
mateo-berri merged commit 30004f5 into BerriAI:main Sep 23, 2026
101 of 102 checks passed
kimnamu added a commit to kimnamu/litellm that referenced this pull request Sep 24, 2026
… repo rule and BerriAI#39834 do

The GPT-6 Sol, Luna and Astra Converse rows now set supports_sampling_params false in both cost map files, like the GPT-5.6 rows. Tools and tool choice already come from the rows BerriAI#42746 and BerriAI#42798 added, so the name-based checks in converse_transformation.py are removed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Bedrock Converse does not drop temperature for reasoning models

4 participants