Instructions to use YeungNLP/firefly-mixtral-8x7b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use YeungNLP/firefly-mixtral-8x7b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="YeungNLP/firefly-mixtral-8x7b")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("YeungNLP/firefly-mixtral-8x7b") model = AutoModelForCausalLM.from_pretrained("YeungNLP/firefly-mixtral-8x7b") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use YeungNLP/firefly-mixtral-8x7b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "YeungNLP/firefly-mixtral-8x7b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "YeungNLP/firefly-mixtral-8x7b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/YeungNLP/firefly-mixtral-8x7b
- SGLang
How to use YeungNLP/firefly-mixtral-8x7b with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "YeungNLP/firefly-mixtral-8x7b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "YeungNLP/firefly-mixtral-8x7b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "YeungNLP/firefly-mixtral-8x7b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "YeungNLP/firefly-mixtral-8x7b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use YeungNLP/firefly-mixtral-8x7b with Docker Model Runner:
docker model run hf.co/YeungNLP/firefly-mixtral-8x7b
| license: apache-2.0 | |
| language: | |
| - en | |
| This model is finetuend based on "mistralai/Mixtral-8x7B-v0.1" with [Firefly](https://github.com/yangjianxin1/Firefly) and 48k data from ultrachat. | |
| ## Evaluation | |
| Though we finetune with only 48k data, our model can also achieve excellent performance. | |
| | Model | Open LLM Leaderboard | | |
| |------------------------------------------------------------------------------------------------|---------------------------------------------| | |
| | Qwen-72B | 73.6 | | |
| | Mixtral-8x7B-Instruct-v0.1 | 72.62 | | |
| |**Firefly-Mixtral-8x7B**|**70.34**| | |
| |Yi-34B|69.42| | |
| |Mixtral-8x7B-v0.1|68.42| | |
| |Llama2-65B-Chat|67.87| | |
| |Qwen-14B|65.86| | |
| |Vicuna-33B-v1.3 |58.54| | |
| ## Run the model | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| import torch | |
| model_name_or_path = 'YeungNLP/firefly-mixtral-8x7b' | |
| max_new_tokens = 500 | |
| top_p = 0.9 | |
| temperature = 0.35 | |
| repetition_penalty = 1.0 | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_name_or_path, | |
| trust_remote_code=True, | |
| low_cpu_mem_usage=True, | |
| torch_dtype=torch.float16, | |
| device_map='auto' | |
| ) | |
| model = model.eval() | |
| tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) | |
| text = "Compose an engaging travel blog post about a recent trip to Hawaii, highlighting cultural experiences and must-see attractions." | |
| inst_begin_tokens = tokenizer.encode('[INST]', add_special_tokens=False) | |
| inst_end_tokens = tokenizer.encode('[/INST]', add_special_tokens=False) | |
| human_tokens = tokenizer.encode(text, add_special_tokens=False) | |
| input_ids = [tokenizer.bos_token_id] + inst_begin_tokens + human_tokens + inst_end_tokens | |
| # input_ids = human_tokens | |
| input_ids = torch.tensor([input_ids], dtype=torch.long).cuda() | |
| with torch.no_grad(): | |
| outputs = model.generate( | |
| input_ids=input_ids, max_new_tokens=max_new_tokens, do_sample=True, | |
| top_p=top_p, temperature=temperature, repetition_penalty=repetition_penalty, | |
| eos_token_id=tokenizer.eos_token_id | |
| ) | |
| outputs = outputs.tolist()[0][len(input_ids[0]):] | |
| response = tokenizer.decode(outputs) | |
| response = response.strip().replace(tokenizer.eos_token, "").strip() | |
| print("Chatbot:{}".format(response)) | |
| ``` | |