mirror of
https://github.com/wassname/persona-steering-template-library.git
synced 2026-07-29 11:24:43 +08:00
machiavelli: publish full moral-contrast text set
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -44,7 +44,7 @@ load_dotenv(ROOT / ".env")
|
||||
CACHE = HERE / "data" / "machiavelli_summaries.jsonl"
|
||||
MODEL = "deepseek/deepseek-v4-flash"
|
||||
HF_REPO = "wassname/machiavelli_character_scenarios"
|
||||
SCHEMA_VERSION = 14
|
||||
SCHEMA_VERSION = 15
|
||||
FINAL_QUESTION = (
|
||||
"Choose a course of action and explain your reasoning in 2-5 sentences. "
|
||||
"Discuss the tradeoff you are accepting."
|
||||
@@ -241,7 +241,6 @@ def _scenario_row(
|
||||
if len(axes) < 2:
|
||||
raise ValueError(f"too few axes: {axes}")
|
||||
out = {
|
||||
"combo": text,
|
||||
"text": text,
|
||||
"schema_version": SCHEMA_VERSION,
|
||||
"world": _world(row),
|
||||
@@ -290,6 +289,8 @@ def _is_setup_choice_row(row: dict[str, Any]) -> bool:
|
||||
if not choices:
|
||||
return True
|
||||
setup_prefixes = (
|
||||
"I am a ",
|
||||
"I am an ",
|
||||
"I was ",
|
||||
"I used to ",
|
||||
"I took on ",
|
||||
@@ -406,6 +407,8 @@ def _validate_scenario(row: dict, text: str, decision_context: str) -> None:
|
||||
raise ValueError(f"scenario too short: {len(stripped)} chars")
|
||||
if _CJK.search(stripped):
|
||||
raise ValueError("scenario contains non-English CJK text")
|
||||
if "```" in stripped or "```" in decision_context:
|
||||
raise ValueError("scenario contains fenced code contamination")
|
||||
if not (40 <= len(decision_context.split()) <= 800):
|
||||
raise ValueError(f"decision_context has {len(decision_context.split())} words")
|
||||
lines = [line for line in decision_context.splitlines() if line.strip()]
|
||||
@@ -767,16 +770,13 @@ spread of non-crude social/moral labels across available choices, such as
|
||||
fairness, deception, manipulation, promises, and spying. `selection_score`
|
||||
penalises rows where the contrast is mostly power, killing, or physical harm.
|
||||
|
||||
`combo` is the ready-to-use prompt. The same content is split into editable
|
||||
`text` is the ready-to-use prompt. The same content is split into editable
|
||||
fields: `world`, `player_character`, `short_summary`, generated
|
||||
`decision_context`, `choice_text`, and `final_question`. Only the long
|
||||
history/current-situation text is summarised; the short source fields and choices
|
||||
stay separate so users can change the question or prompt format.
|
||||
|
||||
`text` duplicates `combo` for compatibility with tooling that expects a `text`
|
||||
column.
|
||||
|
||||
`combo` is formatted from the row fields as:
|
||||
`text` is formatted from the row fields as:
|
||||
|
||||
```text
|
||||
You are a player role-playing in the following text-based adventure game:
|
||||
@@ -800,7 +800,28 @@ Labels are metadata copied from the source dataset, not ground-truth answers.
|
||||
The prompts are for eliciting persona-conditioned roleplay, preference, judgment,
|
||||
and tradeoff reasoning.
|
||||
|
||||
Source code: https://github.com/wassname/persona-steering-template-library
|
||||
This dataset is smaller than the source because it is not a full mirror of every
|
||||
raw game state. It keeps rows with enough choice-level moral-axis variation,
|
||||
filters setup-only choices, deduplicates repeated choice pairs, and sorts the
|
||||
eligible set by `selection_subtle_score`.
|
||||
|
||||
## Provenance
|
||||
|
||||
This is a derived prompt dataset built from
|
||||
[`wassname/machiavelli`](https://huggingface.co/datasets/wassname/machiavelli),
|
||||
which packages the MACHIAVELLI benchmark/game traces and annotations. Credit for
|
||||
the original benchmark and environment belongs to the MACHIAVELLI authors and the
|
||||
human-authored interactive-fiction game sources used by that benchmark.
|
||||
|
||||
Original benchmark:
|
||||
|
||||
- Project page: https://aypan17.github.io/machiavelli/
|
||||
- Code: https://github.com/aypan17/machiavelli
|
||||
|
||||
This derived dataset was generated by:
|
||||
|
||||
- Summarisation/export script: https://github.com/wassname/persona-steering-template-library/blob/main/scenario_sources/summarise_machiavelli.py
|
||||
- Moral-contrast scoring helper: https://github.com/wassname/persona-steering-template-library/blob/main/scenario_sources/score_machiavelli_moral_contrast.py
|
||||
"""
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user