Skip to content

LLM-powered assistant for creating, editing, and interpreting business process diagrams

License

Notifications You must be signed in to change notification settings

jtlicardo/bpmn-assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

BPMN Assistant is an application that uses Large Language Models (LLMs) to assist with creating, editing, and interpreting Business Process Model and Notation (BPMN) diagrams.

Quickstart

  1. Clone the repository
git clone https://github.com/jtlicardo/bpmn-assistant.git
cd bpmn-assistant
  1. Set up your environment variables
Linux, macOS
cd src/bpmn_assistant
cp .env.example .env
Windows
cd src\bpmn_assistant
copy .env.example .env
  1. Open the .env file and replace the placeholder values with your actual API keys.

  2. Build and run the application

docker-compose up --build
  1. Open your browser and go to http://localhost:8080

Prerequisites

Note: You can use any combination of the API keys above, but at least one is required to use the app.

Supported models

OpenAI

  • GPT-4o mini
  • GPT-4o
  • o1-preview (reasoning model)
  • o1-mini (reasoning model)

Note: o1-preview and o1-mini are used as reasoning models to enhance the application's capabilities:

  1. They "think through" the process before creating BPMN diagrams, leading to more logical and coherent results
  2. They analyze and define change requests when editing diagrams, improving accuracy and consistency

These models are used in conjunction with their respective GPT-4o counterparts as they don't support structured outputs yet. While providing enhanced performance, they have longer response times and can incur significant costs.

Anthropic

  • Claude 3.5 Haiku
  • Claude 3.5 Sonnet

Google

  • Gemini 2.0 Flash
  • Gemini 1.5 Pro

Fireworks AI

  • Llama 3.3 70B Instruct
  • Qwen 2.5 72B Instruct
  • Deepseek V3
  • Deepseek R1 (reasoning model)

Note: Deepseek R1 is used together with Deepseek V3, similar to the OpenAI model pairings.

Screenshots

Screenshot

Screenshot

Core features

  1. Diagram creation - Generates BPMN diagrams based on text descriptions.
  2. Diagram editing - Modifies BPMN diagrams based on user input.
  3. Diagram interpretation - Provides text descriptions of BPMN diagrams.
  4. Drag-and-drop functionality - Users can drag and drop BPMN files (containing only supported elements) into the editor, then ask the LLM to edit or explain the process.

Supported elements

The application currently supports a subset of BPMN elements:

  • Task
  • User task
  • Service task
  • Exclusive gateway
  • Parallel gateway
  • Start event
  • End event

Limitations

  • The AI assistant does not "see" manual edits made to the diagram. It always responds based on its last generated version. Keep this in mind when interacting with the assistant after making manual changes.
  • Pools and lanes are not and will not be supported.

Contact

If you have any questions or feedback, please open an issue on this GitHub repository.