Agent 训练数据的校验、转换与批处理工具。
Project description
agent-data-tools
项目路径:https://github.com/NairongZheng/agent_data_tools
一个面向 Agent 训练数据的 Python 包,提供三类核心能力:
- 校验
openai messages中间格式 - 转换为
conversations训练格式 - 转换为
swift messages训练格式
这个仓库已经重构为标准的 src 布局,可以直接发布到 PyPI,也可以本地通过 pip install -e . 使用。
项目结构
agent_data_tools/
├── pyproject.toml
├── README.md
├── docs/
│ ├── architecture.md
│ ├── formats.md
│ └── templates.md
├── src/
│ └── agent_data_tools/
│ ├── __init__.py
│ ├── builtin_templates/
│ ├── cli.py
│ ├── converters.py
│ ├── models.py
│ ├── schemas.py
│ ├── template_loader.py
│ ├── utils.py
│ ├── validators.py
│ └── py.typed
├── tests/
│ └── test_api.py
└── data_examples/
安装
直接安装:
pip install -e .
安装 pypi 包:
pip install agent-data-tools
快速开始
使用 cli
agent-data-tools validate-openai --data-list datasets/meta.json --log-dir logs
agent-data-tools convert-conversations --data-list datasets/meta.json --output-dir outputs/convs
agent-data-tools convert-swift-messages --data-list datasets/meta.json --output-dir outputs/messages
agent-data-tools convert-conversations --data-list datasets/meta.json --output-dir outputs/convs --template-config ./templates.json
agent-data-tools list-templates
传入 --template-config 时,仅使用配置文件中的模板;未传时默认使用内置模板,其中默认实际生效的是 qwen3.5_35ba3b_think_xml.jinja。
使用代码
from agent_data_tools import batch_convert_from_meta
meta_path = batch_convert_from_meta(
"datasets/meta.json",
"outputs/conversations",
target="conversations",
max_workers=4,
template_config_path="./templates.json",
)
print(meta_path)
公开 API
常用函数:
validate_function_definitionvalidate_openai_messages_recordvalidate_openai_messages_filevalidate_meta_fileconvert_record_to_conversationsconvert_record_to_swift_messagesconvert_jsonl_filebatch_convert_from_metalist_builtin_template_namesresolve_template_specs
结果对象:
ValidationResultConversionStats
设计原则
- 以
openai messages作为统一中间格式 - 将“校验”“模板加载”“转换”“批处理”拆分为独立模块
- 默认内置模板开箱即用,同时允许用户传入模板配置 JSON 覆盖默认模板选择
- conversations 与 swift messages 共用同一套模板渲染入口
文档
- 结构设计:见 docs/architecture.md
- 数据格式说明:见 docs/formats.md
- 模板使用说明:见 docs/templates.md
- 发布与验收:见 docs/release.md
验证
PYTHONPATH=src python -m unittest tests/test_api.py
PYTHONPATH=src python -m agent_data_tools.cli list-templates
PYTHONPATH=src python -m agent_data_tools.cli --help
发布
构建分发包:
python -m pip install build
python -m build
上传前检查:
python -m pip install twine
python -m twine check dist/*
完整发布说明见 docs/release.md。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_data_tools-0.1.5.tar.gz.
File metadata
- Download URL: agent_data_tools-0.1.5.tar.gz
- Upload date:
- Size: 19.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22be45c3fe9569bbb400a924a2093f9a383cf15dd080bd306ee03fc973aad7c3
|
|
| MD5 |
feba4137bfaf69dfb82bf527dc31aea6
|
|
| BLAKE2b-256 |
311efe573dc1cb4975dcf56b4b2f2b565c7f8a4e5b449609a774a31265ccd3f7
|
File details
Details for the file agent_data_tools-0.1.5-py3-none-any.whl.
File metadata
- Download URL: agent_data_tools-0.1.5-py3-none-any.whl
- Upload date:
- Size: 24.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c997b728a19a663e79168cfae7d0f7725bf1c54cee53a223651bbee02eb3777
|
|
| MD5 |
0f44a859da3234ee9f32dfe59407e54c
|
|
| BLAKE2b-256 |
022e68f77de5c32018e386982f4a727c1e1a61851ec1542cdc45c5d1753382e7
|