Pythagora Chatbots is an online platform designed to help users create, customize, and deploy LLM-based support chatbots. These chatbots can be tailored with unique personalities, cultures, names, and interactive chat widgets. The chatbots can be integrated into client websites to offer instant responses, suggestions, and task completions based on user queries.
Pythagora Chatbots is built using a modern web application stack, leveraging the following technologies:
- Node.js and Express for the backend server.
- MongoDB with Mongoose ORM for data storage.
- EJS for templating.
- Vanilla JavaScript and Bootstrap for the frontend.
- Socket.IO for real-time chat functionality.
- OpenAI API for dynamic conversation handling.
The project structure includes:
- Models: Mongoose schemas for Chatbot and User.
- Routes: Express routes for authentication, dashboard, API, deployment, profile management, and chatbot customization.
- Views: EJS templates for various pages including login, register, dashboard, profile, chatbot customization, testing, and deployment.
- Public: Static assets including CSS and JS files.
- Utils: Utility functions for chatbot logic and OpenAI integration.
- User Registration and Authentication: Users can register with an email and username, and log in using either email or username to access the application.
- Chatbot Customization Interface: Users can customize their chatbot's name, personality, responses, appearance, culture-specific behaviors, detailed context, initial greeting, farewell messages, theme colors, and on-site placement.
- Chatbot Testing Environment: A simple interface for users to test chatbot responses before deployment.
- Chatbot Deployment: Users can deploy chatbots to their websites using a provided script tag, customizable for bottom-left or bottom-right placement. The script tag includes a 'Chat' floating icon for real-time chat functionality.
- Theme Customization: Users can set chatbot theme colors to match their website.
- Dynamic Conversation with OpenAI LLM: The chatbot dynamically interacts with users by sending messages to OpenAI's LLM using the user's own OpenAI API key.
To run this project, you need:
- Node.js - JavaScript runtime
- MongoDB - NoSQL database (local or cloud version like MongoDB Atlas)
-
Clone the repository:
git clone <repository-url> cd pythagora-chatbots
-
Install dependencies:
npm install
-
Set up environment variables:
- Create a
.env
file in the project root based on the.env.example
template. - Add your MongoDB connection string, session secret, and other necessary environment variables.
- Create a
-
Run the application:
npm start
-
Access the application: Open your web browser and navigate to
http://localhost:3000
.
The project is open source, licensed under the MIT License. See the LICENSE.
Copyright © 2024 Pythagora-io.