zylon-ai/private-gpt · error · ValueError
RemoteTokenizeTokenizer is not available with the given conf
Error message
RemoteTokenizeTokenizer is not available with the given configuration.
What it means
Raised by the tokenizer registry's _build_remote_tokenizer factory when RemoteTokenizeTokenizer.is_available(**kwargs) returns False. The registry only constructs a remote tokenizer after an availability probe succeeds, so this error means the configuration passed to get_tokenizer (e.g. tokenizer mode 'remote_tokenize') is incomplete for remote operation — typically a missing or malformed endpoint URL or API key. It is a configuration-time ValueError thrown before any network call is made.
Source
Thrown at private_gpt/components/llm/tokenizers/registry.py:48
def _build_tiktoken_tokenizer(**kwargs: Any) -> TokenizerBase:
from private_gpt.components.llm.tokenizers.tiktoken import TikTokenTokenizer
return TikTokenTokenizer.from_pretrained(**kwargs)
def _build_estimator_tokenizer(**kwargs: Any) -> TokenizerBase:
from private_gpt.components.llm.tokenizers.estimator import EstimatorTokenizer
return EstimatorTokenizer.from_pretrained(**kwargs)
def _build_remote_tokenizer(**kwargs: Any) -> TokenizerBase:
from private_gpt.components.llm.tokenizers.remote import RemoteTokenizeTokenizer
if not RemoteTokenizeTokenizer.is_available(**kwargs):
raise ValueError(
"RemoteTokenizeTokenizer is not available with the given configuration."
)
return RemoteTokenizeTokenizer.from_pretrained(**kwargs)
def _build_huggingface_tokenizer(**kwargs: Any) -> TokenizerBase:
from private_gpt.components.llm.tokenizers.huggingface import HuggingFaceTokenizer
if not HuggingFaceTokenizer.is_available(**kwargs):
raise ImportError(
"HuggingFaceTokenizer is not available with the given configuration."
)
return HuggingFaceTokenizer.from_pretrained(**kwargs)
def _build_default_tokenizer(**kwargs: Any) -> TokenizerBase:View on GitHub (pinned to 4a030776a3)
Solutions
- Set the remote tokenizer endpoint (and API key if required) in your settings/profile so RemoteTokenizeTokenizer.is_available(**kwargs) returns True.
- Call RemoteTokenizeTokenizer.is_available(**kwargs) directly before get_tokenizer to confirm which config field is failing.
- If no remote service is intended, switch tokenizer_mode to a local mode ('huggingface', 'tiktoken', 'estimator') or omit it to use the default chain.
- Verify the remote tokenizer service is running and reachable from the app host (URL scheme, port, TLS).
Example fix
# before
tokenizer = get_tokenizer('remote_tokenize') # ValueError: not available
# after
settings.tokenizer_remote.url = 'http://localhost:8000'
assert RemoteTokenizeTokenizer.is_available()
tokenizer = get_tokenizer('remote_tokenize') Defensive patterns
Strategy: validation
Validate before calling
from private_gpt.components.llm.tokenizers.remote import RemoteTokenizeTokenizer
ok = RemoteTokenizeTokenizer.is_available(**tokenizer_kwargs)
if not ok:
# fix config (url/api key) before requesting the tokenizer
... Try / catch
try:
tok = get_tokenizer('remote_tokenize', **kwargs)
except ValueError as e:
if 'not available' in str(e):
tok = get_tokenizer('estimator') # deliberate fallback mode
else:
raise Prevention
- Run is_available(**kwargs) in a startup health check and fail deployment loudly when the remote tokenizer is configured but unreachable.
- Keep the remote tokenizer URL/key in one settings source and validate them at load time (non-empty, valid URL scheme).
When it happens
Trigger: Calling get_tokenizer('remote_tokenize', ...) (or any externally registered mode that maps to this factory) with kwargs where is_available() fails: no remote tokenizer base_url/endpoint configured, missing API key for a key-protected tokenizer service, or an unreachable/misformatted URL during the availability check.
Common situations: Deploying private-gpt with llm.tokenizer_mode=remote_tokenize in settings but forgetting the tokenizer server URL; rotating/removing the API key so the availability probe fails; pointing at a tokenizer service that is down at startup.
Related errors
- No model specified and no models are configured
- Tokenizer is required and must support apply_chat_template:
- TOOL_NAME_CONFLICT
- LLM mode '{mode}' is not supported. Available: {available}
- Default LLM model '{model_id}' could not be initialized: {e}
AI-assisted analysis of zylon-ai/private-gpt@4a030776a3 (2026-08-15).
Data as JSON: /api/errors/f06208d9f085e071.
Report an issue: GitHub.