浏览代码

fix: o1 model error, use max_completion_tokens instead of max_tokens. (#12037)

Co-authored-by: 刘江波 <jiangbo721@163.com>
tags/0.15.0
jiangbo721 10 个月前
父节点
当前提交
c98d91e44d
没有帐户链接到提交者的电子邮件
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6
    3
      api/core/model_runtime/model_providers/azure_openai/llm/llm.py

+ 6
- 3
api/core/model_runtime/model_providers/azure_openai/llm/llm.py 查看文件

@@ -113,7 +113,7 @@ class AzureOpenAILargeLanguageModel(_CommonAzureOpenAI, LargeLanguageModel):
try:
client = AzureOpenAI(**self._to_credential_kwargs(credentials))

if "o1" in model:
if model.startswith("o1"):
client.chat.completions.create(
messages=[{"role": "user", "content": "ping"}],
model=model,
@@ -311,7 +311,10 @@ class AzureOpenAILargeLanguageModel(_CommonAzureOpenAI, LargeLanguageModel):
prompt_messages = self._clear_illegal_prompt_messages(model, prompt_messages)

block_as_stream = False
if "o1" in model:
if model.startswith("o1"):
if "max_tokens" in model_parameters:
model_parameters["max_completion_tokens"] = model_parameters["max_tokens"]
del model_parameters["max_tokens"]
if stream:
block_as_stream = True
stream = False
@@ -404,7 +407,7 @@ class AzureOpenAILargeLanguageModel(_CommonAzureOpenAI, LargeLanguageModel):
]
)

if "o1" in model:
if model.startswith("o1"):
system_message_count = len([m for m in prompt_messages if isinstance(m, SystemPromptMessage)])
if system_message_count > 0:
new_prompt_messages = []

正在加载...
取消
保存