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.2.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.2-py3-none-any.whl (78.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastworkflow-1.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 332b3caf8745e3f5a232ab1e522f22af3f9a73e0bb01db01af121e2c9d82da1a
MD5 3503a6debc9f5edba7292961ed52cf29
BLAKE2b-256 af4262315ab07d9572022aa87609a56e94b6558b1d9724f5101c64356b354905

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastworkflow-1.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4c6b5000a419cbffb39442ec22c986d2278b1078ca8218fe3fdab41ffdcbc0b4
MD5 4d8b1721a8f93f6ca3ee2483ce02243e
BLAKE2b-256 53be8e35640e12d98af3cc4b9d8aab71ae0a48bb40aafb5113fdfb21b817b34c

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