{"id":19431945,"url":"https://github.com/naskio/mergeui","last_synced_at":"2025-04-24T20:30:30.572Z","repository":{"id":236198808,"uuid":"790727362","full_name":"naskio/mergeui","owner":"naskio","description":"All-in-one UI for merged LLMs in Hugging Face","archived":false,"fork":false,"pushed_at":"2024-06-10T06:48:11.000Z","size":432,"stargazers_count":24,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-03T09:50:59.943Z","etag":null,"topics":["ai","generative-ai","huggingface","large-language-models","leaderboard","llm","merge","mergekit","mergoo","model-merging"],"latest_commit_sha":null,"homepage":"https://naskio-mergeui.hf.space","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/naskio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-23T12:21:01.000Z","updated_at":"2025-01-11T22:08:05.000Z","dependencies_parsed_at":"2024-04-26T03:42:47.864Z","dependency_job_id":"b52682fd-80dc-4821-a80b-a384eb352900","html_url":"https://github.com/naskio/mergeui","commit_stats":null,"previous_names":["naskio/mergeui"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naskio%2Fmergeui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naskio%2Fmergeui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naskio%2Fmergeui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naskio%2Fmergeui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/naskio","download_url":"https://codeload.github.com/naskio/mergeui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250704422,"owners_count":21473691,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","generative-ai","huggingface","large-language-models","leaderboard","llm","merge","mergekit","mergoo","model-merging"],"created_at":"2024-11-10T14:33:19.857Z","updated_at":"2025-04-24T20:30:30.269Z","avatar_url":"https://github.com/naskio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: MergeUI\nemoji: 🧬\ncolorFrom: purple\ncolorTo: pink\nsdk: gradio\nsdk_version: 4.31.5\npython_version: 3.9\napp_file: mergeui/web/gradio_app/main.py\nfullWidth: true\nheader: mini\ndisable_embedding: false\nstartup_duration_timeout: 15m\nlicense: apache-2.0\nlanguage:\n  - en\ndatasets:\n  - open-llm-leaderboard/results\ntags:\n  - merge\n  - leaderboard\n  - mergekit\n  - lazymergekit\nshort_description: All-in-one UI for merged LLMs in Hugging Face Hub\nthumbnail: https://raw.githubusercontent.com/naskio/mergeui/main/static/brand/banner.svg\npinned: true\n---\n\n[![MergeUI](./static/brand/banner.svg)](https://naskio-mergeui.hf.space)\n\u003ch3 align=\"center\"\u003eAll-in-one UI for merged LLMs in Hugging Face\u003c/h3\u003e\n\n[MergeUI](https://naskio-mergeui.hf.space) is an [open-source project](https://github.com/naskio/mergeui) that aims to\nprovide a user-friendly interface for discovering and analyzing merged large language models (Merged LLMs) from\nthe [Hugging Face Hub](https://huggingface.co/models?other=merge\u0026sort=trending).\nIt is particularly focused on models that have been merged using [MergeKit](https://github.com/arcee-ai/mergekit).\n\n- 🚀 **[Try it out](https://naskio-mergeui.hf.space)**\n- 👨‍💻 **[GitHub Repository](https://github.com/naskio/mergeui)**\n- 🤗 **[Hugging Face Space](https://huggingface.co/spaces/naskio/mergeui)**\n\n# Development\n\n## Requirements\n\nTo run the project locally, you need to have the following installed:\n\n- [Python 3.9+](https://www.python.org/)\n- [Poetry 1.8+](https://python-poetry.org/)\n- [Graphviz](https://www.graphviz.org/download/#mac)\n- [Docker](https://www.docker.com/) with [Docker Compose](https://docs.docker.com/compose/)\n\n## Setup\n\nOnce you have the requirements installed, you can set up the project by running the following commands:\n\n```shell\npoetry install\n```\n\nOnce the dependencies are installed, make sure to set up the environment variables by creating a `.env` file\n\n```shell\ncp .env.example .env\n```\n\n\u003e [!TIP]\n\u003e Find more about the environment variables in the [settings.py](./mergeui/core/settings.py) file.\n\nNext, we need to launch the database and Redis using Docker Compose:\n\n```shell\ndocker compose up -d\n```\n\n\u003e [!TIP]\n\u003e run `docker compose down` to stop these services when you are done.\n\n## Run\n\n\u003e [!NOTE]\n\u003e This project use `poetry` with `Poe the Poet` plugin to run commands, run `poe` to see all available commands.\n\nOnce the setup is complete, we need to index the models from the Hugging Face Hub and store them in the database.\n\n### Indexing\n\nFor indexing models we use [RQ](https://python-rq.org/):\n\n- First we need to launch some workers by running the following command in separate terminal tabs:\n  ```shell\n  poe worker\n  ```\n- Next, we can start the indexing process by running:\n  ```shell\n  poe index\n  ```\n- To monitor the indexing process, we can use the RQ dashboard by running:\n  ```shell\n  rq-dashboard\n  ```\n\n\u003e [!IMPORTANT]\n\u003e The indexing process takes few minutes to complete depending on your resources, number of workers and number\n\u003e of `merge` models available.\n\n\u003e [!NOTE]\n\u003e It takes around 6 minutes to index a graph of ~12k models and ~51k relationships using 64 workers.\n\n### Visualisation\n\nOnce the indexing process is complete, we can start our app using the following command:\n\n#### FastAPI server with a Gradio app\n\n```shell\nuvicorn mergeui.main:app --port 8000 --log-level trace\n```\n\n#### FastAPI only (dev mode)\n\n\u003e [!WARNING]\n\u003e Set environment variable `GRADIO_APP_DISABLED` to `true` to disable Gradio app.\n\n```shell\nuvicorn mergeui.main:app --reload --port 8000 --log-level debug\n```\n\n#### Gradio app only (dev mode)\n\n```shell\ngradio mergeui/web/gradio_app/main.py # with reloading\npython mergeui/web/gradio_app/main.py # without reloading\n```\n\n#### Bokeh server (dev mode)\n\n```shell\npoe bokeh_dev\n```\n\n## Testing\n\nThis project use pytest for testing, you can run the tests using the following command:\n\n```shell\npoe test\n```\n\n## Contributing\n\nMergeUI is a new project, and any contribution would make a difference! Whether you find a bug, have valuable feedback\nor suggestions, or simply want to get involved, we would love to hear from you!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaskio%2Fmergeui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaskio%2Fmergeui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaskio%2Fmergeui/lists"}