A framework for rapidly building large-scale, deterministic, interactive workflows with a fault-tolerant, conversational UX
Project description
fastWorkflow
A framework for rapidly building large-scale, deterministic, interactive workflows with a fault-tolerant, conversational UX and AI-powered recommendations.
- Built on the principle on "Convention over configuration", ALA Ruby on Rails
- Uses:
- Semantic Router for fast command routing
- Pydantic and DSPy for parameter extraction and response generation
Concepts
- Workflows are defined as a directory hierarchy of workitem types
- Workitems can be ordered
- Min/max constraints can be defined for the number of child workitems (one, unlimited, min/max)
- Workflows can delegate to other workflows
- Commands are exposed for each workitem type
- Commands may be specific to one workitem type or inheritable by child workitem types (base commands)
- Users are guided through the workflow but have complete control over navigation
- Workflow navigation and command execution are exposed via a chat interface
- Special constrained workflows are used to handle routing and parameter extraction errors
- AI-powered recommendations after every command interaction
- Recommendations are generated AFTER a command has been processed. The user has complete control over the workflow and discretion over whether to follow a recommendation or take a different action.
Getting started
- Clone the repo
- Use WSL if you are on Windows
- Create an env folder with a .env file inside and add the following entries
- DSPY_LM_MODEL: the model to use for the DSPy API
- SPEEDDICT_FOLDERNAME: the folder where the workflow definitions are stored
- export the OPENAI_API_KEY as an environment variable
- Note: If you use a different model, specify the model path in the DSPY_LM_MODEL environment variable (The app uses Litellm as the LLM wrapper)
- Train then run the sample workflow
- Hint: review the .vscode/launch.json file for training/running the sample workflow
Future Roadmap
- Training pipeline for prompt-tuning/fine-tuning the models - routing, parameter extraction, response generation, and recommendations
- Connectors to email, slack, databases etc.
- A chat assistant for generating workflow application code
- A chat assistant for generating natural language to SQL mappings
- An AI engine to guide users at every step of the workflow with command recommendations
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
fastworkflow-1.1.9.tar.gz
(39.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastworkflow-1.1.9.tar.gz.
File metadata
- Download URL: fastworkflow-1.1.9.tar.gz
- Upload date:
- Size: 39.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.2 Linux/5.15.167.4-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e141cabaf95d9c792bd7ce591303fd244cdf48cb5a7cf1fe786205a66bc7292
|
|
| MD5 |
a66d51c1dc6f380de493348c4134308b
|
|
| BLAKE2b-256 |
03f5c3fd441582bc68bc28469000037728d170a978878650ded35b59f82f7fc3
|
File details
Details for the file fastworkflow-1.1.9-py3-none-any.whl.
File metadata
- Download URL: fastworkflow-1.1.9-py3-none-any.whl
- Upload date:
- Size: 57.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.2 Linux/5.15.167.4-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddc6135573a3f2a4e5468d3e6580d0f47666f537408f43acb4935e80b71a4335
|
|
| MD5 |
a295b9647288005d0ba0223a7b588d1a
|
|
| BLAKE2b-256 |
009b0a0104b6735a6c187542c596b614c33cb5817f0652b3aa090e106b2476a5
|