|
1 | 1 | # HR Goal Alignment Chatbot |
2 | 2 |
|
3 | | -This project provides an AI-powered HR assistant suite built using Oracle Cloud Infrastructure's Generative AI, Oracle Database, and Streamlit. |
| 3 | +This Streamlit-based application demonstrates a modular, AI-powered HR chatbot system designed to help employees and managers align their goals through structured, data-informed conversations. |
4 | 4 |
|
5 | | -This asset lives under: `ai/generative-ai-service/hr-goal-alignment` |
| 5 | +The system integrates with Oracle Database and uses OCI's Generative AI models to simulate goal alignment and cascading throughout an organization. |
6 | 6 |
|
| 7 | +Reviewed Date: 22.09.2025 |
7 | 8 | --- |
8 | 9 |
|
9 | | -## When to use this asset? |
10 | | - |
11 | | -This chatbot system is designed to support employee–manager goal alignment, self-assessment reflection, course recommendations, and meeting preparation through conversational AI. It’s especially useful during performance review cycles and organizational alignment phases. |
| 10 | +## Features |
| 11 | + |
| 12 | +- Modular chatbot interfaces: |
| 13 | + - **Self-Assessment Chatbot**: guides employees in preparing for evaluations |
| 14 | + - **Goal Alignment Chatbot**: facilitates alignment of goals with organizational strategy |
| 15 | + - **Course Recommendation Chatbot** |
| 16 | + - **Manager Meeting Preparation Chatbot** |
| 17 | +- Live Oracle Database integration for: |
| 18 | + - Self-assessments |
| 19 | + - Manager briefings |
| 20 | + - Goal sheets |
| 21 | +- AI-powered conversations using **Oracle Generative AI** via **LangChain** |
| 22 | +- Goal refinement tracking and database updates |
| 23 | +- Org chart visualization using **Graphviz** |
| 24 | +- Downloadable chat transcripts |
| 25 | +- Modular codebase with reusable prompt templates |
12 | 26 |
|
13 | 27 | --- |
14 | 28 |
|
15 | | -## How to use this asset? |
| 29 | +## Project Structure |
| 30 | + |
| 31 | +```text |
| 32 | +. |
| 33 | +├── app.py |
| 34 | +├── config.py |
| 35 | +├── course_vector_utils.py |
| 36 | +├── data/ |
| 37 | +│ └── Full_Company_Training_Catalog.xlsx |
| 38 | +├── data_ingestion_courses.py |
| 39 | +├── gen_ai_service/ |
| 40 | +│ └── inference.py |
| 41 | +├── goal_alignment_backend.py |
| 42 | +├── org_chart_backend.py |
| 43 | +├── org_chart.py |
| 44 | +├── pages/ |
| 45 | +│ ├── course_recommendation_chatbot.py |
| 46 | +│ ├── goal_alignment_chatbot.py |
| 47 | +│ ├── manager_meeting_chatbot.py |
| 48 | +│ └── self_assessment_chatbot.py |
| 49 | +├── scripts/ |
| 50 | +│ ├── create_tables.py |
| 51 | +│ └── populate_demo_data.py |
| 52 | +├── utils.py |
| 53 | +├── requirements.txt |
| 54 | +└── README.md |
| 55 | +``` |
16 | 56 |
|
17 | | -See the full setup and usage guide in [`files/README.md`](./files/README.md). |
| 57 | +## Setup Instructions |
18 | 58 |
|
19 | | ---- |
| 59 | +### 1. Clone the repository |
| 60 | +git clone https://github.com/your-username/hr-goal-alignment-chatbot.git |
| 61 | +cd hr-goal-alignment-chatbot |
20 | 62 |
|
21 | | -## License |
| 63 | +### 2. Create and activate a virtual environment |
| 64 | +python3 -m venv venv |
| 65 | +On Mac: |
| 66 | +source venv/bin/activate |
| 67 | +On Windows: |
| 68 | +venv\Scripts\activate |
22 | 69 |
|
23 | | -Copyright (c) 2025 Oracle and/or its affiliates. |
| 70 | +### 3. Install dependencies |
| 71 | +pip install -r requirements.txt |
24 | 72 |
|
25 | | -Licensed under the Universal Permissive License (UPL), Version 1.0. |
| 73 | +Setting up Graphviz in your virtual environment |
| 74 | +Our Streamlit org‑chart relies on the Graphviz binaries as well as the Python wrapper. |
| 75 | +Follow these steps inside the virtual environment where you’ll run the app. |
26 | 76 |
|
27 | | -See [LICENSE](./LICENSE) for more details. |
| 77 | +On Mac: |
| 78 | +brew install graphviz |
| 79 | +pip install graphviz |
| 80 | +Ensure the Graphviz /bin directory is added to your system PATH. |
| 81 | +(export PATH="/opt/homebrew/bin:$PATH") |
28 | 82 |
|
29 | | ---- |
| 83 | +On Windows: |
| 84 | +Download and install Graphviz from https://graphviz.org/download/ |
| 85 | +Ensure the Graphviz /bin directory is added to your system PATH. |
30 | 86 |
|
31 | | -> ORACLE AND ITS AFFILIATES DO NOT PROVIDE ANY WARRANTY WHATSOEVER, EXPRESS OR IMPLIED, FOR ANY SOFTWARE, MATERIAL OR CONTENT OF ANY KIND CONTAINED OR PRODUCED WITHIN THIS REPOSITORY, AND IN PARTICULAR SPECIFICALLY DISCLAIM ANY AND ALL IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. FURTHERMORE, ORACLE AND ITS AFFILIATES DO NOT REPRESENT THAT ANY CUSTOMARY SECURITY REVIEW HAS BEEN PERFORMED WITH RESPECT TO ANY SOFTWARE, MATERIAL OR CONTENT CONTAINED OR PRODUCED WITHIN THIS REPOSITORY. IN ADDITION, AND WITHOUT LIMITING THE FOREGOING, THIRD PARTIES MAY HAVE POSTED SOFTWARE, MATERIAL OR CONTENT TO THIS REPOSITORY WITHOUT ANY REVIEW. USE AT YOUR OWN RISK. |
| 87 | +### 4. Configure Oracle access |
| 88 | +Before running the application, you need to provide your Oracle Cloud Infrastructure (OCI) and Autonomous Database credentials. This entails that you need to have an Oracle Autonomous Database set up in advance in order for this code to work. |
32 | 89 |
|
| 90 | +1. Create a config file: |
| 91 | + copy the provided template to a new config file |
| 92 | + cp config_template.py config.py |
33 | 93 |
|
34 | | -## Disclaimer |
| 94 | +2. Edit config.py and fill in the following: |
| 95 | +OCI Settings: |
| 96 | + |
| 97 | +OCI_COMPARTMENT_ID: Your OCI compartment OCID. |
| 98 | +REGION: e.g., eu-frankfurt-1 |
| 99 | +GEN_AI_ENDPOINT: Leave as-is unless using a custom endpoint. |
| 100 | +AUTH_TYPE: Set to "API_KEY" or "RESOURCE_PRINCIPAL" depending on your deployment. |
| 101 | + |
| 102 | +Model Settings: |
| 103 | + |
| 104 | +EMBEDDING_MODEL_ID: Default is a Cohere model. |
| 105 | +GENERATION_MODEL_ID: Also Cohere, or replace with your chosen provider. |
| 106 | + |
| 107 | +Database Credentials: |
| 108 | + |
| 109 | +DB_USER, DB_PASSWORD: Your ADB login credentials. |
| 110 | +DB_DSN: Your TNS-style connection string. You can get this from the Oracle Cloud Console → Autonomous Database → Database Connection → "Wallet Details" → "Connection String". |
| 111 | + |
| 112 | +GENERATE_MODEL = "ocid1.generativemodel.oc1..xxxxx" |
| 113 | +ENDPOINT = "https://inference.generativeai.region.oraclecloud.com" |
| 114 | +COMPARTMENT_ID = "ocid1.compartment.oc1..xxxxx" |
| 115 | + |
| 116 | +### 5. Populate Demo (Optional) |
| 117 | +To populate the database with example self-assessment records, manager briefings, and goal sheets: |
| 118 | +python scripts/populate_demo_data.py |
| 119 | + |
| 120 | +### 6. Run the App |
| 121 | +To start the chatbot system locally: |
| 122 | +streamlit run app.py |
| 123 | +You can then navigate to the provided local URL (usually http://localhost:8501) to interact with the available chatbots. |
| 124 | + |
| 125 | +## Demo Workflow Example |
| 126 | +A manager uses the Goal Alignment Chatbot to refine their goals with the help of Oracle Generative AI. |
| 127 | +These refinements are tracked and optionally applied to the database. |
| 128 | +Next, a direct report uses the same chatbot — now aligning their own goals with the updated manager goals. |
| 129 | +This demonstrates how alignment cascades hierarchically through the organization. |
| 130 | + |
| 131 | +Meanwhile, employees can: |
35 | 132 |
|
36 | | -ORACLE AND ITS AFFILIATES DO NOT PROVIDE ANY WARRANTY WHATSOEVER, EXPRESS OR IMPLIED, FOR ANY SOFTWARE, MATERIAL OR CONTENT OF ANY KIND CONTAINED OR PRODUCED WITHIN THIS REPOSITORY, AND IN PARTICULAR SPECIFICALLY DISCLAIM ANY AND ALL IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. FURTHERMORE, ORACLE AND ITS AFFILIATES DO NOT REPRESENT THAT ANY CUSTOMARY SECURITY REVIEW HAS BEEN PERFORMED WITH RESPECT TO ANY SOFTWARE, MATERIAL OR CONTENT CONTAINED OR PRODUCED WITHIN THIS REPOSITORY. IN ADDITION, AND WITHOUT LIMITING THE FOREGOING, THIRD PARTIES MAY HAVE POSTED SOFTWARE, MATERIAL OR CONTENT TO THIS REPOSITORY WITHOUT ANY REVIEW. USE AT YOUR OWN RISK. |
| 133 | +Use the Self-Assessment Chatbot to reflect on performance areas. |
| 134 | + |
| 135 | +Use the Manager Meeting Preparation Chatbot to view summaries and briefings. |
| 136 | + |
| 137 | +Get personalized course recommendations aligned to their career goals. |
| 138 | + |
| 139 | +View the organizational hierarchy using the integrated org chart visualizer. |
| 140 | + |
| 141 | + |
| 142 | +## Tech Stack |
| 143 | +Frontend: Streamlit |
| 144 | + |
| 145 | +Backend: Python |
| 146 | + |
| 147 | +Data Layer: Oracle Autonomous Database |
| 148 | + |
| 149 | +AI Orchestration: LangChain |
| 150 | + |
| 151 | +LLM Provider: Oracle Generative AI (via Cohere or other supported backends) |
| 152 | + |
| 153 | +Graph Visualization: Graphviz (for org charts) |
| 154 | + |
| 155 | +## License |
| 156 | +Copyright (c) 2025 Oracle and/or its affiliates. |
| 157 | + |
| 158 | +Licensed under the Universal Permissive License (UPL), Version 1.0. |
| 159 | +See the LICENSE file for more details. |
| 160 | + |
| 161 | +## Disclaimer |
| 162 | +ORACLE AND ITS AFFILIATES DO NOT PROVIDE ANY WARRANTY WHATSOEVER, EXPRESS OR IMPLIED, FOR ANY SOFTWARE, MATERIAL OR CONTENT OF ANY KIND CONTAINED OR PRODUCED WITHIN THIS REPOSITORY, AND IN PARTICULAR SPECIFICALLY DISCLAIM ANY AND ALL IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE. |
| 163 | +FURTHERMORE, ORACLE AND ITS AFFILIATES DO NOT REPRESENT THAT ANY CUSTOMARY SECURITY REVIEW HAS BEEN PERFORMED WITH RESPECT TO ANY SOFTWARE, MATERIAL OR CONTENT CONTAINED OR PRODUCED WITHIN THIS REPOSITORY. |
| 164 | +IN ADDITION, AND WITHOUT LIMITING THE FOREGOING, THIRD PARTIES MAY HAVE POSTED SOFTWARE, MATERIAL OR CONTENT TO THIS REPOSITORY WITHOUT ANY REVIEW. USE AT YOUR OWN RISK. |
0 commit comments