NeuralLift Chatbot is a powerful monorepo project designed to streamline and organize AI-driven chatbot functionalities. It encompasses both server-side and client-side applications, leveraging modern technologies like TypeScript, React, and Node.js to deliver a seamless user experience.
The project is structured into two primary applications:
root/
├── apps/
│ └── web/ # Vite React application
│ └── server/ # Express application
├── packages/
│ ├── ui/ # Shared UI components
│ ├── eslint-config/ # Shared ESLint configurations
│ └── typescript-config/ # Shared TypeScript configurations
└── README.md # Project documentation
- Path:
apps/server
- Description: The backend services that power the chatbot, handling document processing, vector storage, and API endpoints.
- Technologies:
- Node.js (Express.js)
- TypeScript
- Prisma
- Pinecone
- LangChain
- Key Features:
- Efficient document storage and processing.
- Robust conversational state management.
- Advanced graph-based workflows for customer support and research.
- Path:
apps/web
- Description: The frontend application for managing chatbot agents and knowledge bases.
- Technologies:
- React
- TypeScript
- Vite
- TailwindCSS
- Key Features:
- Intuitive interface for adding and managing knowledge bases.
- Comprehensive configuration options for chatbot agents.
- User-friendly platform for AI training data management.
- Node.js (>= 16.x)
- pnpm (install via
npm install -g pnpm
) - Mongodb (for Prisma)
-
Clone the repository:
git clone https://github.com/NeuralLift/chatbot.git cd chatbot
-
Install pnpm if you don't have it already:
npm install -g pnpm
-
Install dependencies:
pnpm install
-
Set up environment variables:
- Copy
.env.example
to.env
inapps/server
and configure the variables.
- Copy
-
Run database migrations:
cd apps/server pnpm prisma migrate dev
-
Start the development servers:
-
Server:
cd apps/server pnpm dev
-
Web:
cd apps/web pnpm dev
-
Root (Turbo)
pnpm dev
-
pnpm dev
: Start the server in development mode.pnpm build
: Build the server for production.pnpm lint
: Run ESLint checks.
pnpm dev
: Start the web application in development mode.pnpm build
: Build the web application for production.pnpm lint
: Run ESLint checks.
- Document Service:
- Process and store documents from URLs, files, or raw content.
- Seamless integration with Pinecone for vector storage.
- Graph Workflows:
- Customer support graph for efficient conversation management.
- Research graph for advanced query generation and document retrieval.
- Knowledge Base Management:
- Effortlessly add, edit, and delete knowledge sources (e.g., documents, articles, websites).
- Agent Configuration:
- Create and configure chatbot agents with customizable system prompts and data sources.
- Node.js (Express.js)
- TypeScript
- Prisma
- Pinecone
- LangChain
- React
- TypeScript
- Vite
- TailwindCSS
Contributions are warmly welcomed! Please adhere to the following steps:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature-name
-
Commit your changes:
git commit -m "feat: Add feature-name"
-
Push to your branch:
git push origin feature-name
-
Open a pull request.
This project is licensed under the ISC License. MIT