Skip to content

Commit caf2cc4

Browse files
committed
fix(openai): resolve model naming and API configuration conflicts
1 parent feac323 commit caf2cc4

1 file changed

Lines changed: 25 additions & 6 deletions

File tree

eval/generate.py

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,11 @@ def generate_openai(
178178
temperature: float = 0.0,
179179
max_new_tokens: int = 8192,
180180
):
181+
assert model.startswith("openai/"), (
182+
"If running openai backend, model name must start with 'openai/'. "
183+
"For example, 'deepseek-ai/DeepSeek-R1' should be 'openai/deepseek-ai/DeepSeek-R1'"
184+
)
185+
181186
outputs = []
182187
with ThreadPoolExecutor(max_workers=len(messages_batch)) as executor:
183188
futures = []
@@ -187,15 +192,29 @@ def generate_openai(
187192
"num_retries": 16,
188193
"retry_strategy": "exponential_backoff_retry",
189194
"max_tokens": max_new_tokens,
190-
"model": f"openai/{model}",
191-
"api_key": os.getenv("OPENAI_API_KEY", "none"),
192-
"api_base": os.getenv("OPENAI_API_BASE", "http://0.0.0.0:8000/v1"),
195+
"model": model,
196+
"api_key": (
197+
os.getenv("OPENAI_API_KEY", "none")
198+
if model.count("/") == 1
199+
else "none"
200+
),
201+
"api_base": (
202+
os.getenv("OPENAI_API_BASE", "http://0.0.0.0:8000/v1")
203+
if model.count("/") == 1
204+
else "http://0.0.0.0:8000/v1"
205+
),
206+
"temperature": temperature,
207+
"stop": ["<end_of_turn>"],
193208
}
194209

195-
if model != "o4-mini":
210+
if (
211+
model.startswith("openai/o1-")
212+
or model.startswith("openai/o3-")
213+
or model.startswith("openai/o4-")
214+
):
196215
# O-series models don't support customized temperature. Only default temperature=1 is supported.
197-
kwargs["temperature"] = temperature
198-
kwargs["stop"] = ["<end_of_turn>"]
216+
del kwargs["temperature"]
217+
del kwargs["stop"]
199218

200219
future = executor.submit(completion_with_retries, **kwargs)
201220
futures.append(future)

0 commit comments

Comments
 (0)