MCPcopy Create free account
hub / github.com/InternScience/InternAgent / decompose

Function decompose

tasks/AutoTTS/code/experiment/module.py:83–115  ·  view source on GitHub ↗
(question: str, **kwargs)

Source from the content-addressed store, hash-verified

81 return decorator
82
83async def decompose(question: str, **kwargs):
84 retries = LABEL_RETRIES
85 if module == "multi-hop":
86 if "contexts" not in kwargs:
87 raise Exception("Multi-hop must have contexts")
88 contexts = kwargs["contexts"]
89 multistep_result = await multistep(question, contexts)
90 while retries > 0:
91 label_result = await label(question, multistep_result)
92 try:
93 if len(label_result["sub-questions"]) != len(multistep_result["sub-questions"]):
94 retries -= 1
95 continue
96 calculate_depth(label_result["sub-questions"])
97 break
98 except:
99 retries -= 1
100 continue
101 for step, note in zip(multistep_result["sub-questions"], label_result["sub-questions"]):
102 step["depend"] = note["depend"]
103 return multistep_result
104 else:
105 multistep_result = await multistep(question)
106 while retries > 0:
107 result = await label(question, multistep_result["response"], multistep_result["answer"])
108 try:
109 calculate_depth(result["sub-questions"])
110 result["response"] = multistep_result["response"]
111 break
112 except:
113 retries -= 1
114 continue
115 return result
116
117async def merging(question: str, decompose_result: dict, independent_subqs: list, dependent_subqs: list, **kwargs):
118 contract_args = (

Callers 2

atomFunction · 0.70
process_sampleFunction · 0.70

Calls 3

calculate_depthFunction · 0.90
multistepFunction · 0.70
labelFunction · 0.70

Tested by

no test coverage detected