Summarize Operator
The Summarize LOP leverages AI models to generate summaries of conversations, tables, or text. It supports various summary types (brief, detailed, bullet points, action items) and integrates with different AI API servers (OpenRouter, OpenAI, Groq, Ollama, LM Studio, Custom) for model selection. This operator is particularly useful for quickly condensing large amounts of information into digestible formats, aiding in decision-making and information retrieval.
Requirements
Section titled “Requirements”- Python Packages: Required based on selected API server (e.g.,
openai). - ChatTD Operator: Required and must be configured.
Input/Output
Section titled “Input/Output”Inputs
Section titled “Inputs”- Conversation (Table DAT): Requires
roleandmessagecolumns. - Table (Table DAT): Generic table data.
- Text (Text DAT): Plain text content.
Outputs
Section titled “Outputs”- Summary (Text DAT): Contains the generated summary.
Parameters
Section titled “Parameters”Summary Page
Section titled “Summary Page” Summary (Summary)
op('summarize').par.Summary Str - Default:
"" (Empty String)
Custom Prompt (Customprompt)
op('summarize').par.Customprompt Str - Default:
None
Auto Call Summary (Autocall)
op('summarize').par.Autocall Toggle - Default:
false
Active (Active)
op('summarize').par.Active Toggle - Default:
false
Call Summary (Call)
op('summarize').par.Call Pulse - Default:
None
JSON Mode (Jsonmode)
op('summarize').par.Jsonmode Toggle - Default:
false
Header
Model Page
Section titled “Model Page” Output Settings Header
Max Tokens (Maxtokens)
op('summarize').par.Maxtokens Int - Default:
256
Temperature (Temperature)
op('summarize').par.Temperature Float - Default:
0.0
Model Selection Header
Controller [ Model ] (Modelcontroller)
op('summarize').par.Modelcontroller OP - Default:
None
Search (Search)
op('summarize').par.Search Toggle - Default:
false
Model Search (Modelsearch)
op('summarize').par.Modelsearch Str - Default:
None
Callbacks Page
Section titled “Callbacks Page” Callbacks Header
Callback DAT (Callbackdat)
op('summarize').par.Callbackdat DAT - Default:
ChatTD_callbacks
Edit Callbacks (Editcallbacksscript)
op('summarize').par.Editcallbacksscript Pulse - Default:
None
Create Callbacks (Createpulse)
op('summarize').par.Createpulse Pulse - Default:
None
onSummaryComplete (Onsummarycomplete)
op('summarize').par.Onsummarycomplete Toggle - Default:
false
About Page
Section titled “About Page” Show Built In Pars (Showbuiltin)
op('summarize').par.Showbuiltin Toggle - Default:
false
Version (Version)
op('summarize').par.Version String - Default:
None
Last Updated (Lastupdated)
op('summarize').par.Lastupdated String - Default:
None
Chattd (Chattd)
op('summarize').par.Chattd OP - Default:
None
Creator (Creator)
op('summarize').par.Creator String - Default:
None
Website (Website)
op('summarize').par.Website String - Default:
None
Bypass (Bypass)
op('summarize').par.Bypass Toggle - Default:
false
Callbacks
Section titled “Callbacks” Available Callbacks:
onSummaryComplete
Example Callback Structure:
def onSummaryComplete(info):
# Called when the summarization process finishes successfully
# info dictionary contains details like:
# - op: The Summarize operator
# - summary: The generated summary text
# - inputType: 'conversation', 'table', or 'text'
print(f"Summary generated: {info.get('summary')[:50]}...")
# Example: op('summary_display_text').text = info.get('summary')
pass Performance Considerations
Section titled “Performance Considerations”Max Tokensaffects summary length and processing time.- Model choice impacts speed and quality; experiment with different providers/models.
Usage Examples
Section titled “Usage Examples”Summarizing a Conversation
Section titled “Summarizing a Conversation”summarize_op = op('summarize1')conv_dat = op('conversation_log') # Table DAT with role, message cols
summarize_op.inputConnectors[0].connect(conv_dat)summarize_op.par.Inputtype = 'conversation'summarize_op.par.Summarytype = 'brief'summarize_op.par.Call.pulse()
# Summary result in summarize_op.op('summary_dat')Using a Custom Prompt for Table Summary
Section titled “Using a Custom Prompt for Table Summary”summarize_op = op('summarize1')table_dat = op('sales_data')
summarize_op.inputConnectors[1].connect(table_dat) # Connect to Table inputs summarize_op.par.Inputtype = 'table'summarize_op.par.Summarytype = 'bullet points's summarize_op.par.Customprompt = "Summarize the key sales trends from this table."summarize_op.par.Call.pulse()Common Use Cases
Section titled “Common Use Cases”- Condensing meeting transcripts.
- Extracting key info from data tables.
- Summarizing customer feedback.
- Creating executive summaries of reports.
- Automating news article summarization.