Hemmingway Pricing Log in Try free

Blog · Guide

How to run Hemmingway-1.5 locally

Run Hemmingway-1.5 on your own GPUs: the vLLM and Transformers commands from its model card, the settings it was tested with, and the memory a 27B model needs.

By the Hemmingway team ·

To run Hemmingway-1.5 locally, download the open weights from Hugging Face (HemmingwayAI/Hemmingway-1.5) and serve them with vLLM, or load them with Hugging Face Transformers as a chat model. Run it at temperature 1.0. A lower temperature makes its writing easier for AI detectors to catch.

It is a 27B model built on Hemmingway-1, with a 262,144-token context, under CC BY-NC 4.0: free for personal, research and other non-commercial use, and commercial use by agreement with us. The catch is memory: at 16-bit precision the weights alone take roughly 54 GB. If you do not have that, the same model is in the Hemmingway app and in the API as hemmingway-1.5.

What you need

Weightshuggingface.co/HemmingwayAI/Hemmingway-1.5
Codegithub.com/lukeckprobierts/Hemmingway-1
Parameters27B
Built onHemmingway-1 (Qwen3.8-27B)
Context262,144 tokens
SettingsTemperature 1.0, any thinking level
LicenceCC BY-NC 4.0; commercial use by agreement
Released25 October 2026

You also need Python, a recent vLLM or Transformers, and a machine with enough GPU memory. The weights on Hugging Face are the full 16-bit ones.

How much memory it needs

The arithmetic, so you can check it:

  • A parameter stored at 16-bit precision takes 2 bytes.
  • Hemmingway-1.5 has about 27 billion parameters.
  • 27 billion times 2 bytes is about 54 GB.

That is the weights alone. The context needs memory on top: every token the model holds takes space, and the longer the context you allow, the more you need. Plan for more than 54 GB of GPU memory. If one card does not have it, vLLM and Transformers can both spread the model over several.

Option 1: serve it with vLLM

The model card gives one command:

vllm serve HemmingwayAI/Hemmingway-1.5 --max-model-len 262144

  1. vllm serve downloads the weights the first time and starts a server.
  2. HemmingwayAI/Hemmingway-1.5 is the model to load.
  3. --max-model-len 262144 sets the longest context the server accepts, the model's full context.

If it runs out of memory at start, try a smaller --max-model-len first. A reply to an email thread or a rewrite of a page needs far less than 262,144 tokens. With several GPUs, vLLM's --tensor-parallel-size splits the model across them.

The server speaks an OpenAI-compatible API on your machine, so code written for OpenAI's Chat Completions can point at it with HemmingwayAI/Hemmingway-1.5 as the model name. Send temperature: 1.0. To change thinking, send enable_thinking or reasoning_effort inside chat_template_kwargs, as the card says.

Option 2: load it with Transformers

The model card's example, step by step:

  1. Import the classes: from transformers import AutoModelForCausalLM, AutoTokenizer
  2. Name the model: model_id = "HemmingwayAI/Hemmingway-1.5"
  3. Load the tokenizer: tok = AutoTokenizer.from_pretrained(model_id)
  4. Load the model on your GPUs at its own precision: model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", dtype="auto")
  5. Write the conversation: messages = [{"role": "user", "content": "Write a product description for a handmade ceramic coffee mug."}]
  6. Build the input with the chat template and a thinking level: ids = tok.apply_chat_template(messages, add_generation_prompt=True, reasoning_effort="medium", return_tensors="pt").to(model.device)
  7. Generate at temperature 1.0: out = model.generate(ids, max_new_tokens=8192, do_sample=True, temperature=1.0)
  8. Decode only the new text: text = tok.decode(out[0][ids.shape[-1]:], skip_special_tokens=True)
  9. Print the reply without the thinking: print(text.split("</think>")[-1].strip())

device_map="auto" spreads the model over more than one GPU, or puts part of it in ordinary memory if it must. That works, but slowly: fine for a test, not for a product. Always build the prompt with apply_chat_template, so the conversation reaches the model in the format it was trained on.

Settings

  • Temperature 1.0. Every result on the model card was written at 1.0. Lower temperatures make its writing easier to detect. The repo's generation_config.json already sets 1.0, so Transformers uses it unless you pass another.
  • Any thinking level. It was tested at all four: off, low, medium and extra high, and passed GPTZero 90% of the time at each. Pass enable_thinking=False to turn thinking off, or reasoning_effort as "low", "medium" or "xhigh" (extra high, the default).
  • Room for thinking. Leave max_new_tokens room for the thinking and the reply together. The card's example uses 8,192.

Checking it works

Run the card's own ask: a product description for a handmade ceramic coffee mug. A working setup gives you the description itself, short and plain, with no preamble and no list of options. On the model card, the first try at extra high read:

Handmade from Colorado red clay. Glazed in one of our own mixed colors, produced in small batches for true color variations. Please enjoy the little flaws. 12 oz (500ml). Dishwasher and microwave safe.

Yours will differ, since it samples at temperature 1.0, but it should be the same kind of answer.

Option 3: no hardware at all

  • The API. Hemmingway-1.5 runs behind an OpenAI-compatible API at https://hemmingway.io/v1 as hemmingway-1.5, the default model. Change the base URL, the key and the model name in code that already uses OpenAI's SDK. Keys and prices are on the API platform, every field in the docs.
  • The app. To write with it rather than build on it, the Hemmingway app on Mac, Windows, Android and the web uses it by default. It is free to try.

Running it yourself makes sense when your data has to stay on your machines, when you want to fine-tune it under the licence, or when you already have the GPUs. The API makes sense when you do not want to manage hardware.

Get an API keyTry Hemmingway

What to expect from it

90% of Hemmingway-1.5's writing passes GPTZero and four of the top open AI detectors on the first try, across 1,848 texts in 13 kinds of writing. Real human writing passes the same detectors 86% of the time. How that test was run.

It is English-first. If you want Hemmingway-1 instead, the model 1.5 is built on, its guide is here.

Common questions

How do I run Hemmingway-1.5 with vLLM?

Run vllm serve HemmingwayAI/Hemmingway-1.5 --max-model-len 262144. It downloads the weights from Hugging Face and serves an OpenAI-compatible API on your machine. Send requests at temperature 1.0.

What settings should I use for Hemmingway-1.5?

Temperature 1.0, at any thinking level. It was tested at off, low, medium and extra high, and a lower temperature makes its writing easier to detect.

How much VRAM does Hemmingway-1.5 need?

At 16-bit precision, 27 billion parameters at 2 bytes each is roughly 54 GB for the weights alone, plus memory for the context. Plan for more than 54 GB of GPU memory, over several cards if needed.

Can I use Hemmingway-1.5 commercially?

With an agreement. It is under CC BY-NC 4.0, which lets anyone download, run, fine-tune and share it for non-commercial use. For commercial use, write to luka@hemmingway.io.

Can I run Hemmingway-1.5 on a laptop?

Only if it has well over 54 GB of GPU memory to spare, which most do not. On ordinary hardware, use the Hemmingway app or the API, which run the same model.

Read next

  • Hemmingway-1.5: the writing model that passes AI detectorsHemmingway-1.5, out 25 October 2026: 90% of its writing passes GPTZero and four top AI detectors first try. What changed, the test, the download, the API.
  • How to run Hemmingway-1 locallyRun Hemmingway-1 locally with vLLM or Transformers: the commands, how much memory a 27B model needs, and the hosted API if you have no GPU.
  • The best local LLM for writingThe best local LLM for writing is the largest writing model your memory can hold. A sizing rule, the tools that run one, a test, and where Hemmingway fits.
  • OpenAI-compatible APIAn OpenAI-compatible API takes requests in OpenAI's format, so your code needs a new base URL, key and model name. What stays the same and what may differ.
  • Choosing the best LLM API for writingWhat to look for in an LLM API for writing features: human-sounding output, no commentary around the message, context, OpenAI compatibility and open weights.