in src/models/struxgpt_v2.py [0:0]
def generate_struct(self, raw_query: str, timeout: int = 3, verbose=False) -> "StructItem":
generate_params = {
"temperature": 0.2 if timeout > 1 else 0.0,
"maxWindowSize": 4096,
"maxOutputLength": 2048,
"system": self.prompt_system,
}
prompt = self.prepare_prompt(raw_query, input_sent_enum=True)
for _ in range(timeout):
try:
response = self.call_model(prompt, **generate_params)
struct_res = StructItem(self.scfg, raw_query, response, single_sent_ok=True)
assert struct_res.valid
if verbose:
print('Successfully refined structurization result.')
return struct_res
except:
if verbose:
print('Failed to structurize. Try again.')
# print(f'##Response\n{response}\n\n')
# exit()
if verbose:
print('Structurization timeout. Downgrade to summatization.')
return self.lazzy_struct_by_sum(raw_query, return_json=False)