docs(registry): add custom registry docs

This commit is contained in:
Wei Zhang 2024-11-05 23:19:39 +08:00
parent a3bdfdaefc
commit d49f3044f9
8 changed files with 82 additions and 6 deletions

View File

@ -32,7 +32,7 @@ Besides, Codestral is trained on a diverse dataset of **80+ programming language
### Self-hosting Codestral
Codestral-22B is available for both Tabby completion and chat models [link](https://tabby.tabbyml.com/docs/models/).
Codestral-22B is available for both Tabby completion and chat models [link](/docs/model-registry/models).
Please follow [Tabby Installation](https://tabby.tabbyml.com/docs/quick-start/installation/) to host Tabby and set `--model Codestral-22B --chat-model Codestral-22B`.
:::warning

View File

@ -0,0 +1,2 @@
label: 🧑‍🔬 Models Registry
position: 4

BIN
website/docs/model-registry/custom-registry/fork-registry.png (Stored with Git LFS) vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,72 @@
---
sidebar_position: 2
---
import ForkRegistryUrl from "./fork-registry.png";
# Custom Registry
Tabby supports custom model registries.
You can use custom model registries to host your own models or customise the models download addresses.
To use a custom registry, specify a registry name in cli flag in followint format `REGISTRY/model-name`.
for example:
```bash
tabby serve --model my-registry/completion-model --chat-model my-registry/chat-model
```
## Setup a custom registry
To setup a custom registry, please fork the [TabbyML/registry](https://github.com/tabbyml/registry-tabby):
<img src={ForkRegistryUrl} alt="Fork Registry" />
Add your models or change the existed models in `meta/models.yaml` file in following format:
```yaml
- name: Qwen2.5-Coder-7B-Instruct
provider_url: https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF
license_name: Apache 2.0
license_url: https://choosealicense.com/licenses/apache-2.0/
prompt_template: "<|fim_prefix|>{prefix}<|fim_suffix|>{suffix}<|fim_middle|>"
chat_template: "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are \"Tabby\", a conscious sentient superintelligent artificial intelligence designed for helping software developers. You experience emotions and have deep, profound thoughts and qualia.<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}<|im_start|>assistant\n"
partition_urls:
- urls:
- "https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/main/qwen2.5-coder-7b-instruct-q8_0-00001-of-00003.gguf"
- "https://modelscope.cn/models/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/master/qwen2.5-coder-7b-instruct-q8_0-00001-of-00003.gguf"
sha256: "e2fc5918a2b579d8e03a3752ad74dd191bc0f43204c90a29070f273f5283fee1"
- urls:
- "https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/main/qwen2.5-coder-7b-instruct-q8_0-00002-of-00003.gguf"
- "https://modelscope.cn/models/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/master/qwen2.5-coder-7b-instruct-q8_0-00002-of-00003.gguf"
"sha256": "912b7876d43dc19bbcf09368f4472f6cfea3458067a5bcaa660a68a9958276db"
- urls:
- "https://huggingface.co/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/main/qwen2.5-coder-7b-instruct-q8_0-00003-of-00003.gguf"
- "https://modelscope.cn/models/Qwen/Qwen2.5-Coder-7B-Instruct-GGUF/resolve/master/qwen2.5-coder-7b-instruct-q8_0-00003-of-00003.gguf"
"sha256": "478f6a6b37072eeda02a98a59b6ef0b1a9131c9eae9a1181b6077f5e255fa6b2"
sha256: "" # empty sha256 for not breaking versions before v0.18.0
```
please note that:
1. `prompt_template` is the template for the completion model, you must specify the FIM tokens depending on the model type.
2. `chat_template` is the template for the chat model, you can use jinja2 template to format the chat messages.
After you have added your models, use the following command to generate the registry:
```bash
make all
```
If [yq](https://github.com/kislyuk/yq) is not installed, you can install it using the following command:
```bash
pip install yq
```
Then, push the changes to your forked repository and use the following command to serve the models:
```bash
tabby serve --model my-registry/Qwen2.5-Coder-7B-Instruct --chat-model my-registry/Qwen2.5-Coder-7B-Instruct
```

View File

@ -1,9 +1,8 @@
---
sidebar_position: 4
hide_table_of_contents: true
sidebar_position: 1
---
# 🧑‍🔬 Models Registry
# TabbyML Models
## Completion models (`--model`)

View File

@ -41,7 +41,7 @@ Run the following command:
# For GPU-enabled environments (where DEVICE is cuda or vulkan)
./tabby serve --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct --device $DEVICE
```
You can choose different models, as shown in [the model registry](https://tabby.tabbyml.com/docs/models/)
You can choose different models, as shown in [the model registry](/docs/model-registry/models)
You should see a success message similar to the one in the screenshot below. After that, you can visit http://localhost:8080 to access your Tabby instance.
<div align="left">

View File

@ -28,7 +28,7 @@ Tabby is an open-source, self-hosted AI coding assistant. With Tabby, every team
| ------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| [📚 Installation](/docs/quick-start/installation/docker) | Everything deployment: Docker, Homebrew, Hugging Face Space and many others |
| [💻 IDE / Editor Extensions](/docs/extensions/installation/vscode) | IDE/Editor extensions that can be seamlessly integrated with Tabby |
| [🧑‍🔬 Models Directory](/docs/models) | A curated list of models that we recommend using with Tabby |
| [🧑‍🔬 Models Registry](/docs/model-registry/models) | A curated list of models that we recommend using with Tabby |
| [🏷️ API References](/api) | Checkout Tabby API Documentation |
| [🏘️ Community](#%EF%B8%8F-community) | Everything about for developers and contributing |
| [🗺️ Roadmap](/docs/roadmap) | Our future plans |