CoolFace
Datasetpublic

hungbenjamin402/IF-multi-constraints-upto5-LFM2.5-prompts

IF_multi_constraints_upto5 → LFM2.5 prompt format (for RLVR / rejection sampling / DPO) A derivative of allenai/IF_multi_constraints_upto5 (odc-by) normalized for fine-tuning Liquid AI LFM2 / LFM2.5 models, whose native tool-call format is Pythonic: <|im_start|>assistant <|tool_call_start|>[get_weather(location='Paris, France', unit='celsius')]<|tool_call_end|><|im_end|> Prompt-only rows (prompt_only = true): Tulu-SFT instructions with up to 5 verifiable constraints from IFEval… See the full description on the dataset page: https://huggingface.co/datasets/hungbenjamin402/IF-multi-constraints-upto5-LFM2.5-prompts.

sourceHugging Faceodc-byupdated 1mo agoView on Hugging Face
0likes34downloads
Dataset Card

IFmulticonstraints_upto5 → LFM2.5 prompt format (for RLVR / rejection sampling / DPO)

A derivative of allenai/IF_multi_constraints_upto5 (odc-by) normalized for fine-tuning Liquid AI LFM2 / LFM2.5 models, whose native tool-call format is Pythonic:

<|im_start|>assistant
<|tool_call_start|>[get_weather(location='Paris, France', unit='celsius')]<|tool_call_end|><|im_end|>

Prompt-only rows (prompt_only = true): Tulu-SFT instructions with up to 5 verifiable constraints from IFEval (25) and IFBench-Train (29 — disjoint from IFBench test). Each row ends in the LFM2.5 generation prompt; extra carries the verifier spec (ground_truth, constraint_type, constraint) for open_instruct/IFEvalG. This is the IF-RLVR data from Generalizing Verifiable Instruction Following (arXiv 2507.02833).

Every row was rendered through the official LiquidAI/LFM2.5-VL-3B chat template (identical to the LFM2.5 text models' template for text-only input); prompt-only rows carry no tool calls, so no round-trip check applies.

What changed vs. the source

TransformWhy
Rendered with add_generation_prompt=True; no assistant turnPrompt set for on-policy sampling.
Tool names sanitized to Python identifiers (web-search → web_search), consistently in tools and calls; originals kept in renamed_toolsPythonic call syntax requires identifiers.
Exact-duplicate tool entries deduplicatedTemplate hygiene.
Dropped: calls to undeclared tools, unparseable arguments, argument names that are not identifiers or are Python keywords (from, class), rows over 8192 tokens, rows with no assistant tokensTraining hygiene.

Nothing was rephrased, re-generated, or re-labelled.

Columns

ColumnTypeDescription
id, source, split, licensestrprovenance
messagesstr (JSON)canonical OpenAI-style messages; tool_calls arguments are dicts. Feed this + `tools` to `apply_chat_template` to re-render with any LFM template version.
toolsstr (JSON)OpenAI-style tool schemas
textstrfully rendered LFM2.5 conversation, BOS included
prompt_onlybooltrue when the row is a prompt ending in the generation prompt (no assistant tokens)
n_turns, n_tool_calls, n_tools, n_tokens, n_assistant_tokensintsizes (LFM2.5 tokenizer)
renamed_toolsstr (JSON){original: sanitized} when any tool was renamed, else ""
extrastr (JSON)source-specific fields: key, ground_truth (verifier args), dataset, constraint_type, constraint

Stats

SplitReadKeptRows with renamed toolsDropped (reason=count)
train95,37395,2640too_long=109

Training notes

  • —Use assistant-only loss: apply_chat_template(messages, tools=tools, tokenize=True, return_assistant_tokens_mask=True).
  • —Prefer re-rendering from messages/tools over training on text if your template differs.
  • —Serving-side parsers must accept JSON literals (true, null, nested {}/[]) inside Pythonic calls.

Citation

Please cite the upstream dataset: https://huggingface.co/datasets/allenai/IFmulticonstraints_upto5