Skip to content

tusharad/modulus-ai

Repository files navigation

modulus-ai

logo image

Modulus-AI is a multi-provider chat platform that offers premium, customizable user experiences. Providing a seamless integration with various AI models, it allows users to interact with multiple AI providers through a single interface. Advance tool usage such as web-search and wiki-search is supported as well as customizable RAGs, enhancing the capabilities of the AI interactions.

Features

  • Multi-provider chat interface (Ollama, OpenRouter, Gemini)
  • Premium user interface
  • Wide set of tools

Screenshots

alt text

Technology Stack

  • Backend: Haskell, Servant, PostgreSQL
  • Frontend: React, Typescript, Vite, TailwindCSS
  • CI/CD: GitHub Actions
  • Code Quality: Pre-commit hooks, HLint, fourmolu
  • Deployment: GCP
  • Model Serving: Ollama, OpenRouter, Gemini
  • Email Service: Mailgun

Local Development setup

Prerequisites

  • Docker
  • Docker Compose
  • Stack
  • Pre-commit
  • Mailgun API
  • Ollama (optional, for local model serving)

Step 1: Clone the repository and navigate to the project directory

git clone [email protected]:tusharad/modulus-ai.git
cd modulus-ai

Step 2: Go to be directory to run backend

cd modulus-ai-be

Step 3: Setup environment variables

source export-env.sh

This will add the necessary environment variables to your shell session from the .env.local file. You must create this file based on the .env.example file provided in the repository.

Step 4: Up the Docker containers

make up

This command will start the Docker containers defined in the docker-compose.yml file. It will set up the necessary services for the application to run including postgres database.

Step 5: Run the application

stack run

This command will start the application using Stack, which is a tool for managing Haskell projects. It will compile the project and run the server.

The application should now be running and accessible at http://localhost:8081.

Step 5: Run tests

./scripts/run-tests.sh

Step 6: Change directory root to fe

cd modulus-ai-fe

Step 7: Run UI

npm install
npm run dev

Kanban Board

alt

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome!

About

AI Chatbot using Haskell and React

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published