cedric-agent / README.md
claridon's picture
Upload folder using huggingface_hub
d1b7767 verified
---
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](https://docs.astral.sh/uv/) (recommended) or pip
- OpenAI API key
- Pushover account (optional, for notifications)
### Installation
1. Clone the repository:
```bash
git clone https://github.com/cedriclaridon/cedric-agent.git
cd cedric-agent
```
2. Install dependencies using uv (recommended):
```bash
uv sync
```
Or using pip:
```bash
pip install -r requirements.txt
```
3. Create a `.env` file in the root directory with your API keys:
```env
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):
```bash
uv run python app.py
```
Or using python directly:
```bash
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-mini
- `PUSHOVER_TOKEN`: Optional. Pushover application token for notifications
- `PUSHOVER_USER`: Optional. Pushover user key for notifications
### Personal Data
The chatbot uses two main sources of personal information:
1. **`me/summary.txt`**: A brief personal summary
2. **`me/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
1. **System Prompt**: The chatbot is given a comprehensive system prompt that includes personal summary and LinkedIn data
2. **Function Calling**: Uses OpenAI's function calling to record user details and unknown questions
3. **Notifications**: Sends real-time notifications via Pushover when users provide contact info or ask unknown questions
4. **Conversation Flow**: Designed to engage users and encourage them to provide contact information
## Customization
To adapt this chatbot for your own use:
1. Replace `me/summary.txt` with your personal summary
2. Replace `me/cedric-linkedin.pdf` with your LinkedIn profile PDF
3. Update the name in `app.py` (line 80: `self.name = "Your Name"`)
4. Modify the system prompt in the `system_prompt()` method if needed
5. Update the contact information in this README
## License
This project is licensed under the MIT License - see the [LICENSE](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.