Add `Notus` support
diff --git a/docs/model_support.md b/docs/model_support.md
index 3420f5e3a6..86e08fed0a 100644
--- a/docs/model_support.md
+++ b/docs/model_support.md
@@ -36,6 +36,7 @@
   - example: `python3 -m fastchat.serve.cli --model-path mosaicml/mpt-7b-chat`
 - [Neutralzz/BiLLa-7B-SFT](https://huggingface.co/Neutralzz/BiLLa-7B-SFT)
 - [nomic-ai/gpt4all-13b-snoozy](https://huggingface.co/nomic-ai/gpt4all-13b-snoozy)
+- [argilla/notus-7b-v1](https://huggingface.co/argilla/notus-7b-v1)
 - [NousResearch/Nous-Hermes-13b](https://huggingface.co/NousResearch/Nous-Hermes-13b)
 - [openaccess-ai-collective/manticore-13b-chat-pyg](https://huggingface.co/openaccess-ai-collective/manticore-13b-chat-pyg)
 - [OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5](https://huggingface.co/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5)
diff --git a/fastchat/model/model_adapter.py b/fastchat/model/model_adapter.py
index 7aee537dfc..b0f1c80629 100644
--- a/fastchat/model/model_adapter.py
+++ b/fastchat/model/model_adapter.py
@@ -1951,6 +1951,16 @@ def get_default_conv_template(self, model_path: str) -> Conversation:
         return get_conv_template("zephyr")
 
 
+class NotusAdapter(BaseModelAdapter):
+    """The model adapter for Notus (e.g. argilla/notus-7b-v1)"""
+
+    def match(self, model_path: str):
+        return "notus" in model_path.lower()
+
+    def get_default_conv_template(self, model_path: str) -> Conversation:
+        return get_conv_template("zephyr")
+
+
 class CatPPTAdapter(BaseModelAdapter):
     """The model adapter for CatPPT (e.g. rishiraj/CatPPT)"""
 
@@ -2161,6 +2171,7 @@ def get_default_conv_template(self, model_path: str) -> Conversation:
 register_model_adapter(CodeLlamaAdapter)
 register_model_adapter(Llama2ChangAdapter)
 register_model_adapter(ZephyrAdapter)
+register_model_adapter(NotusAdapter)
 register_model_adapter(CatPPTAdapter)
 register_model_adapter(TinyLlamaAdapter)
 register_model_adapter(XwinLMAdapter)
diff --git a/fastchat/model/model_registry.py b/fastchat/model/model_registry.py
index ab54d23f9f..60fd55df28 100644
--- a/fastchat/model/model_registry.py
+++ b/fastchat/model/model_registry.py
@@ -168,6 +168,13 @@ def get_model_info(name: str) -> ModelInfo:
     "a chatbot fine-tuned from Mistral by Hugging Face",
 )
 
+register_model_info(
+    ["notus-7b-v1"],
+    "Notus",
+    "https://huggingface.co/argilla/notus-7b-v1",
+    "a chatbot fine-tuned from Zephyr SFT by Argilla",
+)
+
 register_model_info(
     ["catppt"],
     "CatPPT",

## Why are these changes needed?

At @argilla-io we fine-tuned Zephyr SFT using DPO and a new version of the UltraFeedback dataset after detecting some issues with the critique score in the original UltraFeedback dataset that was used to fine-tune Zephyr 7B Beta. We called this model Notus 7B v1 and it achieved roughly the same score as Zephyr in MT-Bench while exhibiting a better instruction following.

More information about Notus:

- https://argilla.io/blog/notus7b/
- https://huggingface.co/argilla/notus-7b-v1

## Checks

- [x] I've run `format.sh` to lint the changes in this PR.
- [x] I've included any doc changes needed.
- [ ] I've made sure the relevant tests are passing (if applicable).
