Spaces:
Sleeping
A newer version of the Gradio SDK is available:
6.3.0
title: cedric-agent
app_file: app.py
sdk: gradio
sdk_version: 5.39.0
Cedric Agent - Personal AI Chatbot
A personal AI chatbot that represents Cedric Laridon on his website, answering questions about his career, background, skills, and experience.
Features
- Personal AI Assistant: Acts as Cedric Laridon, answering questions about his professional background
- LinkedIn Integration: Uses Cedric's LinkedIn profile data to provide accurate responses
- Contact Recording: Captures visitor contact information and unknown questions via Pushover notifications
- Web Interface: Clean Gradio interface for easy interaction
- Professional Engagement: Designed to engage potential clients and employers
Setup
Prerequisites
- Python 3.12 or higher
- uv (recommended) or pip
- OpenAI API key
- Pushover account (optional, for notifications)
Installation
- Clone the repository:
git clone https://github.com/cedriclaridon/cedric-agent.git
cd cedric-agent
- Install dependencies using uv (recommended):
uv sync
Or using pip:
pip install -r requirements.txt
- Create a
.envfile in the root directory with your API keys:
OPENAI_API_KEY=your_openai_api_key_here
PUSHOVER_TOKEN=your_pushover_token_here
PUSHOVER_USER=your_pushover_user_key_here
Running the Application
Using uv (recommended):
uv run python app.py
Or using python directly:
python app.py
The application will launch a Gradio interface, typically accessible at http://localhost:7860.
Configuration
Environment Variables
OPENAI_API_KEY: Required. Your OpenAI API key for GPT-4o-miniPUSHOVER_TOKEN: Optional. Pushover application token for notificationsPUSHOVER_USER: Optional. Pushover user key for notifications
Personal Data
The chatbot uses two main sources of personal information:
me/summary.txt: A brief personal summaryme/cedric-linkedin.pdf: LinkedIn profile export in PDF format
Update these files with your own information to customize the chatbot for your use.
How It Works
- System Prompt: The chatbot is given a comprehensive system prompt that includes personal summary and LinkedIn data
- Function Calling: Uses OpenAI's function calling to record user details and unknown questions
- Notifications: Sends real-time notifications via Pushover when users provide contact info or ask unknown questions
- Conversation Flow: Designed to engage users and encourage them to provide contact information
Customization
To adapt this chatbot for your own use:
- Replace
me/summary.txtwith your personal summary - Replace
me/cedric-linkedin.pdfwith your LinkedIn profile PDF - Update the name in
app.py(line 80:self.name = "Your Name") - Modify the system prompt in the
system_prompt()method if needed - Update the contact information in this README
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
This is a personal project, but feel free to fork it and adapt it for your own use. If you have suggestions for improvements, please open an issue.
Contact
For questions about this project, please contact Cedric Laridon through the chatbot interface or via the contact methods provided on his website.