Skip to content

Governed LLM layer (optional)

Default: off. The Hermes skill runs fully without any model.

Enable

export HYPERLEX_LLM=1

# Deterministic dry-run (no network) — tests / CI
export HYPERLEX_LLM_PROVIDER=echo

# OpenAI-compatible HTTP (stdlib urllib; no openai package required)
export HYPERLEX_LLM_PROVIDER=openai_compatible
export HYPERLEX_LLM_API_KEY=sk-...          # or OPENAI_API_KEY
export HYPERLEX_LLM_BASE_URL=https://api.openai.com/v1   # optional
export HYPERLEX_LLM_MODEL=gpt-4o-mini                    # optional
export HYPERLEX_LLM_TIMEOUT=30                           # seconds

HYPERLEX_OFFLINE=1 refuses openai_compatible network calls (fail closed).

Or inject a provider in process:

from hyperlex.llm.governed import set_provider, enrich_neologisms

def my_provider(prompt: str, context: dict) -> str:
    # call your model; return JSON string with candidates
    return '{"candidates":[{"term":"example","formation":"llm","confidence":0.5}]}'

set_provider(my_provider)

What it may do

  • Suggest additional neologism candidates merged into analysis.neologisms
  • Record status under analysis.llm_enrichment

What it must not do

  • Set provenance.brier
  • Auto-settle forecasts
  • Mutate score log or receipt ledger
  • Claim OBSERVED without operator evidence

Candidate confidences are capped at 0.85. Provenance defaults to SPECULATIVE.

Status values

status meaning
skipped HYPERLEX_LLM not enabled
not_configured enabled but no provider
applied candidates merged
error provider raised