Feedback Operator
Overview
Section titled “Overview”The Feedback LOP is designed to manage and manipulate conversation data within a TouchDesigner environment. It allows users to establish a starting point or reset point for a conversation, primarily by copying data from an input table to a conversation table. This is useful for setting up example conversations, enforcing patterns for LLM agents, or resetting the conversation state.
Requirements
Section titled “Requirements”- None (standard TouchDesigner installation).
Input/Output
Section titled “Input/Output”Inputs
Section titled “Inputs”- Input 1 (Initial Conversation, Table DAT): Provides the initial state or reset point. Columns:
role
,message
,id
,timestamp
. - Input 2 (Ongoing Conversation, Table DAT): Provides ongoing conversation data. Columns:
role
,message
,id
,timestamp
.
Outputs
Section titled “Outputs”- Output Conversation (Table DAT): Contains the current conversation state. Either a copy of Input 1 (if Reset is active) or Input 2 (if Reset is inactive).
Parameters
Section titled “Parameters”Feedback Page
Section titled “Feedback Page” Target DAT (Targetdat)
op('feedback').par.Targetdat
OP - Default:
None
Reset (Reset)
op('feedback').par.Reset
Toggle - Default:
0
Resetpulse (Resetpulse)
op('feedback').par.Resetpulse
Pulse - Default:
None
About Page
Section titled “About Page” Bypass (Bypass)
op('feedback').par.Bypass
Toggle - Default:
0
Show Built In Pars (Showbuiltin)
op('feedback').par.Showbuiltin
Toggle - Default:
0
Version (Version)
op('feedback').par.Version
String - Default:
1.0.0
Last Updated (Lastupdated)
op('feedback').par.Lastupdated
String - Default:
2024-11-06
Creator (Creator)
op('feedback').par.Creator
String - Default:
dotsimulate
Website (Website)
op('feedback').par.Website
String - Default:
https://dotsimulate.com
ChatTD Operator (Chattd)
op('feedback').par.Chattd
OP - Default:
/dot_lops/ChatTD
Performance Considerations
Section titled “Performance Considerations”- Lightweight operation.
- Resetting very large conversations frequently might cause minor performance dips.
Usage Examples
Section titled “Usage Examples”Starting a Conversation
Section titled “Starting a Conversation”feedback_op = op('feedback1')initial_conv = op('initial_conversation_dat')ongoing_conv = op('ongoing_conversation_dat')
feedback_op.inputConnectors[0].connect(initial_conv)feedback_op.inputConnectors[1].connect(ongoing_conv)
# Ensure Reset is off to use the ongoing conversationfeedback_op.par.Reset = 0
# The output DAT will reflect the content of ongoing_conv
Resetting to Initial State
Section titled “Resetting to Initial State”feedback_op = op('feedback1')initial_conv = op('initial_conversation_dat')
feedback_op.inputConnectors[0].connect(initial_conv)
# Either toggle Reset On or pulse Resetpulse# feedback_op.par.Reset = 1feedback_op.par.Resetpulse.pulse()
# The output DAT now contains the data from initial_conv
Common Use Cases
Section titled “Common Use Cases”- Establishing a starting point for LLM agent conversations.
- Enforcing specific conversation patterns or structures.
- Resetting conversation state to a predefined example.
- Testing conversation flows by selectively resetting.