Skip to content

Commit f21507e

Browse files
committed
fix nested reference error
1 parent ad9bce4 commit f21507e

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

modelscope_agent/tools/base.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,7 @@ def _verify_args(self, params: str, api_info) -> Union[str, dict]:
597597
if 'required' in param and param['required']:
598598

599599
current = {}
600-
current_test = copy.deepcopy(params_json)
600+
current_test = deepcopy(params_json)
601601
parts = param['name'].split('.')
602602
for i, part in enumerate(parts):
603603
if part not in current:
@@ -714,6 +714,7 @@ def call(self, params: str, **kwargs):
714714
response = requests.post(
715715
f'{self.openapi_service_manager_url}/execute_openapi',
716716
json={
717+
'openapi_name': self.openapi_remote_name,
717718
'url': url,
718719
'params': query_params,
719720
'headers': header,

modelscope_agent/tools/utils/openapi_utils.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,15 @@ def parse_nested_parameters(param_name, param_info, parameters_list, content):
109109

110110

111111
# openapi_schema_convert,register to tool_config.json
112-
def extract_references(schema_content):
112+
def extract_references(schema_content, index=0):
113113
references = []
114114
if isinstance(schema_content, dict):
115115
if '$ref' in schema_content:
116116
references.append(schema_content['$ref'])
117117
for key, value in schema_content.items():
118-
references.extend(extract_references(value))
118+
references.extend(extract_references(value, index + 1))
119119
# if properties exist, record the schema content in references and deal later
120-
if 'properties' in schema_content:
120+
if 'properties' in schema_content and index == 0:
121121
references.append(schema_content)
122122
elif isinstance(schema_content, list):
123123
for item in schema_content:

0 commit comments

Comments
 (0)