Reject whitespace in iteration parser
This commit is contained in:
40
setup.py
40
setup.py
@@ -1,34 +1,30 @@
|
|||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="train",
|
name="sia",
|
||||||
version="0.1.0",
|
version="0.1.0",
|
||||||
packages=find_packages(),
|
packages=find_packages(),
|
||||||
scripts=[
|
entry_points={
|
||||||
'bin/train'
|
'console_scripts': [
|
||||||
|
'sia=sia.__main__:main',
|
||||||
],
|
],
|
||||||
|
},
|
||||||
install_requires=[
|
install_requires=[
|
||||||
'accelerate>=0.25.0',
|
|
||||||
'bitsandbytes>=0.45.0',
|
|
||||||
'black>=22.0.0',
|
|
||||||
'datasets>=2.14.6',
|
|
||||||
'einops>=0.7.0',
|
|
||||||
'flake8>=4.0.0',
|
|
||||||
'ipykernel>=6.0.0',
|
|
||||||
'ipywidgets>=8.0.0',
|
|
||||||
'peft>=0.8.0',
|
|
||||||
'peft>=0.8.0',
|
|
||||||
'pytest-cov>=4.0.0',
|
|
||||||
'pytest>=7.0.0',
|
|
||||||
'pyyaml>=6.0',
|
|
||||||
'requests>=2.28.0',
|
|
||||||
'sentencepiece>=0.1.99',
|
|
||||||
'torch>=2.0.0',
|
'torch>=2.0.0',
|
||||||
|
'accelerate>=0.26.0',
|
||||||
|
'aiohttp>=3.8.0',
|
||||||
|
'bitsandbytes>=0.41.0',
|
||||||
|
'dotenv-python>=0.0.1',
|
||||||
|
'huggingface_hub>=0.16.0',
|
||||||
|
'lxml>=4.9.0',
|
||||||
|
'mistral-common>=1.0.0',
|
||||||
|
'mistralai>=0.0.7',
|
||||||
|
'openai>=1.0.0',
|
||||||
|
'psutil>=5.9.0',
|
||||||
|
'python-dotenv>=1.0.0',
|
||||||
|
'tiktoken>=0.4.0',
|
||||||
'transformers>=4.30.0',
|
'transformers>=4.30.0',
|
||||||
'trl>=0.7.8',
|
'xml_schema_validator @ file:///root/sia/lib/xml_schema_validator',
|
||||||
'unsloth>=2025.3',
|
|
||||||
'vllm==0.8.2',
|
|
||||||
],
|
],
|
||||||
python_requires='>=3.10',
|
python_requires='>=3.10',
|
||||||
)
|
)
|
||||||
@@ -57,17 +57,17 @@ class IterationParser:
|
|||||||
def _parse_background(elem: ET.Element, work_dir: Path) -> BackgroundEntry:
|
def _parse_background(elem: ET.Element, work_dir: Path) -> BackgroundEntry:
|
||||||
entry = BackgroundEntry(
|
entry = BackgroundEntry(
|
||||||
id=elem.get("id"),
|
id=elem.get("id"),
|
||||||
script=elem.text,
|
script=(elem.text or "").strip(),
|
||||||
work_dir=work_dir
|
work_dir=work_dir
|
||||||
)
|
)
|
||||||
if elem.get("exit_code"):
|
if elem.get("exit_code"):
|
||||||
entry.exit_code = int(elem.get("exit_code"))
|
entry.exit_code = int(elem.get("exit_code"))
|
||||||
stdout = elem.find("stdout")
|
stdout = elem.find("stdout")
|
||||||
if stdout is not None:
|
if stdout is not None:
|
||||||
entry.stdout = stdout.text or ""
|
entry.stdout = (stdout.text or "").strip()
|
||||||
stderr = elem.find("stderr")
|
stderr = elem.find("stderr")
|
||||||
if stderr is not None:
|
if stderr is not None:
|
||||||
entry.stderr = stderr.text or ""
|
entry.stderr = (stderr.text or "").strip()
|
||||||
return entry
|
return entry
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -76,8 +76,8 @@ class IterationParser:
|
|||||||
content = elem.find("content")
|
content = elem.find("content")
|
||||||
return ParseErrorEntry(
|
return ParseErrorEntry(
|
||||||
id=elem.get("id"),
|
id=elem.get("id"),
|
||||||
content=content.text if content is not None else "",
|
content=(content.text or "").strip(),
|
||||||
error=error.text if error is not None else ""
|
error=(error.text or "").strip()
|
||||||
)
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -86,7 +86,7 @@ class IterationParser:
|
|||||||
id=elem.get("id"),
|
id=elem.get("id"),
|
||||||
io_buffer=io_buffer
|
io_buffer=io_buffer
|
||||||
)
|
)
|
||||||
entry.content = elem.text or ""
|
entry.content = (elem.text or "").strip()
|
||||||
entry.read = True
|
entry.read = True
|
||||||
return entry
|
return entry
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ class IterationParser:
|
|||||||
def _parse_reasoning(elem: ET.Element) -> ReasoningEntry:
|
def _parse_reasoning(elem: ET.Element) -> ReasoningEntry:
|
||||||
return ReasoningEntry(
|
return ReasoningEntry(
|
||||||
id=elem.get("id"),
|
id=elem.get("id"),
|
||||||
content=elem.text or ""
|
content=(elem.text or "").strip()
|
||||||
)
|
)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -102,7 +102,7 @@ class IterationParser:
|
|||||||
entry = RepeatEntry(
|
entry = RepeatEntry(
|
||||||
id=elem.get("id"),
|
id=elem.get("id"),
|
||||||
work_dir=work_dir,
|
work_dir=work_dir,
|
||||||
script=elem.text,
|
script=(elem.text or "").strip(),
|
||||||
timeout=float(elem.get("timeout")) if elem.get("timeout") else None,
|
timeout=float(elem.get("timeout")) if elem.get("timeout") else None,
|
||||||
limit=int(elem.get("limit")) if elem.get("limit") else None
|
limit=int(elem.get("limit")) if elem.get("limit") else None
|
||||||
)
|
)
|
||||||
@@ -111,10 +111,10 @@ class IterationParser:
|
|||||||
entry.timed_out = elem.get("timed_out") == "true"
|
entry.timed_out = elem.get("timed_out") == "true"
|
||||||
stdout = elem.find("stdout")
|
stdout = elem.find("stdout")
|
||||||
if stdout is not None:
|
if stdout is not None:
|
||||||
entry.stdout = stdout.text or ""
|
entry.stdout = (stdout.text or "").strip()
|
||||||
stderr = elem.find("stderr")
|
stderr = elem.find("stderr")
|
||||||
if stderr is not None:
|
if stderr is not None:
|
||||||
entry.stderr = stderr.text or ""
|
entry.stderr = (stderr.text or "").strip()
|
||||||
return entry
|
return entry
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@@ -122,7 +122,7 @@ class IterationParser:
|
|||||||
entry = SingleEntry(
|
entry = SingleEntry(
|
||||||
id=elem.get("id"),
|
id=elem.get("id"),
|
||||||
work_dir=work_dir,
|
work_dir=work_dir,
|
||||||
script=elem.text,
|
script=(elem.text or "").strip(),
|
||||||
timeout=float(elem.get("timeout")) if elem.get("timeout") else None,
|
timeout=float(elem.get("timeout")) if elem.get("timeout") else None,
|
||||||
limit=int(elem.get("limit")) if elem.get("limit") else None
|
limit=int(elem.get("limit")) if elem.get("limit") else None
|
||||||
)
|
)
|
||||||
@@ -132,17 +132,17 @@ class IterationParser:
|
|||||||
entry.timed_out = elem.get("timed_out") == "true"
|
entry.timed_out = elem.get("timed_out") == "true"
|
||||||
stdout = elem.find("stdout")
|
stdout = elem.find("stdout")
|
||||||
if stdout is not None:
|
if stdout is not None:
|
||||||
entry.stdout = stdout.text or ""
|
entry.stdout = (stdout.text or "").strip()
|
||||||
stderr = elem.find("stderr")
|
stderr = elem.find("stderr")
|
||||||
if stderr is not None:
|
if stderr is not None:
|
||||||
entry.stderr = stderr.text or ""
|
entry.stderr = (stderr.text or "").strip()
|
||||||
return entry
|
return entry
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _parse_write(elem: ET.Element, io_buffer) -> WriteEntry:
|
def _parse_write(elem: ET.Element, io_buffer) -> WriteEntry:
|
||||||
entry = WriteEntry(
|
entry = WriteEntry(
|
||||||
id=elem.get("id"),
|
id=elem.get("id"),
|
||||||
content=elem.text or "",
|
content=(elem.text or "").strip(),
|
||||||
io_buffer=io_buffer
|
io_buffer=io_buffer
|
||||||
)
|
)
|
||||||
entry.written = True
|
entry.written = True
|
||||||
|
|||||||
Reference in New Issue
Block a user