78ec5d9290
ci-cd / build-axolotl-uv (<nil>, 130, 13.0.0, linux/amd64,linux/arm64, 3.12, 2.11.0) (push) Has been cancelled
ci-cd / build-axolotl-uv (<nil>, 130, 13.0.0, true, linux/amd64,linux/arm64, 3.12, 2.12.0) (push) Has been cancelled
ci-cd / build-axolotl-cloud-uv (<nil>, 130, 13.0.0, linux/amd64,linux/arm64, 3.12, 2.11.0) (push) Has been cancelled
ci-cd / build-axolotl-cloud-uv (<nil>, 130, 13.0.0, true, linux/amd64,linux/arm64, 3.12, 2.12.0) (push) Has been cancelled
ci-cd / build-axolotl-cloud-no-tmux-uv (<nil>, 130, 13.0.0, linux/amd64,linux/arm64, 3.12, 2.11.0) (push) Has been cancelled
ci-cd / build-axolotl-cloud-no-tmux-uv (<nil>, 130, 13.0.0, true, linux/amd64,linux/arm64, 3.12, 2.12.0) (push) Has been cancelled
ci-cd-base / build-base-uv (130, 13.0.0, , Dockerfile-uv-base, linux/amd64,linux/arm64, 3.12, 2.12.0, 9.0 10.0 10.3 12.0+PTX) (push) Has been cancelled
ci-cd-base / build-base-uv (130, 13.0.0, , Dockerfile-uv-base, linux/amd64,linux/arm64, 3.12, 2.12.1, 9.0 10.0 10.3 12.0+PTX) (push) Has been cancelled
ci-cd-base / build-base-uv (130, 13.0.0, , Dockerfile-uv-base, linux/amd64,linux/arm64, 3.12, 2.13.0, 9.0 10.0 10.3 12.0+PTX) (push) Has been cancelled
ci-cd-base / build-base-uv (132, 13.2.1, , Dockerfile-uv-base, linux/amd64,linux/arm64, 3.12, 2.13.0, 9.0 10.0 10.3 12.0+PTX, https://download.pytorch.org/whl/cu132) (push) Has been cancelled
ci-cd-base / build-base-uv (130, 13.0.0, , Dockerfile-uv-base, linux/amd64,linux/arm64, 3.12, 2.11.0, 9.0 10.0 10.3 12.0+PTX) (push) Has been cancelled
Tests / PyTest (3.12, 2.12.1) (push) Has been cancelled
Tests / PyTest (3.12, 2.13.0) (push) Has been cancelled
docker-e2e-tests / gate-skip-e2e (push) Has been cancelled
docker-e2e-tests / docker-e2e-tests-1st (<nil>, 130, 13.0.0, 1, 3.12, 2.12.1) (push) Has been cancelled
docker-e2e-tests / docker-e2e-tests (<nil>, 130, 13.0.0, 1, 3.12, 2.11.0) (push) Has been cancelled
docker-e2e-tests / docker-e2e-kernel-tests (<nil>, 130, 13.0.0, 1, 3.12, 2.11.0) (push) Has been cancelled
docker-e2e-tests / docker-e2e-kernel-tests (<nil>, 130, 13.0.0, 1, 3.12, 2.12.1) (push) Has been cancelled
docker-e2e-tests / docker-e2e-cleanup (<nil>, 130, 13.0.0, 1, 3.12, 2.12.1) (push) Has been cancelled
Publish Docs / build-deploy (push) Has been cancelled
Tests / PyTest from Source Dist (3.12, 2.11.0) (push) Has been cancelled
Tests / PyTest from Source Dist (3.12, 2.12.1) (push) Has been cancelled
Tests / PyTest from Source Dist (3.12, 2.13.0) (push) Has been cancelled
Tests / pre-commit (push) Has been cancelled
Tests / Prefetch S3 once to prime the CDN cache (push) Has been cancelled
Tests / PyTest (3.12, 2.11.0) (push) Has been cancelled
61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
"""
|
|
helper script to parse chat datasets into a usable yaml
|
|
"""
|
|
|
|
import click
|
|
import yaml
|
|
from datasets import load_dataset
|
|
|
|
|
|
@click.command()
|
|
@click.argument("dataset", type=str)
|
|
@click.option("--split", type=str, default="train")
|
|
def parse_dataset(dataset=None, split="train"):
|
|
ds_cfg = {}
|
|
ds_cfg["path"] = dataset
|
|
ds_cfg["split"] = split
|
|
ds_cfg["type"] = "chat_template"
|
|
ds_cfg["chat_template"] = "<<<Replace based on your model>>>"
|
|
|
|
dataset = load_dataset(dataset, split=split)
|
|
features = dataset.features
|
|
feature_keys = features.keys()
|
|
field_messages = None
|
|
for key in ["conversation", "conversations", "messages"]:
|
|
if key in feature_keys:
|
|
field_messages = key
|
|
break
|
|
if not field_messages:
|
|
raise ValueError(
|
|
f"No conversation field found in dataset: {', '.join(feature_keys)}"
|
|
)
|
|
ds_cfg["field_messages"] = field_messages
|
|
|
|
message_fields = features[field_messages][0].keys()
|
|
|
|
message_property_mappings = {"role": None, "content": None}
|
|
for key in ["from", "role"]:
|
|
if key in message_fields:
|
|
message_property_mappings["role"] = key
|
|
break
|
|
if not message_property_mappings["role"]:
|
|
raise ValueError(
|
|
f"No role field found in messages: {', '.join(message_fields)}"
|
|
)
|
|
|
|
for key in ["content", "text", "value"]:
|
|
if key in message_fields:
|
|
message_property_mappings["content"] = key
|
|
break
|
|
if not message_property_mappings["content"]:
|
|
raise ValueError(
|
|
f"No content field found in messages: {', '.join(message_fields)}"
|
|
)
|
|
ds_cfg["message_property_mappings"] = message_property_mappings
|
|
|
|
print(yaml.dump({"datasets": [ds_cfg]}))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parse_dataset()
|