The Process Analyst Copilot is an application designed to assist process analysts in automating various tasks such as drafting processes, capturing assumptions, and clarifying details. It leverages a language model to provide intelligent responses and streamline the workflow.
- Draft Process: Automatically draft business processes based on input queries.
- Capture Assumptions: Identify and document assumptions during the analysis.
- Clarify Details: Provide detailed clarifications on specific aspects of the business process.
- Quality Assurance: Review and improve specific aspects of the business process.
- Integration with YAML Configurations: Load and utilize configurations from YAML files for agents and tasks.
-
Clone the repository:
git clone https://github.com/wolffy-au/process-analyst-copilot.git cd process-analyst-copilot -
Install dependencies using Poetry:
poetry install pip install spacy python -m spacy download en_core_web_sm
-
Set up the environment variables:
cp .env.example .env
-
Update the
.envfile with the necessary configurations. -
(Optional) If you wish to use a CQPA reference for the process quality assurance step, the handbook can be copied here:
cp certified-quality-process-analyst-handbook.pdf config\references\
The application uses YAML files for configuring agents and tasks. These files are located in the config directory:
- agents.yaml: Configuration for agents.
- tasks.yaml: Configuration for tasks.
Copy one of the sample.py files to continue:
- openai-sample.py
- ollama-sample.py
- gemini-sample.py
-
Run the application:
poetry run python sample.py
-
The main entry point is the
kickoffmethod in theClarifyTheAskclass, which initiates the process based on the provided input query. -
Check the
outputsdirectory for the results.
Here is an example of how to use the application:
from crewai import LLM
from process_analyst_copilot import ClarifyTheAsk
llm_model = LLM(
model="ollama/llama3.1:8b",
temperature=0.3,
)
draft_process = ClarifyTheAsk(llm_model=llm_model)
draft_process.setup()
result = draft_process.kickoff(input_ask="How do I make a good cup of tea?")
print("See the outputs directory for outputs.")To run the tests, use the following command: poetry run pytest
Note: The semantic_assert function has a verbose parameter that can be set to True to log the similarity score during testing.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Contributions are welcome! Please read the CONTRIBUTING.md file for guidelines on how to contribute to this project.
For any questions or issues, please open an issue on GitHub or contact the maintainers.