Skip to content

About

Reusable Access→Assess→Address methodology for LLM-assisted public dialogue analysis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

multilogue

CI Docs

Reusable Access → Assess → Address methodology for LLM-assisted analysis of public dialogue corpora.

This repository is governed with VibeSafe. Design precedes code:

Layer Question Location
WHY Guiding principles tenets/multilogue/
WHAT Desired outcomes requirements/
HOW Design cip/cip0001.md
DO Implementation tasks backlog/

CIP-0001 defines the package boundaries relative to ai-dialogue-formats and pub_dialogue. CIP-0002 adds pods-style Access loaders for public civic corpora. Fynesse informs AAA philosophically; multilogue does not depend on fynesse at runtime.

Install

pip install -e ".[dev]"
pytest

Access: switchable public corpora

Load public civic text as Unit lists (pods-style named sources). Cache under MULTILOGUE_DATAPATH or ~/.cache/multilogue (never committed). Set MULTILOGUE_ACCESS_YES=1 to skip licence prompts in CI.

from multilogue.access import list_sources, load

print(list_sources())
# ['synthetic', 'polis', 'gdn_cc', 'cdcp', 'cimt', 'decidim']

bundle = load("synthetic")
bundle = load("polis", conversation="vtaiwan.uberx", max_units=200)
bundle = load("gdn_cc", split="valid", max_units=500)
units = bundle["units"]  # citation/licence in bundle["citation"], bundle["license"]
Source Content
synthetic In-memory dummy units (no download)
polis Polis openData comments (CC BY 4.0)
gdn_cc Grand Débat clarified units (FR)
cdcp Cornell eRulemaking comments (EN)
cimt German mobility participation sentences
decidim Metadecidim proposals/comments CSV

Study PDF/.docx parsers stay in consumer packages.

Pedagogical notebooks

Colab-ready notebooks walk Access → Assess → Address with diagnostic plots (synthetic data by default; optional public open-data loaders):

Notebook Topic
00 Access Units and switchable sources
01 Assess Assess without the question
02 Extract Checkpoints and quote support
03 Cluster Frozen k-means, lenses, PCA view
04 Weight Document weighting
05 Multiverse Variance shares
06 Validate κ, sheets, evidence pack
07 End-to-end Synthetic smoke experiment
08 Soft / EMD Soft PPCA, σ²-by-EMD, document EMD

See SETUP.md. Regenerate with python scripts/build_notebooks.py.

Synthetic validation (no corpora in git)

pip install -e ".[dev]"
pre-commit install   # nbstripout + gitleaks (no outputs / no API keys in commits)
multilogue-validate --out outputs/validation_smoke --verbose
pytest tests/test_experiment.py tests/test_access.py tests/test_notebooks_smoke.py -q

Outputs go under gitignored outputs/. Downloads go under the Access cache, not the repo.

Docs

Published site (MkDocs Material): after pip install -e ".[docs]", run mkdocs serve. Hosted at mlatcl.github.io/multilogue when GitHub Pages is enabled.

Page Content
Methodology Shared analytic method
Cookbooks Build ai-dialogue-formats / pub-dialogue style packages
Migration Thin existing consumers onto multilogue
SETUP.md Notebooks and Colab

CIP-0004 chose MkDocs Material over Sphinx for Markdown-native docs + mkdocstrings API pages.

Non-goals

Multilogue does not ship PDF/.docx parsers, study prompts, grounds taxonomies, or paper headline metrics. Those stay in consumer packages. No private dialogue corpora are stored in git.

About

Reusable Access→Assess→Address methodology for LLM-assisted public dialogue analysis

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages