You've already forked adk-python
mirror of
https://github.com/encounter/adk-python.git
synced 2026-03-30 10:57:20 -07:00
fix: Add support for required params
Merge https://github.com/google/adk-python/pull/2212 This PR closes issue #2202 ADK was not parsing the required attribute when using LiteLLM, letting the LLM decide what is required vs not, not respecting function definitions. ## Test Plan There's a fork of adk-python that is being running live for over 2 weeks in our production environment with millions of requests per day. Below you can find a screenshot of the unit tests passing. I've also added one change to the test cases to cover this scenario <img width="1904" height="483" alt="image" src="https://github.com/user-attachments/assets/5a6eb069-63ae-45a3-baca-6b01543f56fb" /> COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/2212 from thiagosalvatore:main 7de4037d8016389313f3fb22df40c12bac578523 PiperOrigin-RevId: 797393698
This commit is contained in:
committed by
Copybara-Service
parent
5b999ed6fd
commit
c144b5347c
@@ -380,7 +380,7 @@ def _function_declaration_to_tool_param(
|
||||
for key, value in function_declaration.parameters.properties.items():
|
||||
properties[key] = _schema_to_dict(value)
|
||||
|
||||
return {
|
||||
tool_params = {
|
||||
"type": "function",
|
||||
"function": {
|
||||
"name": function_declaration.name,
|
||||
@@ -392,6 +392,13 @@ def _function_declaration_to_tool_param(
|
||||
},
|
||||
}
|
||||
|
||||
if function_declaration.parameters.required:
|
||||
tool_params["function"]["parameters"][
|
||||
"required"
|
||||
] = function_declaration.parameters.required
|
||||
|
||||
return tool_params
|
||||
|
||||
|
||||
def _model_response_to_chunk(
|
||||
response: ModelResponse,
|
||||
|
||||
@@ -558,8 +558,10 @@ function_declaration_test_cases = [
|
||||
"nested_key1": types.Schema(type=types.Type.STRING),
|
||||
"nested_key2": types.Schema(type=types.Type.STRING),
|
||||
},
|
||||
required=["nested_key1"],
|
||||
),
|
||||
},
|
||||
required=["nested_arg"],
|
||||
),
|
||||
),
|
||||
{
|
||||
@@ -581,8 +583,10 @@ function_declaration_test_cases = [
|
||||
"nested_key2": {"type": "string"},
|
||||
},
|
||||
"type": "object",
|
||||
"required": ["nested_key1"],
|
||||
},
|
||||
},
|
||||
"required": ["nested_arg"],
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user