You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* RAG
* quick versions of tasks as functions now pass input to run not the constructor which means no defaults and cloning
* [refactor] Removed unnecessary checks for undefined values when copying additional input properties.
* [refactor] Enhance tasks with service registry integration
* [feat] Introduce input resolver system for enhanced schema handling
* [feat] Introduce new AI tasks
* [refactor] Remove ArrayTask from between JobQueueTask and Task. Refactor AI task schemas to simplify model handling
* [refactor] Remove Provenance from task and task graph
* Refactor document handling and introduce DocumentRepository
* Refactor vector search methods to use similaritySearch
* [refactor] Update constructor signatures in AiTask and JobQueueTask to use Partial<Input> like their parents.
* [refactor] Enhance TextEmbeddingTask and HFT_JobRunFns and TFMP_JobRunFns for array input text handling
* [refactor] Update JsonSchema and TypedArray so typed arrays are deserialized
* [refactor] Update tabular repository implementations to support TypedArraySchemaOptions, simplify overall
Copy file name to clipboardExpand all lines: docs/background/06_run_graph_orchestration.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ The editor DAG is defined by the end user and saved in the database (tasks and d
10
10
11
11
## Graph
12
12
13
-
The graph is a DAG. It is a list of tasks and a list of dataflows. The tasks are the nodes and the dataflows are the connections between task outputs and inputs, plus status and provenance.
13
+
The graph is a DAG. It is a list of tasks and a list of dataflows. The tasks are the nodes and the dataflows are the connections between task outputs and inputs, plus status.
14
14
15
15
We expose events for graphs, tasks, and dataflows. A suspend/resume could be added for bulk creation. This helps keep a UI in sync as the graph runs.
When defining task input schemas, you can use `format` annotations to enable automatic resolution of string identifiers to object instances. The TaskRunner inspects input schemas and resolves annotated string values before task execution.
136
+
137
+
### Built-in Format Annotations
138
+
139
+
The system supports several format annotations out of the box:
When a task runs with `{ emailTemplate: "welcome-email" }`, the resolver automatically converts it to the template object before execution.
229
+
132
230
## Job Queues and LLM tasks
133
231
134
232
We separate any long running tasks as Jobs. Jobs could potentially be run anywhere, either locally in the same thread, in separate threads, or on a remote server. A job queue will manage these for a single provider (like OpenAI, or a local Transformers.js ONNX runtime), and handle backoff, retries, etc.
@@ -148,3 +246,144 @@ Compound Tasks are not cached (though any or all of their children may be).
148
246
## Reactive Task UIs
149
247
150
248
Tasks can be reactive at a certain level. This means that they can be triggered by changes in the data they depend on, without "running" the expensive job based task runs. This is useful for a UI node editor. For example, you change a color in one task and it is propagated downstream without incurring costs for re-running the entire graph. It is like a spreadsheet where changing a cell can trigger a recalculation of other cells. This is implemented via a `runReactive()` method that is called when the data changes. Typically, the `run()` will call `runReactive()` on itself at the end of the method.
249
+
250
+
## AI and RAG Tasks
251
+
252
+
The `@workglow/ai` package provides a comprehensive set of tasks for building RAG (Retrieval-Augmented Generation) pipelines. These tasks are designed to chain together in workflows without requiring external loops.
0 commit comments