How yuqiannemo/llm-dna works
LLM-DNA extracts low-dimensional behavioral signatures from language models by probing them with generated or dataset-backed text, then encoding model responses or hidden-state embeddings into DNA vectors. The primary workflow is exposed through the Python API and CLI, with support for single or parallel model runs, Hugging Face/local and hosted providers, metadata, response caching, and saved signatures. The README also describes comparing models and building evolutionary trees; the sampled files do not establish the implementation or wiring of tree construction.
Main entry points: extraction.py Extraction core · api.py Python API · ModelWrapper.py Model wrappers · DNASignature.py Signatures and metrics
Components 19
User entrypoints
- CLI
src/llm_dna/cli.py - Python API
src/llm_dna/api.py
Extraction workflow
- Parallel runs
src/llm_dna/api.py - Extraction core
src/llm_dna/core/extraction.py - Response and dataset cache
src/llm_dna/api.py - Saved results
src/llm_dna/api.py
Probe and metadata inputs
- Probe generation
src/llm_dna/data/ProbeGenerator.py - Dataset loading
src/llm_dna/data/DatasetLoader.py - Model metadata
src/llm_dna/utils/metadata.py
Model execution
- Model loader
src/llm_dna/models/ModelLoader.py - Model wrappers
src/llm_dna/models/ModelWrapper.py
DNA results
- DNA extraction
src/llm_dna/dna/DNAExtractor.py - Embedding extraction
src/llm_dna/dna/EmbeddingDNAExtractor.py - Signatures and metrics
src/llm_dna/dna/DNASignature.py - Evolutionary trees
src/llm_dna/dna
Other components
- Researcher
- Hugging Face Hub
- Hosted model APIs
- Local files
Connections 24
- Researcher → CLI: invokes
- Researcher → Python API: calls
- CLI → Python API: dispatches
- Python API → Parallel runs: dispatches
- Python API → Extraction core: runs extraction
- Parallel runs → Extraction core: runs per model
- Extraction core → Probe generation: generates probes
- Extraction core → Dataset loading: loads samples
- Extraction core → Model metadata: loads metadata
- Extraction core → Model loader: loads model
- Model loader → Model wrappers: creates wrapper
- Model wrappers → Hugging Face Hub: loads model
- Model wrappers → Hosted model APIs: sends requests
- Extraction core → DNA extraction: extracts signature
- Extraction core → Embedding extraction: extracts embeddings
- DNA extraction → Signatures and metrics: produces
- Embedding extraction → Signatures and metrics: produces
- Signatures and metrics → Evolutionary trees: supports comparison
- Python API → Response and dataset cache: reads and writes
- Extraction core → Response and dataset cache: caches samples
- Python API → Saved results: saves results
- Response and dataset cache → Local files: reads and writes
- Saved results → Local files: writes
- Model metadata → Hugging Face Hub: fetches model info