Skip to content

Commit ac5d164

Browse files
committed
trace ace: launch V78 seismic semantic experiment [run-seismic]
1 parent a68b708 commit ac5d164

1 file changed

Lines changed: 71 additions & 0 deletions

File tree

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: Trace the Ace V78 seismic semantic
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches: [agent/trace-ace-mastery-events]
7+
paths:
8+
- "competitions/trace_the_ace/v78_seismic_semantic.py"
9+
- ".github/workflows/trace-ace-v78-seismic.yml"
10+
11+
jobs:
12+
seismic:
13+
runs-on: ubuntu-latest
14+
timeout-minutes: 360
15+
env:
16+
TRACE_ACE_TRANSCRIPTS_DRIVE_FILE_ID: 1nOjremWhpZ_QKSLvZfGcNkS_C3kMMBUI
17+
TRACE_ACE_METADATA_DRIVE_FILE_ID: 1EpqoamY0vFI2qE57R6wdqU5HwuoVk3Zz
18+
steps:
19+
- uses: actions/checkout@v4
20+
- uses: actions/setup-python@v5
21+
with:
22+
python-version: "3.12"
23+
cache: pip
24+
- name: Install dependencies
25+
run: python -m pip install --disable-pip-version-check numpy pandas scipy scikit-learn gdown sentence-transformers torch
26+
- name: Download data
27+
shell: bash
28+
run: |
29+
set -euo pipefail
30+
mkdir -p /tmp/trace_ace/meta /tmp/trace_ace/transcripts
31+
python - <<'PY'
32+
import os,gdown
33+
if not gdown.download(id=os.environ['TRACE_ACE_METADATA_DRIVE_FILE_ID'],output='/tmp/meta.zip',quiet=False): raise SystemExit('metadata download failed')
34+
if not gdown.download(id=os.environ['TRACE_ACE_TRANSCRIPTS_DRIVE_FILE_ID'],output='/tmp/transcripts.zip',quiet=False): raise SystemExit('transcript download failed')
35+
PY
36+
unzip -q /tmp/meta.zip -d /tmp/trace_ace/meta
37+
unzip -q /tmp/transcripts.zip -d /tmp/trace_ace/transcripts
38+
- name: Resolve schemas
39+
shell: bash
40+
run: |
41+
python - <<'PY'
42+
import csv,shlex
43+
from pathlib import Path
44+
features=labels=td=None
45+
for root in [Path('/tmp/trace_ace/meta'),Path('/tmp/trace_ace/transcripts')]:
46+
for p in root.rglob('*.csv'):
47+
try:
48+
with p.open('r',encoding='utf-8-sig',errors='ignore',newline='') as f: h=next(csv.reader(f))
49+
except Exception: continue
50+
c=set(h)
51+
if features is None and {'response_id','session_id','learning_objective'}.issubset(c): features=p; print('FEATURE HEADER',h)
52+
if labels is None and 'response_id' in c and ('is_correct' in c or 'correct' in c): labels=p; print('LABEL HEADER',h)
53+
if td is None and {'session_id','utterance_id','role','content','timestamp'}.issubset(c): td=p.parent; print('TRANSCRIPT HEADER',h)
54+
if not all([features,labels,td]): raise SystemExit('schema discovery failed')
55+
with open('/tmp/paths.env','w') as f:
56+
f.write('FEATURES='+shlex.quote(str(features))+'\nLABELS='+shlex.quote(str(labels))+'\nTRANSCRIPTS='+shlex.quote(str(td))+'\n')
57+
PY
58+
- name: Run V78 MiniLM seismic test
59+
shell: bash
60+
env:
61+
TOKENIZERS_PARALLELISM: "false"
62+
run: |
63+
set -euo pipefail
64+
source /tmp/paths.env
65+
python competitions/trace_the_ace/v78_seismic_semantic.py --features "$FEATURES" --labels "$LABELS" --transcripts "$TRANSCRIPTS" --out v78_seismic_semantic.json
66+
- name: Upload aggregate result
67+
uses: actions/upload-artifact@v4
68+
with:
69+
name: trace-ace-v78-seismic-result
70+
path: v78_seismic_semantic.json
71+
retention-days: 14

0 commit comments

Comments
 (0)