Skip to main content

Applications

15.1 SummarizerApp (Meeting & Email Summarization)

Status Import: from gaia.apps.summarize.app import SummarizerApp, SummaryConfig Detailed Spec: spec/summarizer-app Purpose: Process meeting transcripts and emails to generate structured summaries with action items.
from gaia.apps.summarize.app import SummarizerApp, SummaryConfig

# Configure summarizer
config = SummaryConfig(
    model="Qwen3.5-35B-A3B-GGUF",
    input_type="transcript",  # or "email", "auto"
    styles=["executive", "participants", "action_items"],
    max_tokens=1024
)

app = SummarizerApp(config)

# Summarize meeting transcript (file_path is the only required arg;
# there is no output_file kwarg — serialize the returned dict yourself)
result = app.summarize_file(
    file_path="meeting_2024-12-11.txt",
    styles=["executive", "action_items"],
    input_type="transcript",
)

print(result["summaries"]["executive"])
print(result["summaries"]["action_items"])

# Email summarization — the method is `summarize()`, not `summarize_text()`
email_config = SummaryConfig(
    input_type="email",
    styles=["brief", "action_items"],
)

email_app = SummarizerApp(email_config)
result = email_app.summarize(email_content)

# Output includes:
# - Executive summary
# - Participant list
# - Action items with owners
# - Key decisions
# - Timestamps and metadata

CLI Usage

# Summarize meeting transcript — use -i/--input and -o/--output;
# --styles takes a space-separated list (nargs="+"), not commas.
gaia summarize \
    -i meeting.txt \
    -t transcript \
    --styles executive participants action_items \
    -o summary.json

# Summarize email
gaia summarize \
    -i email.txt \
    -t email \
    --styles brief action_items

# Multiple summary styles
gaia summarize \
    -i meeting.txt \
    --styles brief detailed bullets executive action_items