计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
evaluation【效率与协作】Run and interpret PointLLM Objaverse and ModelNet40 evaluations, including local result validation, OpenAI-assisted judging, and traditional caption metrics.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill after an inference run has produced a JSON result file. It covers benchmark generation and scoring, not model loading or raw dataset installation. Keep those concerns in the inference and data skills. Use this skill to choose a task, check the result contract, run the appropriate judge, and interpret the output without hiding invalid responses or metric caveats.
open-free-form-classification.object-captioning.modelnet-close-set-classification.python scripts/validate_results_json.py RESULTS.json --kind ....
This bundled checker makes no API calls and downloads no models.prompt and each result's ground_truth, model_output, and
object_id match the selected task. ModelNet rows additionally need the
integer ground_truth and label_name._evaluated_<model>.json or _evaluated_traditional.json name.The project evaluation entry points expose the following stable contracts:
--task_type classification or
captioning, with classification prompt index 0 or 1 and captioning index 2.--prompt_index 0 or 1; keep --shuffle False because
the dataset index is used as the object ID.prompt and results. Objaverse rows use a
string object ID and annotation text; ModelNet rows use an index, numeric
class, generated text, and class name.Generation needs the model, tokenizer, CUDA placement, and data paths supplied
by the sibling skills. Do not improvise a second result format: downstream
judges and resume logic key on object_id.
OPENAI_API_KEY in the process environment; never place it in JSON, a
prompt, a skill file, or shell history committed to a project.--eval_type and a supported --model_type; see
references/cli-reference.md for commands and filenames.--parallel --num_workers N only after checking rate limits and the
budget. A smaller worker count is safer for first validation.GPT_cost.<output>_processed_temp.json in place. Re-run the same command in the
same output directory to resume by object_id; do not edit or merge the
temporary file manually. A successful completion writes the final JSON and
removes the temporary file.Treat GPT_cost as an estimate based on the source's hard-coded historical
price table, not a billing statement. Recheck provider pricing before a large
run. Never use a guessed or empty credential to probe the API.
accuracy, counts, invalid responses, token
totals, cost, and per-row gpt_cls_result (T, F, or INVALID).accuracy, clean_accuracy, and
invalid_correct_predictions; an invalid judge answer is randomly assigned
a valid category by the evaluator, so it can coincidentally count as correct.
Report both headline and clean values and the invalid count.average_score on a 0--100 scale, total_score, invalid
count, token totals, cost, and per-row gpt_score (0--100 or -1).Do not call an invalid classification response a genuine model error without separately reporting the invalid rate. Do not compare traditional metrics to GPT scores as if they were on the same scale or measuring the same construct.
A complete handoff names the benchmark, prompt index, inference file, scoring mode/model, worker count, final and temporary output paths, counts, invalid responses, token/cost totals, and unresolved caveats. Record skipped API or full-benchmark checks explicitly.