Skip to main content

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:

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

This version

1.1.9

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastworkflow-1.1.9-py3-none-any.whl (57.8 kB view details)

Uploaded Python 3

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

Hashes for fastworkflow-1.1.9.tar.gz
Algorithm Hash digest
SHA256 9e141cabaf95d9c792bd7ce591303fd244cdf48cb5a7cf1fe786205a66bc7292
MD5 a66d51c1dc6f380de493348c4134308b
BLAKE2b-256 03f5c3fd441582bc68bc28469000037728d170a978878650ded35b59f82f7fc3

See more details on using hashes here.

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

Hashes for fastworkflow-1.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ddc6135573a3f2a4e5468d3e6580d0f47666f537408f43acb4935e80b71a4335
MD5 a295b9647288005d0ba0223a7b588d1a
BLAKE2b-256 009b0a0104b6735a6c187542c596b614c33cb5817f0652b3aa090e106b2476a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page