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.1.tar.gz (56.2 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.1-py3-none-any.whl (78.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastworkflow-1.2.1.tar.gz
  • Upload date:
  • Size: 56.2 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.1.tar.gz
Algorithm Hash digest
SHA256 e12a9dbce999a7ddfaf8816820158b4d3cc64745c3b242f62298db46312f6a57
MD5 215ea28e6a6dc06bf7c54efd5d9f5204
BLAKE2b-256 3d984d0f9f591324572101fa95769c31b42e9728b9c22ada6d2f290e7d13378c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastworkflow-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 78.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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4d71c32ba369c7e955a0d6f92e59f0f2990a16492944c4953a9ffc4d8dd71359
MD5 4458e11b9ddce60ac9d37b7881f0fabe
BLAKE2b-256 4fa53cecd4e122a349d638349d24bc9c4a777065164f65750bb2c37cef99d567

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