mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-08 03:08:45 +00:00
[Bug]: Fix Can't set reasoning_effort for DeepSeek-V3.1 on DeepInfra by default (#14053)
* fix DeepInfraConfig * track supports reasoning * fix: get_supported_openai_params * test_deepseek_supported_openai_params
This commit is contained in:
parent
e74f1b6b62
commit
607f425cc6
4 changed files with 78 additions and 24 deletions
|
|
@ -12,6 +12,9 @@ class DeepInfraConfig(OpenAIGPTConfig):
|
|||
|
||||
The class `DeepInfra` provides configuration for the DeepInfra's Chat Completions API interface. Below are the parameters:
|
||||
"""
|
||||
@property
|
||||
def custom_llm_provider(self) -> Optional[str]:
|
||||
return "deepinfra"
|
||||
|
||||
frequency_penalty: Optional[int] = None
|
||||
function_call: Optional[Union[str, dict]] = None
|
||||
|
|
@ -53,7 +56,7 @@ class DeepInfraConfig(OpenAIGPTConfig):
|
|||
return super().get_config()
|
||||
|
||||
def get_supported_openai_params(self, model: str):
|
||||
return [
|
||||
supported_openai_params = [
|
||||
"stream",
|
||||
"frequency_penalty",
|
||||
"function_call",
|
||||
|
|
@ -68,9 +71,16 @@ class DeepInfraConfig(OpenAIGPTConfig):
|
|||
"top_p",
|
||||
"response_format",
|
||||
"tools",
|
||||
"tool_choice",
|
||||
"tool_choice"
|
||||
]
|
||||
|
||||
if litellm.supports_reasoning(
|
||||
model=model,
|
||||
custom_llm_provider=self.custom_llm_provider,
|
||||
):
|
||||
supported_openai_params.append("reasoning_effort")
|
||||
return supported_openai_params
|
||||
|
||||
def map_openai_params(
|
||||
self,
|
||||
non_default_params: dict,
|
||||
|
|
|
|||
|
|
@ -15668,7 +15668,8 @@
|
|||
"output_cost_per_token": 2.18e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": false
|
||||
"supports_tool_choice": false,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15678,7 +15679,8 @@
|
|||
"output_cost_per_token": 2.15e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-0528": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15688,7 +15690,8 @@
|
|||
"output_cost_per_token": 2.15e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-0528-Turbo": {
|
||||
"max_tokens": 32768,
|
||||
|
|
@ -15698,7 +15701,8 @@
|
|||
"output_cost_per_token": 3e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-Distill-Llama-70B": {
|
||||
"max_tokens": 131072,
|
||||
|
|
@ -15708,7 +15712,8 @@
|
|||
"output_cost_per_token": 4e-07,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": false
|
||||
"supports_tool_choice": false,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B": {
|
||||
"max_tokens": 131072,
|
||||
|
|
@ -15718,7 +15723,8 @@
|
|||
"output_cost_per_token": 1.5e-07,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-Turbo": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15728,7 +15734,8 @@
|
|||
"output_cost_per_token": 3e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-V3": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15738,7 +15745,8 @@
|
|||
"output_cost_per_token": 8.9e-07,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-V3-0324": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15748,7 +15756,8 @@
|
|||
"output_cost_per_token": 8.8e-07,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-V3-0324-Turbo": {
|
||||
"max_tokens": 32768,
|
||||
|
|
@ -15758,7 +15767,8 @@
|
|||
"output_cost_per_token": 3e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-V3.1": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15768,7 +15778,8 @@
|
|||
"output_cost_per_token": 1e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": false
|
||||
"supports_tool_choice": false,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/google/codegemma-7b-it": {
|
||||
"max_tokens": 8192,
|
||||
|
|
|
|||
|
|
@ -15668,7 +15668,8 @@
|
|||
"output_cost_per_token": 2.18e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": false
|
||||
"supports_tool_choice": false,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15678,7 +15679,8 @@
|
|||
"output_cost_per_token": 2.15e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-0528": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15688,7 +15690,8 @@
|
|||
"output_cost_per_token": 2.15e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-0528-Turbo": {
|
||||
"max_tokens": 32768,
|
||||
|
|
@ -15698,7 +15701,8 @@
|
|||
"output_cost_per_token": 3e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-Distill-Llama-70B": {
|
||||
"max_tokens": 131072,
|
||||
|
|
@ -15708,7 +15712,8 @@
|
|||
"output_cost_per_token": 4e-07,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": false
|
||||
"supports_tool_choice": false,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-Distill-Qwen-32B": {
|
||||
"max_tokens": 131072,
|
||||
|
|
@ -15718,7 +15723,8 @@
|
|||
"output_cost_per_token": 1.5e-07,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-R1-Turbo": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15728,7 +15734,8 @@
|
|||
"output_cost_per_token": 3e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-V3": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15738,7 +15745,8 @@
|
|||
"output_cost_per_token": 8.9e-07,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-V3-0324": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15748,7 +15756,8 @@
|
|||
"output_cost_per_token": 8.8e-07,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-V3-0324-Turbo": {
|
||||
"max_tokens": 32768,
|
||||
|
|
@ -15758,7 +15767,8 @@
|
|||
"output_cost_per_token": 3e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": true
|
||||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/deepseek-ai/DeepSeek-V3.1": {
|
||||
"max_tokens": 163840,
|
||||
|
|
@ -15768,7 +15778,8 @@
|
|||
"output_cost_per_token": 1e-06,
|
||||
"litellm_provider": "deepinfra",
|
||||
"mode": "chat",
|
||||
"supports_tool_choice": false
|
||||
"supports_tool_choice": false,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"deepinfra/google/codegemma-7b-it": {
|
||||
"max_tokens": 8192,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,22 @@
|
|||
import asyncio
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from unittest.mock import AsyncMock, MagicMock, patch
|
||||
|
||||
import pytest
|
||||
|
||||
# Add litellm to path
|
||||
sys.path.insert(0, os.path.abspath("../../../.."))
|
||||
import litellm
|
||||
|
||||
|
||||
def test_deepseek_supported_openai_params():
|
||||
"""
|
||||
Test "reasoning_effort" is an openai param supported for the DeepSeek model on deepinfra
|
||||
"""
|
||||
from litellm.llms.deepinfra.chat.transformation import DeepInfraConfig
|
||||
|
||||
supported_openai_params = DeepInfraConfig().get_supported_openai_params(model="deepinfra/deepseek-ai/DeepSeek-V3.1")
|
||||
print(supported_openai_params)
|
||||
assert "reasoning_effort" in supported_openai_params
|
||||
Loading…
Add table
Reference in a new issue