darabos commited on
Commit
4524b65
·
1 Parent(s): e2d0e27

A loop node, not working yet.

Browse files
Files changed (2) hide show
  1. server/llm_ops.py +7 -0
  2. server/ops.py +19 -0
server/llm_ops.py CHANGED
@@ -63,3 +63,10 @@ def view(input):
63
  }}
64
  }
65
  return v
 
 
 
 
 
 
 
 
63
  }}
64
  }
65
  return v
66
+
67
+ @ops.input_position(input="right")
68
+ @ops.output_position(output="left")
69
+ @ops.op("Loop")
70
+ def loop(input, *, max_iterations: int = 10):
71
+ '''Data can flow back here until it becomes empty or reaches the limit.'''
72
+ return input
server/ops.py CHANGED
@@ -176,6 +176,25 @@ def op(name, *, view='basic', sub_nodes=None):
176
  op.sub_nodes = sub_nodes
177
  op.type = 'sub_flow'
178
  ALL_OPS[name] = op
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
  return func
180
  return decorator
181
 
 
176
  op.sub_nodes = sub_nodes
177
  op.type = 'sub_flow'
178
  ALL_OPS[name] = op
179
+ func.__op__ = op
180
+ return func
181
+ return decorator
182
+
183
+ def input_position(**kwargs):
184
+ '''Decorator for specifying unusual positions for the inputs.'''
185
+ def decorator(func):
186
+ op = func.__op__
187
+ for k, v in kwargs.items():
188
+ op.inputs[k].position = v
189
+ return func
190
+ return decorator
191
+
192
+ def output_position(**kwargs):
193
+ '''Decorator for specifying unusual positions for the outputs.'''
194
+ def decorator(func):
195
+ op = func.__op__
196
+ for k, v in kwargs.items():
197
+ op.outputs[k].position = v
198
  return func
199
  return decorator
200