CoolFace
Apppublic

manankumar7403/AI-Powered-Career-Counselling_Chatbot

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
App README

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.

Hugging Face Spaces Gradio SDK Python

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 configuration

Getting Started

Fork and Clone

  1. 1.Fork this repository on GitHub
  2. 2.Clone your fork:
bash
git clone https://github.com/manankumar7403/AI-career-counselling-chatbot.git
cd AI-career-counselling-chatbot

Local Installation

  1. 1.Create a virtual environment (recommended):
bash
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. 1.Install dependencies:
bash
pip install -r requirements.txt

Required packages include:

  • smolagents
  • gradio==5.35.0
  • duckduckgo-search
  • requests
  • markdownify
  • pytz
  • pyyaml
  1. 1.Run locally:
bash
python app.py

Deploy to Hugging Face Spaces

  1. 1.Create a new Space on Hugging Face Spaces
  2. 2.Choose Gradio as the SDK
  3. 3.Upload your files or connect your GitHub repository
  4. 4.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:

  1. 1.User Input Processing - Analyzes your interests, skills, and career goals
  2. 2.Intelligent Reasoning - Uses the Smol Agents framework to break down complex career questions
  3. 3.Personalized Recommendations - Generates diverse career suggestions tailored to your profile
  4. 4.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:

python
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 result

Modifying 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:

python
model = HfApiModel(
    model_id='your-preferred-model',  # Change this
    max_tokens=2096,
    temperature=0.5,
)

Contributing

Contributions are welcome! Here's how to contribute:

  1. 1.Fork the repository
  2. 2.Create a feature branch (git checkout -b feature/amazing-feature)
  3. 3.Make your changes and test them
  4. 4.Commit your changes (git commit -m 'Add amazing feature')
  5. 5.Push to the branch (git push origin feature/amazing-feature)
  6. 6.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:

  1. 1.Check the Issues page
  2. 2.Create a new issue if your problem isn't already reported
  3. 3.For general questions about Smol Agents, refer to their documentation