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
role
andmessage
columns. - 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 Tokens
affects 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.