Skip to content

Repository files navigation

effiHR

effiHR is an agentic HR performance intelligence project that combines dataset processing, multi-agent analysis, and a Streamlit dashboard.

The project workflow is:

  • Build a unified HR dataset from source files.
  • Run a CrewAI pipeline to generate performance bundles, insights, review drafts, and alerts.
  • Explore results in an interactive dashboard.

Key Features

  • Multi-agent pipeline orchestration from main.py
  • Tooling for HR data access, GitHub activity, and Slack notifications in tools.py
  • Data unification script in process_hr_data.py
  • Dashboard UI in app.py
  • JSON artifacts written to output/

Repository Layout

  • app.py: Streamlit dashboard
  • main.py: Pipeline runner
  • config.py: Environment and runtime configuration
  • tools.py: CrewAI tools (HRMS, GitHub, Slack, output persistence)
  • process_hr_data.py: Builds data/unified_hr_data.json from files in dataset/
  • inspect_datasets.py: Quick dataset inspection helper
  • dataset/: Source datasets (CSV/XLSX)
  • data/: Unified data and optional raw copies
  • output/: Pipeline outputs and state files

Prerequisites

  • Python 3.11+
  • pip

Setup

  1. Create and activate a virtual environment:
python3 -m venv .venv
source .venv/bin/activate
  1. Install dependencies (no lockfile/requirements file is currently committed):
pip install --upgrade pip
pip install crewai streamlit pandas plotly python-dotenv requests PyGithub openpyxl
  1. Create a .env file in the project root:
NVIDIA_API_KEY=your_nvidia_api_key
GITHUB_TOKEN=
GITHUB_ORG=
SLACK_WEBHOOK_URL=

Notes:

  • NVIDIA_API_KEY is required to run the main pipeline.
  • GITHUB_TOKEN and SLACK_WEBHOOK_URL are optional. If absent, the project falls back to mock GitHub data and skips Slack sends.

Quick Start

  1. Optional: inspect source datasets
python inspect_datasets.py
  1. Build unified HR data
python process_hr_data.py
  1. Run the pipeline
python main.py
  1. Launch dashboard
streamlit run app.py

Output Files

The pipeline writes JSON artifacts to output/:

  • performance_bundles.json: Employee-level consolidated signals
  • insight_reports.json: Scored analysis and trend insights
  • review_drafts.json: AI-generated review drafts and rating rationale
  • alerts.json: Alert objects for nudges, risks, and quality issues
  • pipeline_state.json: Current/last run state metadata
  • benchmark_results.json: Benchmark timing snapshot (if produced in your run)

Configuration Notes

  • Core settings live in config.py.
  • PIPELINE_MAX_EMPLOYEES limits how many employees are processed in one run.
  • Performance score weights are validated to sum to 1.0.

Troubleshooting

  • If you see NVIDIA_API_KEY is not set, verify your .env file exists and contains NVIDIA_API_KEY.
  • If dependencies fail to import, activate your virtual environment and reinstall the packages listed above.
  • If output files look stale, rerun python main.py and refresh the dashboard.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages