MUCGPT provides a web interface based on a large language model (LLM). 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. The included IAC files for Azure make it easy to deploy the project in just a few steps.
Why should you use MUCGPT? See for yourself:
The documentation project is built with technologies we use in our projects (see requirements-dev.txt):
- Node.js 20+
- Git
- Python 3.12
- uv
- Docker
See the open issues for a full list of proposed features (and known issues).
Configure your environment in config/default.json. The schema of the configuration is cofnig/mucgpt_config.schema.json described. Insert Model Endpoint and API Key for your connection to an OpenAI completion endpoint or an Azure OpenAI completions endpoint.
pip install uv # in case it isn't installed
uv pip compile pyproject.toml -o app/backend/requirements.txt --python-version <python-version> # generate deps
uv pip compile pyproject.toml -o requirements-dev.txt --python-version <python-version> --all-extras # generate dev deps
cd app\backend
pip install --no-cache-dir --upgrade -r requirements.txt
cd ..\frontend
npm run build
cd ..\backend
$env:MUCGPT_CONFIG="path to default.json"
$env:MUCGPT_BASE_CONFIG="path to base.json"
uvicorn app:backend --reload
- Build an Image
docker build --tag mucgpt-local . --build-arg fromconfig="./config/default.json"
- Run the image
docker run --detach --publish 8080:8000 mucgpt-local
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 - itm.kicc@muenchen.de