The goal is to create a bot that answers common questions related to the employee handbook, such as:
- Is it a holiday on a specific date?
- How do I request a letter from HR?
- How do I use HuHoka?
In the future, the bot will be extended to include features like:
- Bike Pool: Who all are traveling to my hometown this Friday?
- Lunch Menu: What's for lunch today?
- Language: Python
- Libraries: Langchain/LangGraph
- Database: Vector database for efficient query handling
- UI: Simple and user-friendly interface, similar to Streamlit / Chainlit, with an eventual goal to integrate into HuHoka HR
CentraBot/
├── src/
│ ├── bot/
│ │ ├── handlers/
│ │ │ ├── holiday_handler.py
│ │ │ └── hr_request_handler.py
│ │ └── init.py
│ ├── ui/
│ │ ├── admin.py
│ │ └── user.py
│ ├── utils/
│ │ ├── database.py
│ │ └── vector_search.py
│ ├── config/
│ │ └── config.py
│ └── app.py
├── README.md
├── requirements.txt
├── .env
└── .gitignore
- Refer to requirements.txt
- Python (3.8 or higher)
- pip (latest version)
- A vector database setup (e.g., Pinecone, Weaviate)
-
Clone the repository:
git clone https://github.com/Sakshi1261/CentraBot.git cd CentraBot
-
Create a virtual environment and activate it:
python -m venv .venv source venv/bin/activate ... # On Windows use: .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.env
file in the root directory and add the necessary configuration values (e.g., API keys, database URLs). -
Run the application:
python src/app.py
- Ask about holidays: "Is it a holiday on [date]?"
- Request HR documents: "How do I request a letter from HR?"
- HuHoka usage guidance: "How do I use HuHoka?"
- Modular Code: Structure your code into modules for better maintainability.
- Environment Variables: Store configuration and secrets in environment variables.
- Error Handling: Implement proper error handling mechanisms.
- Testing: Write unit and integration tests to ensure code quality.
- Documentation: Maintain clear and concise documentation for your code and API endpoints.
- Security: Follow best practices for security, including input validation and secure storage of sensitive data.
- Bike Pool Feature: Allow employees to see who is traveling to their hometown on a specific date.
- Lunch Menu Feature: Display the lunch menu for the day.
Contributions are welcome! Please fork the repository and create a pull request with your changes. Ensure your code adheres to the project's coding standards and includes relevant tests.
Feel free to reach out to the project maintainer for any questions or support. Happy coding!