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:
    • A custom-built intent detection pipeline for fault-tolerant, self-correcting 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.2.0.tar.gz (52.9 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.2.0-py3-none-any.whl (75.7 kB view details)

Uploaded Python 3

File details

Details for the file fastworkflow-1.2.0.tar.gz.

File metadata

  • Download URL: fastworkflow-1.2.0.tar.gz
  • Upload date:
  • Size: 52.9 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.2.0.tar.gz
Algorithm Hash digest
SHA256 8631ef6b2621046f51c2c299512e23c7b044e29e9fb24d282ca231cc1364fe25
MD5 bf3a641d5cf90ca84838a62dc5d55bc6
BLAKE2b-256 8ab5b6a0745fa4087ce597a3bf78dd7e82e6d554ebc79cc8d3eebff31d3e8851

See more details on using hashes here.

File details

Details for the file fastworkflow-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: fastworkflow-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 75.7 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b37d736be1151f5c5405a82e1b84f9febf7dd8431d696ef72fcbf80ba5924357
MD5 0d588bbd24ff1760140c4ff644d30a2a
BLAKE2b-256 f9ff424b12d0ca545149164b01dedeb2e51f2a59edc7dc4237969e344c9436cd

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