Skip to content

Commit 57eb973

Browse files
committed
fix: correctly process anthropic treaming
1 parent c05694c commit 57eb973

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

bigcodebench/gen/util/anthropic_request.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@ def make_auto_request(client: anthropic.Client, *args, **kwargs) -> Message:
1919
if "reasoning_budget" in kwargs and "reasoning_beta" in kwargs:
2020
kwargs["thinking"] = {
2121
"type": "enabled",
22-
"budget": kwargs["reasoning_budget"],
22+
"budget_tokens": kwargs["reasoning_budget"],
2323
}
2424
kwargs["betas"] = [kwargs["reasoning_beta"]]
2525
kwargs.pop("reasoning_budget")
2626
kwargs.pop("reasoning_beta")
27-
ret = client.beta.messages.create(*args, **kwargs)
27+
kwargs.pop("temperature")
28+
if "thinking" in kwargs:
29+
ret = client.beta.messages.create(*args, **kwargs, stream=True)
2830
else:
2931
ret = client.messages.create(*args, **kwargs)
3032
signal.alarm(0)

bigcodebench/provider/anthropic.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,17 @@ def codegen(
4848
reasoning_budget=self.reasoning_budget,
4949
reasoning_beta=self.reasoning_beta,
5050
)
51-
outputs.append(ret.content[0].text)
51+
if isinstance(ret, anthropic.Stream):
52+
output = ""
53+
for chunk in ret:
54+
if chunk.type == "content_block_delta":
55+
if chunk.delta.type == "thinking_delta":
56+
output += chunk.delta.thinking
57+
elif chunk.delta.type == "text_delta":
58+
output += chunk.delta.text
59+
outputs.append(output)
60+
else:
61+
outputs.append(ret.content[0].text)
5262
all_outputs.append(outputs)
5363
return all_outputs
5464

0 commit comments

Comments
 (0)