Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

QIG Tokenizer

Entropy-guided tokenizer for Quantum Information Geometry

Version: 0.1.0 | Status: Working


Overview

QIG-native tokenizer using entropy-guided merging. Token boundaries follow information geometry, not frequency.

Core Principle

  • Entropy-guided merging: Geometric similarity, not frequency heuristics
  • Geometric special tokens: BOS, EOS, PAD, UNK with basin coordinates
  • Redis/PostgreSQL storage: Production-ready persistence
  • Pure information geometry: No external tokenizer dependencies

Installation

pip install qig-tokenizer

With storage backends:

pip install qig-tokenizer[storage]  # Redis + PostgreSQL
pip install qig-tokenizer[redis]    # Redis only
pip install qig-tokenizer[postgres] # PostgreSQL only

Quick Start

from qig_tokenizer import QIGTokenizer

# Create tokenizer with geometric special tokens
tokenizer = QIGTokenizer(target_vocab_size=50000, use_special_tokens=True)

# Train on corpus
with open("corpus.txt", "rb") as f:
    corpus_bytes = f.read()

tokenizer.train(corpus_bytes)

# Encode with special tokens
tokens = tokenizer.encode_with_special("Hello, world!")
# Returns: [256, ...tokens..., 257]  (BOS=256, EOS=257)

# Pad sequences
padded = tokenizer.pad_sequence(tokens, max_length=128)

# Save/load JSON
tokenizer.save("20251220-tokenizer-vocab-0.01W.json")

With Redis/PostgreSQL Storage

from qig_tokenizer import QIGTokenizer
from qig_tokenizer.storage import HybridStorage

# Set up storage (uses REDIS_URL and DATABASE_URL env vars)
storage = HybridStorage()

tokenizer = QIGTokenizer()
tokenizer.set_storage(storage)
tokenizer.train(corpus_bytes)

# Save to database (returns version ID)
version_id = tokenizer.save_to_storage({"corpus": "wikipedia"})

# Load from database
tokenizer.load_from_storage(version_id)

Geometric Special Tokens

Special tokens have geometric meaning on the Fisher manifold:

Token ID Basin Coordinates Purpose
BOS 256 Origin (e₁) Sequence start
EOS 257 Boundary (eₙ) Sequence end
PAD 258 Uniform Geometrically neutral padding
UNK 259 Projection target OOV handling

This enables:

  • Geometric attention masking: High Fisher-Rao distance = low attention
  • Natural sequence boundaries: Emerge from manifold structure
  • Principled OOV handling: Project to nearest basin

Algorithm

The QIG tokenizer uses entropy-guided merging:

  1. Start with bytes (0-255) as base tokens
  2. For each adjacent pair (a,b), compute context distribution
  3. Measure context entropy (proxy for QFI distinguishability)
  4. Merge pairs with lowest entropy (most geometrically similar)
  5. Repeat until target vocab size

This respects asymptotic freedom:

  • Small scales (short tokens) have high coupling → refined first
  • Large scales (long tokens) have low coupling → merge only when justified

Environment Variables

All output files follow QIG naming convention:

YYYYMMDD-tokenizer-vocab-VERSION.STATUS.json

Example: 20251220-tokenizer-vocab-0.03W.json


License

MIT

Release files for qig-tokenizer 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qig-tokenizer 0.2.7
File Size Uploaded
qig_tokenizer-0.2.7.tar.gz 297.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qig-tokenizer 0.2.7
File Interpreter ABI Platform
qig_tokenizer-0.2.7-py3-none-any.whl Python 3 none any Details

Total release size: 367.4 kB

Release files / qig_tokenizer-0.2.7.tar.gz

Download URL qig_tokenizer-0.2.7.tar.gz
Size 297.4 kB
Tags Source
SHA-256 checksum
How to use checksums
cf234c8f0a5f466997f3f3bff92e972e93cbaf645e94145676359248ce387bca
BLAKE2b-256 checksum
How to use checksums
c58ef3bb1944ab6f629b388c1d8dceddb53b6dec40726112df53af05c865343c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / qig_tokenizer-0.2.7-py3-none-any.whl

Download URL qig_tokenizer-0.2.7-py3-none-any.whl
Size 70.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
966dd856a94e05584883aa7a3193137ffab03d0b938a099f581cb89cb4a31658
BLAKE2b-256 checksum
How to use checksums
08e356687a1a160c0b180f0ac13d995ec45a1667a5449ba5ea55e5dc4f4829a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page