168 lines
5.9 KiB
Markdown
168 lines
5.9 KiB
Markdown
---
|
|
base_model: NousResearch/Hermes-2-Pro-Mistral-7B
|
|
tags:
|
|
- Mistral
|
|
- instruct
|
|
- finetune
|
|
- chatml
|
|
- DPO
|
|
- RLHF
|
|
- gpt4
|
|
- synthetic data
|
|
- distillation
|
|
- function calling
|
|
- json mode
|
|
- quantized
|
|
- 4-bit
|
|
- AWQ
|
|
- text-generation
|
|
- autotrain_compatible
|
|
- endpoints_compatible
|
|
- chatml
|
|
model-index:
|
|
- name: Hermes-2-Pro-Mistral-7B
|
|
results: []
|
|
license: apache-2.0
|
|
language:
|
|
- en
|
|
datasets:
|
|
- teknium/OpenHermes-2.5
|
|
widget:
|
|
- example_title: Hermes 2 Pro
|
|
messages:
|
|
- role: system
|
|
content: You are a sentient, superintelligent artificial general intelligence, here to teach and assist me.
|
|
- role: user
|
|
content: Write a short story about Goku discovering kirby has teamed up with Majin Buu to destroy the world.
|
|
model_type: mistral
|
|
pipeline_tag: text-generation
|
|
inference: false
|
|
prompt_template: '<|im_start|>system
|
|
|
|
{system_message}<|im_end|>
|
|
|
|
<|im_start|>user
|
|
|
|
{prompt}<|im_end|>
|
|
|
|
<|im_start|>assistant
|
|
|
|
'
|
|
quantized_by: Suparious
|
|
---
|
|
# NousResearch/Hermes-2-Pro-Mistral-7B AWQ
|
|
|
|
- Model creator: [NousResearch](https://huggingface.co/NousResearch)
|
|
- Original model: [Hermes-2-Pro-Mistral-7B](https://huggingface.co/NousResearch/Hermes-2-Pro-Mistral-7B)
|
|
|
|

|
|
|
|
## Model Summary
|
|
|
|
Hermes 2 Pro on Mistral 7B is the new flagship 7B Hermes!
|
|
|
|
Hermes 2 Pro is an upgraded, retrained version of Nous Hermes 2, consisting of an updated and cleaned version of the OpenHermes 2.5 Dataset, as well as a newly introduced Function Calling and JSON Mode dataset developed in-house.
|
|
|
|
This new version of Hermes maintains its excellent general task and conversation capabilities - but also excels at Function Calling, JSON Structured Outputs, and has improved on several other metrics as well, scoring a 90% on our function calling evaluation built in partnership with Fireworks.AI, and an 84% on our structured JSON Output evaluation.
|
|
|
|
Hermes Pro takes advantage of a special system prompt and multi-turn function calling structure with a new chatml role in order to make function calling reliable and easy to parse. Learn more about prompting below.
|
|
|
|
This work was a collaboration between Nous Research, @interstellarninja, and Fireworks.AI
|
|
|
|
Learn more about the function calling system for this model on our github repo here: https://github.com/NousResearch/Hermes-Function-Calling
|
|
|
|
## How to use
|
|
|
|
### Install the necessary packages
|
|
|
|
```bash
|
|
pip install --upgrade autoawq autoawq-kernels
|
|
```
|
|
|
|
### Example Python code
|
|
|
|
```python
|
|
from awq import AutoAWQForCausalLM
|
|
from transformers import AutoTokenizer, TextStreamer
|
|
|
|
model_path = "solidrust/Hermes-2-Pro-Mistral-7B-AWQ"
|
|
system_message = "You are Hermes, incarnated as a powerful AI."
|
|
|
|
# Load model
|
|
model = AutoAWQForCausalLM.from_quantized(model_path,
|
|
fuse_layers=True)
|
|
tokenizer = AutoTokenizer.from_pretrained(model_path,
|
|
trust_remote_code=True)
|
|
streamer = TextStreamer(tokenizer,
|
|
skip_prompt=True,
|
|
skip_special_tokens=True)
|
|
|
|
# Convert prompt to tokens
|
|
prompt_template = """\
|
|
<|im_start|>system
|
|
{system_message}<|im_end|>
|
|
<|im_start|>user
|
|
{prompt}<|im_end|>
|
|
<|im_start|>assistant"""
|
|
|
|
prompt = "You're standing on the surface of the Earth. "\
|
|
"You walk one mile south, one mile west and one mile north. "\
|
|
"You end up exactly where you started. Where are you?"
|
|
|
|
tokens = tokenizer(prompt_template.format(system_message=system_message,prompt=prompt),
|
|
return_tensors='pt').input_ids.cuda()
|
|
|
|
# Generate output
|
|
generation_output = model.generate(tokens,
|
|
streamer=streamer,
|
|
max_new_tokens=512)
|
|
|
|
```
|
|
|
|
### About AWQ
|
|
|
|
AWQ is an efficient, accurate and blazing-fast low-bit weight quantization method, currently supporting 4-bit quantization. Compared to GPTQ, it offers faster Transformers-based inference with equivalent or better quality compared to the most commonly used GPTQ settings.
|
|
|
|
AWQ models are currently supported on Linux and Windows, with NVidia GPUs only. macOS users: please use GGUF models instead.
|
|
|
|
It is supported by:
|
|
|
|
- [Text Generation Webui](https://github.com/oobabooga/text-generation-webui) - using Loader: AutoAWQ
|
|
- [vLLM](https://github.com/vllm-project/vllm) - version 0.2.2 or later for support for all model types.
|
|
- [Hugging Face Text Generation Inference (TGI)](https://github.com/huggingface/text-generation-inference)
|
|
- [Transformers](https://huggingface.co/docs/transformers) version 4.35.0 and later, from any code or client that supports Transformers
|
|
- [AutoAWQ](https://github.com/casper-hansen/AutoAWQ) - for use from Python code
|
|
|
|
## Prompt template: ChatML
|
|
|
|
```plaintext
|
|
<|im_start|>system
|
|
{system_message}<|im_end|>
|
|
<|im_start|>user
|
|
{prompt}<|im_end|>
|
|
<|im_start|>assistant
|
|
```
|
|
|
|
## Function calling
|
|
|
|
System prompt example:
|
|
|
|
```plaintext
|
|
You are a function calling AI model. You are provided with function signatures within <tools></tools> XML tags.
|
|
You may call one or more functions to assist with the user query. Don't make assumptions about what values to plug into functions.
|
|
Use the following json schema for each tool call you will make: {"title": "FunctionCall", "type": "object", "properties": {"arguments": {"title": "Arguments", "type": "object"}, "name": {"title": "Name", "type": "string"}}, "required": ["arguments", "name"]}
|
|
For each function call return a json object with function name and arguments within <tool_call></tool_call> XML tags as follows:
|
|
<tool_call>
|
|
{"arguments": <args-dict>, "name": <function-name>}
|
|
</tool_call>
|
|
```
|
|
|
|
## How to cite:
|
|
|
|
```plaintext
|
|
@misc{Hermes-2-Pro-Mistral-7B,
|
|
url={[https://huggingface.co/NousResearch/Hermes-2-Pro-Mistral-7B]https://huggingface.co/NousResearch/Hermes-2-Pro-Mistral-7B)},
|
|
title={Hermes-2-Pro-Mistral-7B},
|
|
author={"interstellarninja", "Teknium", "theemozilla", "karan4d", "huemin_art"}
|
|
}
|
|
``` |