MUCGPT provides a web interface based on a given large language model (LLM). The whole package is shipped with a Docker container. For a first impression, look at our demo frontend
The interface currently connects to one or multiple OpenAI-compatible LLM-endpoints, which allows users to chat, summarise text, brainstorm ideas and translate a text to plain or easy language. The chat function allows text to be generated and refined in several steps. Summarising allows PDFs or text to be shortened and made more concise. Brainstorming allows users to create mind maps for different topics. Simplified language allows the user to translate a text into plain or easy language, resulting in a more understandable and easier-to-read text.
In addition, custom GPTs can be generated and saved. An own GPT is an assistant for a specific task with a custom system prompt.
See the open issues for a full list of proposed features (and known issues).
- Node.js 20+
- Git
- Python 3.12
- uv
- Docker
- Install uv: https://docs.astral.sh/uv/getting-started/installation/
- Install Node.js 20+
Sync python environment for development:
cd mucgpt-core-service
uv sync --all-extras # installs dev/test dependencies
# if you only want to run mucgpt without using development deps
uv sync
Install frontend deps
cd mucgpt-frontend
npm install
Configure your environment. For that, copy the content of the empty config from /config/.env.empty to the stack directory stack/.env. Add at least one model by providing one OpenAI compatible endpoint.
To start all required services using Docker Compose, run:
docker-compose --profile=frontend --profile=backend up --build
This command launches the following components:
- Frontend: A modern web interface built with React, providing users with an intuitive and responsive experience directly in their browser.
- Backend: The core service that processes API requests, manages business logic, and communicates with both the database and connected LLMs.
- API Gateway: Serves as the unified entry point for all client requests, efficiently routing traffic to backend services while managing authentication and security.
- Keycloak: A robust, open-source identity and access management system responsible for authentication, authorization, and user administration.
- PostgresDB: A reliable PostgreSQL database used to securely store and manage app statistics.
Once all services are running, you can access:
- The frontend at
localhost:8083
(Username:mucgpt-user
, Password:mucgpt
) - The Keycloak admin panel at
localhost:8100
(Username:admin
, Password:admin
) - The PGAdmin panel at
localhost:5050
(Username:admin
, Password:admin
)
Keycloak simulates a Single Sign-On (SSO) service, allowing you to log in to the frontend using the provided credentials (mucgpt-user
/ mucgpt
).
timeline
title MUCGPT Roadmap
section Open Source Release
2024-06 : Open Source : π Available to the public under an open-source license, allowing anyone to access, use, and modify MUCGPT without restrictions or payment.
section UI Features
2024-07 : Chat History : πΎ Users can save their chat history in the browser.
2024-08 : LiveCycle LLM : βοΈ The employed LLM can be configured to meet specific requirements.
2024-09 : Simplified Language : π£οΈ Translate text into simple or easy-to-understand language.
section Own GPTs
2025-01 : Own GPTs : π§ Create and generate custom assistants for specific tasks.
section Major Update for improved reusability
2025-05 : MUCGPT 2.0 : π Roles and rights concept for assistants; splitting into smaller Microservices: API-Gateway, MUCGPT-Core, and a Team Management Service.
section Improving Own GPTs with more Tools
2025-06 : Own GPTs : βοΈ Share Assistants with others.
2025-07 : Own GPTs : π Use Websearch/Deep Research to provide additional knowledge.
2025-09 : Chat with Own Documents : π Own GPTs will have access to shared knowledge and can answer questions based on provided sources.
The architecture of MUCGPT is structured into two primary components: the frontend and the backend. Additionally, it features an API Gateway, a database, and integrates Single Sign-On (SSO) for authentication.
The frontend is based on a template from Microsoft Azure and is implemented using React, Typescript and Javascript.
The framework used to implement the backend of MUCGPT is called FastAPI. It is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints. The backend uses LangChain to connect to LLMs. In the .env file, you can provide the user with various LLM options to select from in the frontend.
The API Gateway is developed in Java based on the Spring Cloud Gateway, providing robust routing, security, and scalability for all services. IT@M distributes the gateway as a container image: ghcr.io/it-at-m/refarch/refarch-gateway
. For detailed documentation, see here.
Authentication is managed using Keycloak, a robust open-source identity and access management solution. Keycloak handles user authentication, authorization, and user management for the MUCGPT platform, enabling secure Single Sign-On (SSO) across all services. For more details on customizing authentication or extending user management, refer to the Keycloak Migration Framework documentation.
For more information about all the features of MUCGPT click here.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please open an issue with the tag "enhancement", fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Open an issue with the tag "enhancement"
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
More about this in the CODE_OF_CONDUCT file.
Distributed under the MIT License. See LICENSE file for more information.
it@M - [email protected]