gohumanize-open-humanizer
Python client and CLI for the GoHumanize Open Humanizer, an open Qwen3-4B fine-tune (Apache-2.0) that rewrites AI-styled English text into more natural human prose. Trained on 2,957 pairs built from public-domain books and modern US government writing.
pip install gohumanize-open-humanizer
open-humanizer "It is worth noting that the committee reached a consensus."
from gohumanize_open_humanizer import Humanizer
# Your own copy of the model, which needs no key:
# ollama pull hf.co/gohumanize/gohumanize-open-humanizer:Q4_K_M
h = Humanizer(base_url="http://localhost:11434/v1",
model="hf.co/gohumanize/gohumanize-open-humanizer:Q4_K_M")
print(h.humanize("It is worth noting that the committee reached a consensus."))
# Humanizer() with no arguments points at the endpoint behind the browser demo,
# which is rate-limited and needs OPEN_HUMANIZER_API_KEY. To try the model without
# installing anything, use the demo at https://gohumanize.ai/open-model
The hosted endpoint sleeps when idle: the first request after a quiet period waits for a GPU cold start, one to two minutes, and later calls take a second or two. The default timeout is 300 seconds to allow for that.
Environment variables OPEN_HUMANIZER_URL, OPEN_HUMANIZER_MODEL and
OPEN_HUMANIZER_API_KEY set the same options. No dependencies beyond the
standard library.
The model is an educational release: it is separate from the production models of GoHumanize.ai and makes no claim about AI detectors.
Links
Several rewrites, best one returned
On modern prose the model sometimes plays safe and hands the text back almost unchanged (about one try in six for version 2 of the model). Each call therefore asks the endpoint for five rewrites (it generates them in parallel, so the wait is the same) and returns the one that moved furthest from the input while keeping a sensible length. Endpoints that cannot generate several at once, such as Ollama, are asked again only when the rewrite is barely a rewrite.
Humanizer(samples=1) # one request, no choosing
open-humanizer --samples 1 "It is worth noting that ..."
| Resource | Link |
|---|---|
| Project page and browser demo | gohumanize.ai/open-model |
| GoHumanize (the product this research comes from) | gohumanize.ai |
| Model weights and GGUF builds | gohumanize/gohumanize-open-humanizer |
| Dataset, 3,257 pairs (CC-BY 4.0) | gohumanize/gohumanize-open-humanizer-dataset |
| Code and full pipeline | GoHumanize-ai/gohumanize-open-humanizer |
| Write-up: every step, service and result | docs/paper.md |
| Archived release, citable DOI | 10.5281/zenodo.22843083 |
| Python client and CLI | pypi.org/project/gohumanize-open-humanizer |
| MCP server for AI assistants | npm · source |
| Training runs, loss curves and config | Weights & Biases |
Metadata
Release files for gohumanize-open-humanizer 0.1.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gohumanize_open_humanizer-0.1.10.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gohumanize_open_humanizer-0.1.10-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.5 kB
Release files / gohumanize_open_humanizer-0.1.10.tar.gz
| Download URL | gohumanize_open_humanizer-0.1.10.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
58654bfccd92228fb658c62702fa3331f5bdaf02ca184511f13c3da1a1f503a1
|
|
BLAKE2b-256 checksum How to use checksums |
ccfc3442485bb36d25bbbe83e5aa1a3e28dd89ebc94b35716ba0d887b2d25c23
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / gohumanize_open_humanizer-0.1.10-py3-none-any.whl
| Download URL | gohumanize_open_humanizer-0.1.10-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b005e42a19723a6c7adbf21a0bbba049d78af1fc1841435553101b7f975ee445
|
|
BLAKE2b-256 checksum How to use checksums |
c2209c9cc3a906d2b10e8ba3a542adfe84d2e5ea904f864a9b12778ecb6e4a92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|