manankumar7403/AI-Powered-Career-Counselling_Chatbot
AI-Powered Career Counselling Chatbot
Welcome to the AI-Powered Career Counselling Chatbot – an intelligent agent designed to provide personalized career guidance and advice, built using Smol Agents and deployed on Hugging Face Spaces with Gradio.
This project demonstrates how to build specialized AI agents that can provide thoughtful career counseling by combining intelligent reasoning with personalized recommendations based on user interests and goals.
Demo
Try it out on Hugging Face Spaces
Features
- Personalized Career Guidance - Get tailored career suggestions based on your interests and skills
- Multi-Step Reasoning - Built on Smol Agents framework for intelligent decision-making
- Interactive Chat Interface - User-friendly Gradio interface for seamless conversations
- Diverse Career Recommendations - Provides both traditional and emerging career paths
- Extensible Architecture - Easy to add new counseling tools and capabilities
- Lightweight and Responsive - Fast, efficient responses powered by Qwen2.5-Coder-32B
Technologies Used
- Python 3.8+
- [Gradio](https://gradio.app) v5.35.0 - Web interface framework
- [Smol Agents](https://github.com/huggingface/smolagents) - Agent framework for multi-step reasoning
- Qwen2.5-Coder-32B-Instruct - Large language model for intelligent responses
- YAML - Configuration and prompt template management
- Hugging Face Spaces - Deployment platform
Project Structure
career-counselling-chatbot/
├── app.py # Main application entry point
├── README.md # Project documentation
├── requirements.txt # Python dependencies
├── prompts.yaml # Agent prompt templates and system instructions
├── tools/ # Custom tools for the agent
│ ├── final_answer.py
│ ├── visit_webpage.py
│ └── web_search.py
├── agent.json # Agent logic and configuration
├── Gradio_UI.py # Custom Gradio interface implementation
└── .gitattributes # Git configurationGetting Started
Fork and Clone
- Fork this repository on GitHub
- Clone your fork:
git clone https://github.com/manankumar7403/AI-career-counselling-chatbot.git
cd AI-career-counselling-chatbotLocal Installation
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- Install dependencies:
pip install -r requirements.txtRequired packages include:
smolagentsgradio==5.35.0duckduckgo-searchrequestsmarkdownifypytzpyyaml
- Run locally:
python app.pyDeploy to Hugging Face Spaces
- Create a new Space on Hugging Face Spaces
- Choose Gradio as the SDK
- Upload your files or connect your GitHub repository
- The Space will automatically deploy using the configuration in the README header
Usage Examples
Once running, you can interact with the career counseling agent by asking questions like:
- Explore Interests: "I love coding and working with data, what careers should I consider?"
- Career Transitions: "I'm a teacher but want to move into tech, what are my options?"
- Skill Assessment: "I have strong communication skills and enjoy helping people, suggest some careers"
- Industry Insights: "What are some emerging careers in AI and machine learning?"
- Educational Pathways: "What should I study to become a UX designer?"
How It Works
The career counseling chatbot uses a multi-step reasoning approach:
- User Input Processing - Analyzes your interests, skills, and career goals
- Intelligent Reasoning - Uses the Smol Agents framework to break down complex career questions
- Personalized Recommendations - Generates diverse career suggestions tailored to your profile
- Interactive Follow-up - Provides detailed explanations and answers follow-up questions
Customization
Adding New Tools
You can extend the agent's capabilities by adding new tools in the tools/ directory. Each tool should inherit from the Tool class:
from smolagents.tools import Tool
class YourCustomTool(Tool):
name = "your_tool_name"
description = "Description of what your tool does"
inputs = {'param': {'type': 'string', 'description': 'Parameter description'}}
output_type = "string"
def forward(self, param: str) -> str:
# Pls add your tool logic here
return resultModifying Prompts
Edit the prompts.yaml file to customize the agent's behavior, system instructions, and response patterns.
Changing the Model
In app.py, you can switch to different models by modifying the model_id parameter:
model = HfApiModel(
model_id='your-preferred-model', # Change this
max_tokens=2096,
temperature=0.5,
)Contributing
Contributions are welcome! Here's how to contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes and test them
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Areas for Contribution
- Additional career counseling tools
- Integration with job market APIs
- Resume analysis capabilities
- Industry-specific guidance modules
- Multi-language support
License
This project is licensed under the MIT License.
Support
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- For general questions about Smol Agents, refer to their documentation
