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

Contributors 2

  •  
  •