MUCGPT provides a web interface based for a given large language model (LLM). The whole package is shipped with a docker container
The interface currently connects to one or multiple OpenAI-compatible LLM-enpdoints, which allows users to chat, summarise text, brainstorm some ideas and translate a text to plain or easy language. The chat function allows text to be generated and refined in several steps. Summarizing 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. A own GPT is an assistant for a specific task with an 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 vor development:
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 app/frontend
npm install
Configure your environment. For that copy the content of the empty config from /config/.env.empty to the parent directory .env. Add at least one model by providing one OpenAi comptabile endpoint.
cd app\frontend
npm run buildlocal
cd ..\backend
uv run app.py
- Build an Image
docker build --build-arg COMMIT=$(git log -1 --format=%h) --build-arg VERSION=$(git describe --tags --abbrev=0) --tag mucgpt .
- Run the image
docker run --detach --publish 8080:8000 --env-file=.env mucgpt
timeline
title MUCGPT Roadmap
2024-06 : OpenSource : "Available to the public under an open-source license, allowing anyone to access, use, and modify MUCGPT without restrictions or payment."
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."
2024-10 : Own GPTs : "Create and generate custom assistants for specific tasks, and share these assistants with other users."
2025-01 : Chat with Documents : "Assistants will have access to shared knowledge and can answer questions based on provided sources. Consequently, MUCGPT can be utilized for internal knowledge management."
The architecture of MUCGPT is divided into two parts, the frontend and the backend. MUCGPT is deployed on Microsoft Azure as an AppService with a PostgreSQL database and an Azure OpenAI resource.
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 config file, you can provide the user with various LLM options to select from in the frontend.
For more information about all the features of MUCGPT click here.
A cheatsheat to use MUCGPT is located 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]