Instructions to use DippyAI/gemma-27b-reference with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DippyAI/gemma-27b-reference with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="DippyAI/gemma-27b-reference") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("DippyAI/gemma-27b-reference") model = AutoModelForCausalLM.from_pretrained("DippyAI/gemma-27b-reference", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use DippyAI/gemma-27b-reference with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DippyAI/gemma-27b-reference" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DippyAI/gemma-27b-reference", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/DippyAI/gemma-27b-reference
- SGLang
How to use DippyAI/gemma-27b-reference 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 "DippyAI/gemma-27b-reference" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DippyAI/gemma-27b-reference", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'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 "DippyAI/gemma-27b-reference" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DippyAI/gemma-27b-reference", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use DippyAI/gemma-27b-reference with Docker Model Runner:
docker model run hf.co/DippyAI/gemma-27b-reference
| library_name: transformers | |
| pipeline_tag: text-generation | |
| # Model card | |
| This is Dippy AI's reference Gemma 2 27b model | |
| #### Optimizations | |
| * _Flash Attention 2_ | |
| First make sure to install `flash-attn` in your environment `pip install flash-attn` | |
| ```diff | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_id, | |
| torch_dtype=torch.float16, | |
| + attn_implementation="flash_attention_2" | |
| ).to(0) | |
| ``` | |
| The instruction-tuned models use a chat template that must be adhered to for conversational use. | |
| The easiest way to apply it is using the tokenizer's built-in chat template, as shown in the following snippet. | |
| Let's load the model and apply the chat template to a conversation. In this example, we'll start with a single user interaction: | |
| ```py | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| import transformers | |
| import torch | |
| model_id = "google/gemma-2-27b-it" | |
| dtype = torch.bfloat16 | |
| tokenizer = AutoTokenizer.from_pretrained(model_id) | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_id, | |
| device_map="cuda", | |
| torch_dtype=dtype, | |
| ) | |
| chat = [ | |
| { "role": "user", "content": "Write a hello world program" }, | |
| ] | |
| prompt = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True) | |
| ``` | |
| At this point, the prompt contains the following text: | |
| ``` | |
| <bos><start_of_turn>user | |
| Write a hello world program<end_of_turn> | |
| <start_of_turn>model | |
| ``` | |
| As you can see, each turn is preceded by a `<start_of_turn>` delimiter and then the role of the entity | |
| (either `user`, for content supplied by the user, or `model` for LLM responses). Turns finish with | |
| the `<end_of_turn>` token. | |
| You can follow this format to build the prompt manually, if you need to do it without the tokenizer's | |
| chat template. | |
| After the prompt is ready, generation can be performed like this: | |
| ```py | |
| inputs = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt") | |
| outputs = model.generate(input_ids=inputs.to(model.device), max_new_tokens=150) | |
| print(tokenizer.decode(outputs[0])) | |
| ``` |