Fix anyof corner cases for BerriAI/litellm#11164
This commit is contained in:
parent
c946ae8550
commit
0a7c9a7231
@ -238,9 +238,7 @@ def _filter_anyof_fields(schema_dict: Dict[str, Any]) -> Dict[str, Any]:
|
||||
item["title"] = title
|
||||
if description:
|
||||
item["description"] = description
|
||||
return {"anyOf": any_of}
|
||||
else:
|
||||
return schema_dict
|
||||
return {"anyOf": any_of}
|
||||
return schema_dict
|
||||
|
||||
|
||||
|
||||
@ -495,6 +495,36 @@ def test_vertex_ai_map_tool_with_anyof():
|
||||
"anyOf": [{"type": "string", "nullable": True, "title": "Base Branch"}]
|
||||
}, f"Expected only anyOf field and its contents to be kept, but got {tools[0]['function_declarations'][0]['parameters']['properties']['base_branch']}"
|
||||
|
||||
new_value = [
|
||||
{
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": "git_create_branch",
|
||||
"description": "Creates a new branch from an optional base branch",
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"repo_path": {"title": "Repo Path", "type": "string"},
|
||||
"branch_name": {"title": "Branch Name", "type": "string"},
|
||||
"base_branch": {
|
||||
"anyOf": [{"type": "string"}, {"type": "null"}],
|
||||
"default": None,
|
||||
},
|
||||
},
|
||||
"required": ["repo_path", "branch_name"],
|
||||
"title": "GitCreateBranch",
|
||||
},
|
||||
},
|
||||
}
|
||||
]
|
||||
new_tools = v._map_function(value=new_value)
|
||||
|
||||
assert new_tools[0]["function_declarations"][0]["parameters"]["properties"][
|
||||
"base_branch"
|
||||
] == {
|
||||
"anyOf": [{"type": "string", "nullable": True}]
|
||||
}, f"Expected only anyOf field and its contents to be kept, but got {new_tools[0]['function_declarations'][0]['parameters']['properties']['base_branch']}"
|
||||
|
||||
|
||||
def test_vertex_ai_streaming_usage_calculation():
|
||||
"""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user