Fix the bug where claude tool_choice does not support "tool_choice": {"type": "any"}
Browse files- request.py +8 -0
request.py
CHANGED
|
@@ -478,6 +478,10 @@ async def get_vertex_claude_payload(request, engine, provider):
|
|
| 478 |
payload["tool_choice"] = {
|
| 479 |
"type": "auto"
|
| 480 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 481 |
if payload["tool_choice"]["type"] == "function":
|
| 482 |
payload["tool_choice"] = {
|
| 483 |
"type": "tool",
|
|
@@ -746,6 +750,10 @@ async def get_claude_payload(request, engine, provider):
|
|
| 746 |
payload["tool_choice"] = {
|
| 747 |
"type": "auto"
|
| 748 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 749 |
if payload["tool_choice"]["type"] == "function":
|
| 750 |
payload["tool_choice"] = {
|
| 751 |
"type": "tool",
|
|
|
|
| 478 |
payload["tool_choice"] = {
|
| 479 |
"type": "auto"
|
| 480 |
}
|
| 481 |
+
if payload["tool_choice"]["type"] == "any":
|
| 482 |
+
payload["tool_choice"] = {
|
| 483 |
+
"type": "any"
|
| 484 |
+
}
|
| 485 |
if payload["tool_choice"]["type"] == "function":
|
| 486 |
payload["tool_choice"] = {
|
| 487 |
"type": "tool",
|
|
|
|
| 750 |
payload["tool_choice"] = {
|
| 751 |
"type": "auto"
|
| 752 |
}
|
| 753 |
+
if payload["tool_choice"]["type"] == "any":
|
| 754 |
+
payload["tool_choice"] = {
|
| 755 |
+
"type": "any"
|
| 756 |
+
}
|
| 757 |
if payload["tool_choice"]["type"] == "function":
|
| 758 |
payload["tool_choice"] = {
|
| 759 |
"type": "tool",
|