File size: 889 Bytes
4a86a4b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from .models import summarizer

def summarize_text(text):
    chunk_size = 3000
    overlap = 200
    summaries = []

    chunks = [text[i:i + chunk_size] for i in range(0, len(text), chunk_size - overlap)]
    for i, chunk in enumerate(chunks):
        try:
            summary = summarizer(chunk, min_length=50, max_length=256, truncation=True)[0]['summary_text']
            summaries.append(f"\n Chunk {i+1} Summary:\n{summary}")
        except Exception as e:
            summaries.append(f"Error in chunk {i+1}: {e}")

    try:
        meta_input = " ".join([s.split("\n", 1)[-1] for s in summaries])
        final = summarizer(meta_input, min_length=50, max_length=256, truncation=True)[0]['summary_text']
        summaries.append(f"\nFinal Meta-Summary:\n{final}")
    except Exception as e:
        summaries.append(f"Error in meta-summary: {e}")

    return "\n".join(summaries)