if size > max_size:
chunker = TextChunker(maxlen=max_size)
for chunk in chunker.chunk(text):
answer = get_answer(chunk,
tags_quantity=1)
tmp_json = parse_answer(answer)
result_json['summary_text'] += tmp_json['result']
result_json['tags'].extend(tmp_json['tags'])
result_json['input_size'] += answer.input_size
result_json['output_size'] += answer.output_size
else:
answer = get_answer(text,
tags_quantity=3)
tmp_json = parse_answer(answer)
result_json['summary_text'] = tmp_json['result']
result_json['tags'].extend(tmp_json['tags'])
result_json['input_size'] = answer.input_size
result_json['output_size'] = answer.output_size
return result_json
from typing import Dict, Any
def process(answer, result_json: Dict[str, Any]) -> None:
tmp_json = parse_answer(answer)
result_json['summary_text'] += tmp_json['result']
result_json['tags'].extend(tmp_json['tags'])
result_json['input_size'] += answer.input_size
result_json['output_size'] += answer.output_size
def handler(text: str, max_size: int) -> Dict[str, Any]:
result_json = {'summary_text': '', 'tags': [], 'input_size': 0, 'output_size': 0}
match len(text):
case size if size > max_size:
chunker = TextChunker(maxlen=max_size)
for chunk in chunker.chunk(text):
answer = get_answer(chunk, tags_quantity=1)
process(answer, result_json)
case _:
answer = get_answer(text, tags_quantity=3)
process(answer, result_json)
return result_json
result_json = 0
def someth(a):
answer = get_answer(text,
tags_quantity=a)
tmp_json = parse_answer(answer)
result_json['summary_text'] = tmp_json['result']
result_json['tags'].extend(tmp_json['tags'])
result_json['input_size'] = answer.input_size
result_json['output_size'] = answer.output_size
……………
if size > max_size:
chunker = TextChunker(maxlen=max_size)
for chunk in chunker.chunk(text):
result_json = someth(3)
else:
result_json = someth(1)
return result_json