This release is a pre-release and may not be stable for production use.
llmdbg
llmdbg is an early-stage debugger for stepping through language-model layers
and presenting human-readable interpretations of internal vectors. It speaks
the Debug Adapter Protocol
so editor integrations can use a standard debugger UI.
The current prototype includes real GPT-2 Small loading, layer-state capture, logit-lens interpretations, and a VS Code debug extension. A deterministic built-in trace remains available when no model is configured.
pip install --pre llmdbg
llmdbg --version
VS Code prototype
Build and install the extension:
cd vscode-extension
npm install
npm run package
code --install-extension llmdbg-0.0.1.vsix
Create a gpt2.llmdbg file in the workspace:
[model]
id = "openai-community/gpt2"
revision = "main"
device = "cuda"
dtype = "bfloat16"
[input]
prompt = "The capital of France is"
[debug]
stop_on_entry = true
[[step]]
kind = "embedding"
path = "token_embedding"
[[step]]
kind = "attention"
path = "transformer.h.0.attention"
[[step]]
kind = "mlp"
path = "transformer.h.0.mlp"
Open that file and press F5. If VS Code asks for a debugger, choose
llmdbg. No launch.json is required. If a workspace launch configuration
is preferred, the complete minimal version is:
{
"version": "0.2.0",
"configurations": [
{
"type": "llmdbg",
"request": "launch",
"name": "llmdbg: Active file",
"config": "${file}"
}
]
}
On first use, the extension creates a private Python environment in VS Code's
extension storage. It does not install anything into the workspace. The first
GPT-2 run downloads and loads the model, then keeps its tensors resident in a
persistent model-host process. Stopping and restarting the debugger reuses the
resident model and runs only a new forward pass. Closing/reloading VS Code
stops the host and releases the model. Each [[step]] is an authored model
execution stop. Set breakpoints inside these tables or use Step Over to
advance through them. Runtime vectors appear in debugger scopes; the source
file is never rewritten.
To stop at a specific prompt token and layer, add a conditional breakpoint to
the desired [[step]] and use a zero-based condition such as
token.position == 3. The debugger prefills tokens before that position into
the KV cache, then captures the selected token with a one-token forward pass.
Stepping beyond the last selected layer advances to the next token using the
updated cache.
License
MIT
Metadata
Release files for llmdbg 0.0.3a6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| llmdbg-0.0.3a6.tar.gz | 38.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llmdbg-0.0.3a6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 55.4 kB
Release files / llmdbg-0.0.3a6.tar.gz
| Download URL | llmdbg-0.0.3a6.tar.gz |
|---|---|
| Size | 38.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ab85acb2b5a269e0a567f0937af9d5a1178126b453b5970ee32c5c20e626eeed
|
|
BLAKE2b-256 checksum How to use checksums |
ac1dc8445f0a9f86a54b08f0340359a6497a696477d9a676705b24e77168bee3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / llmdbg-0.0.3a6-py3-none-any.whl
| Download URL | llmdbg-0.0.3a6-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4a038a950966706e125ba8d3d5083c38de7731a2f467fb2336326f37c1d808f6
|
|
BLAKE2b-256 checksum How to use checksums |
8eaa6c37e14d6e35946c12df42f263cfeee3a34693007092ce58fb969fd6fce5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Security for llmdbg 0.0.3a6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.