EchoSoul is a web application that allows you to create and chat with your own AI characters. Each character has a unique personality and appearance, and you can have multiple conversations with different characters.
- Character Creation: Create your own AI characters by providing a name and a detailed description of their personality, appearance, and background.
- AI-Powered Conversations: Chat with your created characters, who will respond based on the personality you've defined for them.
- Conversation History: All your conversations are saved, so you can continue them at any time.
- Modern UI: A sleek and modern user interface with a dark theme and subtle animations.
- Two Frontends: The project includes two frontends: a React-based frontend and a vanilla HTML/CSS/JS frontend.
- FastAPI: A modern, fast (high-performance) web framework for building APIs with Python 3.7+ based on standard Python type hints.
- SQLAlchemy: The Python SQL Toolkit and Object Relational Mapper.
- Groq: The AI inference engine powering the chat functionality.
- Uvicorn: A lightning-fast ASGI server.
- React: A JavaScript library for building user interfaces.
- Vite: A fast build tool for modern web development.
- Tailwind CSS: A utility-first CSS framework for rapid UI development.
- Axios: A promise-based HTTP client for the browser and Node.js.
- HTML5
- CSS3
- JavaScript (ES6+)
To run this project locally, you'll need to have Python 3.7+ and Node.js installed on your machine.
-
Navigate to the backend directory:
cd backend -
Create a virtual environment and activate it:
python3 -m venv venv source venv/bin/activate -
Install the required dependencies:
pip install -r requirements.txt
-
Create a
.envfile in thebackenddirectory and add your Groq API key:GROQ_API_KEY=your_groq_api_key -
Run the backend server:
uvicorn main:app --reload
The backend server will be running at
http://localhost:8000.
-
Navigate to the frontend directory:
cd frontend -
Install the required dependencies:
npm install
-
Run the frontend development server:
npm run dev
The React frontend will be running at
http://localhost:5173.
-
Navigate to the
frontend-vanilladirectory:cd frontend-vanilla -
Run a simple HTTP server:
python3 -m http.server 8081
The vanilla frontend will be running at
http://localhost:8081.