Instructions to use ltg/normistral-7b-warm-instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ltg/normistral-7b-warm-instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="ltg/normistral-7b-warm-instruct") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("ltg/normistral-7b-warm-instruct") model = AutoModelForCausalLM.from_pretrained("ltg/normistral-7b-warm-instruct", 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]:])) - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use ltg/normistral-7b-warm-instruct with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf ltg/normistral-7b-warm-instruct:Q4_K_M # Run inference directly in the terminal: llama cli -hf ltg/normistral-7b-warm-instruct:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf ltg/normistral-7b-warm-instruct:Q4_K_M # Run inference directly in the terminal: llama cli -hf ltg/normistral-7b-warm-instruct:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf ltg/normistral-7b-warm-instruct:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf ltg/normistral-7b-warm-instruct:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf ltg/normistral-7b-warm-instruct:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf ltg/normistral-7b-warm-instruct:Q4_K_M
Use Docker
docker model run hf.co/ltg/normistral-7b-warm-instruct:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use ltg/normistral-7b-warm-instruct with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ltg/normistral-7b-warm-instruct" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ltg/normistral-7b-warm-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/ltg/normistral-7b-warm-instruct:Q4_K_M
- SGLang
How to use ltg/normistral-7b-warm-instruct 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 "ltg/normistral-7b-warm-instruct" \ --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": "ltg/normistral-7b-warm-instruct", "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 "ltg/normistral-7b-warm-instruct" \ --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": "ltg/normistral-7b-warm-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use ltg/normistral-7b-warm-instruct with Ollama:
ollama run hf.co/ltg/normistral-7b-warm-instruct:Q4_K_M
- Unsloth Desktop
- Docker Model Runner
How to use ltg/normistral-7b-warm-instruct with Docker Model Runner:
docker model run hf.co/ltg/normistral-7b-warm-instruct:Q4_K_M
- Lemonade
How to use ltg/normistral-7b-warm-instruct with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull ltg/normistral-7b-warm-instruct:Q4_K_M
Run and chat with the model
lemonade run user.normistral-7b-warm-instruct-Q4_K_M
List all available models
lemonade list
- Atomic Chat
Norallm vs Norwai
I followed the release of NorLLM (https://www.ntnu.no/norllm/lansering-av-neste-generasjon-norllm-modeller) where they refered to their versions of Mistral-models.
How are your models compared to NorwAis models, and do you work together or is this separarate efforts?
I’ll let the NoraLLM crew answer in detail, but from what I understand there is no direct collaboration in training or work on these models. They’re quite direct competitors.
Obviously they’re still part of the same academic field in a quite small country, so on a personal and academic level there’s bound to be some intermingling.
I’ll also mention that the NorwAI models (they renamed them to NorwAI to reduce confusion) have documented less about their training data, but it’s natural to assume that the base dataset is not too unlike the NorLLM models.
I'm also curious how do the models compare, but unfortunately, their models are not published anywhere, as far as I know. As their models essentially replicate our approach, I don't expect a big difference in performance or the overall behavior.
There has been a lot of activity in the space of large Norwegian language models recently, which is awesome! Just a few days ago, Bineric released NorskGPT-Llama-3-70b-adapter, taking a very different approach to us: they take a very large base model and then train a lightweight adapter on top of it with just 1 million subword tokens. On the other end of the "total training cost" spectrum, our friends from Finland have just released Viking-7b, a Nordic model trained from scratch on 2 trillion tokens.
My mistake, I thought the NorwAI models were already made public on HF during the release May 15 (I have private access so I could see them anyway). I should probably be a little cautious about sharing more details, then.
From what I understand publication on HF should happen quite soon, but I don't have a date. I would guess within a week or so, but I don't know specifically. The org URL is https://huggingface.co/NorwAI, so watch that space :)
Well would you look at that, they published it within a couple hours of my comment. Nice! There may be more coming, but great to see they're getting things public!
They have different licenses. This model has apache 2.0 which is a fully permissive and truly open source license.
The NorLLM models have custom NorLLM license and is not truly open source. Restrictions include geographical usage (only permitted in nordic countries for some reason),
usage for unethical stuff, and "resale" which i'm not fully sure how should be interpreted. (maybe selling products that incorporate the model?)
The NorLLM models have custom NorLLM license and is not truly open source. Restrictions include geographical usage (only permitted in nordic countries for some reason),
usage for unethical stuff, and "resale" which i'm not fully sure how should be interpreted. (maybe selling products that incorporate the model?)
It would be nice if NorwAI could comment on the licence and how it should be interpreted. My take - it is permissible to use the model for inference in commercial products. I will ask them :)
I see a discussion has been started on this over on one of NorwAI’s model pages: https://huggingface.co/NorwAI/NorwAI-Mistral-7B-instruct/discussions/2
(I see you did it Janus, just putting the link here for reference😊)