@synsci/cli-darwin-x64 1.1.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/bin/skills/accelerate/SKILL.md +332 -0
  2. package/bin/skills/accelerate/references/custom-plugins.md +453 -0
  3. package/bin/skills/accelerate/references/megatron-integration.md +489 -0
  4. package/bin/skills/accelerate/references/performance.md +525 -0
  5. package/bin/skills/audiocraft/SKILL.md +564 -0
  6. package/bin/skills/audiocraft/references/advanced-usage.md +666 -0
  7. package/bin/skills/audiocraft/references/troubleshooting.md +504 -0
  8. package/bin/skills/autogpt/SKILL.md +403 -0
  9. package/bin/skills/autogpt/references/advanced-usage.md +535 -0
  10. package/bin/skills/autogpt/references/troubleshooting.md +420 -0
  11. package/bin/skills/awq/SKILL.md +310 -0
  12. package/bin/skills/awq/references/advanced-usage.md +324 -0
  13. package/bin/skills/awq/references/troubleshooting.md +344 -0
  14. package/bin/skills/axolotl/SKILL.md +158 -0
  15. package/bin/skills/axolotl/references/api.md +5548 -0
  16. package/bin/skills/axolotl/references/dataset-formats.md +1029 -0
  17. package/bin/skills/axolotl/references/index.md +15 -0
  18. package/bin/skills/axolotl/references/other.md +3563 -0
  19. package/bin/skills/bigcode-evaluation-harness/SKILL.md +405 -0
  20. package/bin/skills/bigcode-evaluation-harness/references/benchmarks.md +393 -0
  21. package/bin/skills/bigcode-evaluation-harness/references/custom-tasks.md +424 -0
  22. package/bin/skills/bigcode-evaluation-harness/references/issues.md +394 -0
  23. package/bin/skills/bitsandbytes/SKILL.md +411 -0
  24. package/bin/skills/bitsandbytes/references/memory-optimization.md +521 -0
  25. package/bin/skills/bitsandbytes/references/qlora-training.md +521 -0
  26. package/bin/skills/bitsandbytes/references/quantization-formats.md +447 -0
  27. package/bin/skills/blip-2/SKILL.md +564 -0
  28. package/bin/skills/blip-2/references/advanced-usage.md +680 -0
  29. package/bin/skills/blip-2/references/troubleshooting.md +526 -0
  30. package/bin/skills/chroma/SKILL.md +406 -0
  31. package/bin/skills/chroma/references/integration.md +38 -0
  32. package/bin/skills/clip/SKILL.md +253 -0
  33. package/bin/skills/clip/references/applications.md +207 -0
  34. package/bin/skills/constitutional-ai/SKILL.md +290 -0
  35. package/bin/skills/crewai/SKILL.md +498 -0
  36. package/bin/skills/crewai/references/flows.md +438 -0
  37. package/bin/skills/crewai/references/tools.md +429 -0
  38. package/bin/skills/crewai/references/troubleshooting.md +480 -0
  39. package/bin/skills/deepspeed/SKILL.md +141 -0
  40. package/bin/skills/deepspeed/references/08.md +17 -0
  41. package/bin/skills/deepspeed/references/09.md +173 -0
  42. package/bin/skills/deepspeed/references/2020.md +378 -0
  43. package/bin/skills/deepspeed/references/2023.md +279 -0
  44. package/bin/skills/deepspeed/references/assets.md +179 -0
  45. package/bin/skills/deepspeed/references/index.md +35 -0
  46. package/bin/skills/deepspeed/references/mii.md +118 -0
  47. package/bin/skills/deepspeed/references/other.md +1191 -0
  48. package/bin/skills/deepspeed/references/tutorials.md +6554 -0
  49. package/bin/skills/dspy/SKILL.md +590 -0
  50. package/bin/skills/dspy/references/examples.md +663 -0
  51. package/bin/skills/dspy/references/modules.md +475 -0
  52. package/bin/skills/dspy/references/optimizers.md +566 -0
  53. package/bin/skills/faiss/SKILL.md +221 -0
  54. package/bin/skills/faiss/references/index_types.md +280 -0
  55. package/bin/skills/flash-attention/SKILL.md +367 -0
  56. package/bin/skills/flash-attention/references/benchmarks.md +215 -0
  57. package/bin/skills/flash-attention/references/transformers-integration.md +293 -0
  58. package/bin/skills/gguf/SKILL.md +427 -0
  59. package/bin/skills/gguf/references/advanced-usage.md +504 -0
  60. package/bin/skills/gguf/references/troubleshooting.md +442 -0
  61. package/bin/skills/gptq/SKILL.md +450 -0
  62. package/bin/skills/gptq/references/calibration.md +337 -0
  63. package/bin/skills/gptq/references/integration.md +129 -0
  64. package/bin/skills/gptq/references/troubleshooting.md +95 -0
  65. package/bin/skills/grpo-rl-training/README.md +97 -0
  66. package/bin/skills/grpo-rl-training/SKILL.md +572 -0
  67. package/bin/skills/grpo-rl-training/examples/reward_functions_library.py +393 -0
  68. package/bin/skills/grpo-rl-training/templates/basic_grpo_training.py +228 -0
  69. package/bin/skills/guidance/SKILL.md +572 -0
  70. package/bin/skills/guidance/references/backends.md +554 -0
  71. package/bin/skills/guidance/references/constraints.md +674 -0
  72. package/bin/skills/guidance/references/examples.md +767 -0
  73. package/bin/skills/hqq/SKILL.md +445 -0
  74. package/bin/skills/hqq/references/advanced-usage.md +528 -0
  75. package/bin/skills/hqq/references/troubleshooting.md +503 -0
  76. package/bin/skills/hugging-face-cli/SKILL.md +191 -0
  77. package/bin/skills/hugging-face-cli/references/commands.md +954 -0
  78. package/bin/skills/hugging-face-cli/references/examples.md +374 -0
  79. package/bin/skills/hugging-face-datasets/SKILL.md +547 -0
  80. package/bin/skills/hugging-face-datasets/examples/diverse_training_examples.json +239 -0
  81. package/bin/skills/hugging-face-datasets/examples/system_prompt_template.txt +196 -0
  82. package/bin/skills/hugging-face-datasets/examples/training_examples.json +176 -0
  83. package/bin/skills/hugging-face-datasets/scripts/dataset_manager.py +522 -0
  84. package/bin/skills/hugging-face-datasets/scripts/sql_manager.py +844 -0
  85. package/bin/skills/hugging-face-datasets/templates/chat.json +55 -0
  86. package/bin/skills/hugging-face-datasets/templates/classification.json +62 -0
  87. package/bin/skills/hugging-face-datasets/templates/completion.json +51 -0
  88. package/bin/skills/hugging-face-datasets/templates/custom.json +75 -0
  89. package/bin/skills/hugging-face-datasets/templates/qa.json +54 -0
  90. package/bin/skills/hugging-face-datasets/templates/tabular.json +81 -0
  91. package/bin/skills/hugging-face-evaluation/SKILL.md +656 -0
  92. package/bin/skills/hugging-face-evaluation/examples/USAGE_EXAMPLES.md +382 -0
  93. package/bin/skills/hugging-face-evaluation/examples/artificial_analysis_to_hub.py +141 -0
  94. package/bin/skills/hugging-face-evaluation/examples/example_readme_tables.md +135 -0
  95. package/bin/skills/hugging-face-evaluation/examples/metric_mapping.json +50 -0
  96. package/bin/skills/hugging-face-evaluation/requirements.txt +20 -0
  97. package/bin/skills/hugging-face-evaluation/scripts/evaluation_manager.py +1374 -0
  98. package/bin/skills/hugging-face-evaluation/scripts/inspect_eval_uv.py +104 -0
  99. package/bin/skills/hugging-face-evaluation/scripts/inspect_vllm_uv.py +317 -0
  100. package/bin/skills/hugging-face-evaluation/scripts/lighteval_vllm_uv.py +303 -0
  101. package/bin/skills/hugging-face-evaluation/scripts/run_eval_job.py +98 -0
  102. package/bin/skills/hugging-face-evaluation/scripts/run_vllm_eval_job.py +331 -0
  103. package/bin/skills/hugging-face-evaluation/scripts/test_extraction.py +206 -0
  104. package/bin/skills/hugging-face-jobs/SKILL.md +1041 -0
  105. package/bin/skills/hugging-face-jobs/index.html +216 -0
  106. package/bin/skills/hugging-face-jobs/references/hardware_guide.md +336 -0
  107. package/bin/skills/hugging-face-jobs/references/hub_saving.md +352 -0
  108. package/bin/skills/hugging-face-jobs/references/token_usage.md +546 -0
  109. package/bin/skills/hugging-face-jobs/references/troubleshooting.md +475 -0
  110. package/bin/skills/hugging-face-jobs/scripts/cot-self-instruct.py +718 -0
  111. package/bin/skills/hugging-face-jobs/scripts/finepdfs-stats.py +546 -0
  112. package/bin/skills/hugging-face-jobs/scripts/generate-responses.py +587 -0
  113. package/bin/skills/hugging-face-model-trainer/SKILL.md +711 -0
  114. package/bin/skills/hugging-face-model-trainer/references/gguf_conversion.md +296 -0
  115. package/bin/skills/hugging-face-model-trainer/references/hardware_guide.md +283 -0
  116. package/bin/skills/hugging-face-model-trainer/references/hub_saving.md +364 -0
  117. package/bin/skills/hugging-face-model-trainer/references/reliability_principles.md +371 -0
  118. package/bin/skills/hugging-face-model-trainer/references/trackio_guide.md +189 -0
  119. package/bin/skills/hugging-face-model-trainer/references/training_methods.md +150 -0
  120. package/bin/skills/hugging-face-model-trainer/references/training_patterns.md +203 -0
  121. package/bin/skills/hugging-face-model-trainer/references/troubleshooting.md +282 -0
  122. package/bin/skills/hugging-face-model-trainer/scripts/convert_to_gguf.py +424 -0
  123. package/bin/skills/hugging-face-model-trainer/scripts/dataset_inspector.py +417 -0
  124. package/bin/skills/hugging-face-model-trainer/scripts/estimate_cost.py +150 -0
  125. package/bin/skills/hugging-face-model-trainer/scripts/train_dpo_example.py +106 -0
  126. package/bin/skills/hugging-face-model-trainer/scripts/train_grpo_example.py +89 -0
  127. package/bin/skills/hugging-face-model-trainer/scripts/train_sft_example.py +122 -0
  128. package/bin/skills/hugging-face-paper-publisher/SKILL.md +627 -0
  129. package/bin/skills/hugging-face-paper-publisher/examples/example_usage.md +327 -0
  130. package/bin/skills/hugging-face-paper-publisher/references/quick_reference.md +216 -0
  131. package/bin/skills/hugging-face-paper-publisher/scripts/paper_manager.py +508 -0
  132. package/bin/skills/hugging-face-paper-publisher/templates/arxiv.md +299 -0
  133. package/bin/skills/hugging-face-paper-publisher/templates/ml-report.md +358 -0
  134. package/bin/skills/hugging-face-paper-publisher/templates/modern.md +319 -0
  135. package/bin/skills/hugging-face-paper-publisher/templates/standard.md +201 -0
  136. package/bin/skills/hugging-face-tool-builder/SKILL.md +115 -0
  137. package/bin/skills/hugging-face-tool-builder/references/baseline_hf_api.py +57 -0
  138. package/bin/skills/hugging-face-tool-builder/references/baseline_hf_api.sh +40 -0
  139. package/bin/skills/hugging-face-tool-builder/references/baseline_hf_api.tsx +57 -0
  140. package/bin/skills/hugging-face-tool-builder/references/find_models_by_paper.sh +230 -0
  141. package/bin/skills/hugging-face-tool-builder/references/hf_enrich_models.sh +96 -0
  142. package/bin/skills/hugging-face-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
  143. package/bin/skills/hugging-face-tool-builder/references/hf_model_papers_auth.sh +171 -0
  144. package/bin/skills/hugging-face-trackio/SKILL.md +65 -0
  145. package/bin/skills/hugging-face-trackio/references/logging_metrics.md +206 -0
  146. package/bin/skills/hugging-face-trackio/references/retrieving_metrics.md +223 -0
  147. package/bin/skills/huggingface-tokenizers/SKILL.md +516 -0
  148. package/bin/skills/huggingface-tokenizers/references/algorithms.md +653 -0
  149. package/bin/skills/huggingface-tokenizers/references/integration.md +637 -0
  150. package/bin/skills/huggingface-tokenizers/references/pipeline.md +723 -0
  151. package/bin/skills/huggingface-tokenizers/references/training.md +565 -0
  152. package/bin/skills/instructor/SKILL.md +740 -0
  153. package/bin/skills/instructor/references/examples.md +107 -0
  154. package/bin/skills/instructor/references/providers.md +70 -0
  155. package/bin/skills/instructor/references/validation.md +606 -0
  156. package/bin/skills/knowledge-distillation/SKILL.md +458 -0
  157. package/bin/skills/knowledge-distillation/references/minillm.md +334 -0
  158. package/bin/skills/lambda-labs/SKILL.md +545 -0
  159. package/bin/skills/lambda-labs/references/advanced-usage.md +611 -0
  160. package/bin/skills/lambda-labs/references/troubleshooting.md +530 -0
  161. package/bin/skills/langchain/SKILL.md +480 -0
  162. package/bin/skills/langchain/references/agents.md +499 -0
  163. package/bin/skills/langchain/references/integration.md +562 -0
  164. package/bin/skills/langchain/references/rag.md +600 -0
  165. package/bin/skills/langsmith/SKILL.md +422 -0
  166. package/bin/skills/langsmith/references/advanced-usage.md +548 -0
  167. package/bin/skills/langsmith/references/troubleshooting.md +537 -0
  168. package/bin/skills/litgpt/SKILL.md +469 -0
  169. package/bin/skills/litgpt/references/custom-models.md +568 -0
  170. package/bin/skills/litgpt/references/distributed-training.md +451 -0
  171. package/bin/skills/litgpt/references/supported-models.md +336 -0
  172. package/bin/skills/litgpt/references/training-recipes.md +619 -0
  173. package/bin/skills/llama-cpp/SKILL.md +258 -0
  174. package/bin/skills/llama-cpp/references/optimization.md +89 -0
  175. package/bin/skills/llama-cpp/references/quantization.md +213 -0
  176. package/bin/skills/llama-cpp/references/server.md +125 -0
  177. package/bin/skills/llama-factory/SKILL.md +80 -0
  178. package/bin/skills/llama-factory/references/_images.md +23 -0
  179. package/bin/skills/llama-factory/references/advanced.md +1055 -0
  180. package/bin/skills/llama-factory/references/getting_started.md +349 -0
  181. package/bin/skills/llama-factory/references/index.md +19 -0
  182. package/bin/skills/llama-factory/references/other.md +31 -0
  183. package/bin/skills/llamaguard/SKILL.md +337 -0
  184. package/bin/skills/llamaindex/SKILL.md +569 -0
  185. package/bin/skills/llamaindex/references/agents.md +83 -0
  186. package/bin/skills/llamaindex/references/data_connectors.md +108 -0
  187. package/bin/skills/llamaindex/references/query_engines.md +406 -0
  188. package/bin/skills/llava/SKILL.md +304 -0
  189. package/bin/skills/llava/references/training.md +197 -0
  190. package/bin/skills/lm-evaluation-harness/SKILL.md +490 -0
  191. package/bin/skills/lm-evaluation-harness/references/api-evaluation.md +490 -0
  192. package/bin/skills/lm-evaluation-harness/references/benchmark-guide.md +488 -0
  193. package/bin/skills/lm-evaluation-harness/references/custom-tasks.md +602 -0
  194. package/bin/skills/lm-evaluation-harness/references/distributed-eval.md +519 -0
  195. package/bin/skills/long-context/SKILL.md +536 -0
  196. package/bin/skills/long-context/references/extension_methods.md +468 -0
  197. package/bin/skills/long-context/references/fine_tuning.md +611 -0
  198. package/bin/skills/long-context/references/rope.md +402 -0
  199. package/bin/skills/mamba/SKILL.md +260 -0
  200. package/bin/skills/mamba/references/architecture-details.md +206 -0
  201. package/bin/skills/mamba/references/benchmarks.md +255 -0
  202. package/bin/skills/mamba/references/training-guide.md +388 -0
  203. package/bin/skills/megatron-core/SKILL.md +366 -0
  204. package/bin/skills/megatron-core/references/benchmarks.md +249 -0
  205. package/bin/skills/megatron-core/references/parallelism-guide.md +404 -0
  206. package/bin/skills/megatron-core/references/production-examples.md +473 -0
  207. package/bin/skills/megatron-core/references/training-recipes.md +547 -0
  208. package/bin/skills/miles/SKILL.md +315 -0
  209. package/bin/skills/miles/references/api-reference.md +141 -0
  210. package/bin/skills/miles/references/troubleshooting.md +352 -0
  211. package/bin/skills/mlflow/SKILL.md +704 -0
  212. package/bin/skills/mlflow/references/deployment.md +744 -0
  213. package/bin/skills/mlflow/references/model-registry.md +770 -0
  214. package/bin/skills/mlflow/references/tracking.md +680 -0
  215. package/bin/skills/modal/SKILL.md +341 -0
  216. package/bin/skills/modal/references/advanced-usage.md +503 -0
  217. package/bin/skills/modal/references/troubleshooting.md +494 -0
  218. package/bin/skills/model-merging/SKILL.md +539 -0
  219. package/bin/skills/model-merging/references/evaluation.md +462 -0
  220. package/bin/skills/model-merging/references/examples.md +428 -0
  221. package/bin/skills/model-merging/references/methods.md +352 -0
  222. package/bin/skills/model-pruning/SKILL.md +495 -0
  223. package/bin/skills/model-pruning/references/wanda.md +347 -0
  224. package/bin/skills/moe-training/SKILL.md +526 -0
  225. package/bin/skills/moe-training/references/architectures.md +432 -0
  226. package/bin/skills/moe-training/references/inference.md +348 -0
  227. package/bin/skills/moe-training/references/training.md +425 -0
  228. package/bin/skills/nanogpt/SKILL.md +290 -0
  229. package/bin/skills/nanogpt/references/architecture.md +382 -0
  230. package/bin/skills/nanogpt/references/data.md +476 -0
  231. package/bin/skills/nanogpt/references/training.md +564 -0
  232. package/bin/skills/nemo-curator/SKILL.md +383 -0
  233. package/bin/skills/nemo-curator/references/deduplication.md +87 -0
  234. package/bin/skills/nemo-curator/references/filtering.md +102 -0
  235. package/bin/skills/nemo-evaluator/SKILL.md +494 -0
  236. package/bin/skills/nemo-evaluator/references/adapter-system.md +340 -0
  237. package/bin/skills/nemo-evaluator/references/configuration.md +447 -0
  238. package/bin/skills/nemo-evaluator/references/custom-benchmarks.md +315 -0
  239. package/bin/skills/nemo-evaluator/references/execution-backends.md +361 -0
  240. package/bin/skills/nemo-guardrails/SKILL.md +297 -0
  241. package/bin/skills/nnsight/SKILL.md +436 -0
  242. package/bin/skills/nnsight/references/README.md +78 -0
  243. package/bin/skills/nnsight/references/api.md +344 -0
  244. package/bin/skills/nnsight/references/tutorials.md +300 -0
  245. package/bin/skills/openrlhf/SKILL.md +249 -0
  246. package/bin/skills/openrlhf/references/algorithm-comparison.md +404 -0
  247. package/bin/skills/openrlhf/references/custom-rewards.md +530 -0
  248. package/bin/skills/openrlhf/references/hybrid-engine.md +287 -0
  249. package/bin/skills/openrlhf/references/multi-node-training.md +454 -0
  250. package/bin/skills/outlines/SKILL.md +652 -0
  251. package/bin/skills/outlines/references/backends.md +615 -0
  252. package/bin/skills/outlines/references/examples.md +773 -0
  253. package/bin/skills/outlines/references/json_generation.md +652 -0
  254. package/bin/skills/peft/SKILL.md +431 -0
  255. package/bin/skills/peft/references/advanced-usage.md +514 -0
  256. package/bin/skills/peft/references/troubleshooting.md +480 -0
  257. package/bin/skills/phoenix/SKILL.md +475 -0
  258. package/bin/skills/phoenix/references/advanced-usage.md +619 -0
  259. package/bin/skills/phoenix/references/troubleshooting.md +538 -0
  260. package/bin/skills/pinecone/SKILL.md +358 -0
  261. package/bin/skills/pinecone/references/deployment.md +181 -0
  262. package/bin/skills/pytorch-fsdp/SKILL.md +126 -0
  263. package/bin/skills/pytorch-fsdp/references/index.md +7 -0
  264. package/bin/skills/pytorch-fsdp/references/other.md +4249 -0
  265. package/bin/skills/pytorch-lightning/SKILL.md +346 -0
  266. package/bin/skills/pytorch-lightning/references/callbacks.md +436 -0
  267. package/bin/skills/pytorch-lightning/references/distributed.md +490 -0
  268. package/bin/skills/pytorch-lightning/references/hyperparameter-tuning.md +556 -0
  269. package/bin/skills/pyvene/SKILL.md +473 -0
  270. package/bin/skills/pyvene/references/README.md +73 -0
  271. package/bin/skills/pyvene/references/api.md +383 -0
  272. package/bin/skills/pyvene/references/tutorials.md +376 -0
  273. package/bin/skills/qdrant/SKILL.md +493 -0
  274. package/bin/skills/qdrant/references/advanced-usage.md +648 -0
  275. package/bin/skills/qdrant/references/troubleshooting.md +631 -0
  276. package/bin/skills/ray-data/SKILL.md +326 -0
  277. package/bin/skills/ray-data/references/integration.md +82 -0
  278. package/bin/skills/ray-data/references/transformations.md +83 -0
  279. package/bin/skills/ray-train/SKILL.md +406 -0
  280. package/bin/skills/ray-train/references/multi-node.md +628 -0
  281. package/bin/skills/rwkv/SKILL.md +260 -0
  282. package/bin/skills/rwkv/references/architecture-details.md +344 -0
  283. package/bin/skills/rwkv/references/rwkv7.md +386 -0
  284. package/bin/skills/rwkv/references/state-management.md +369 -0
  285. package/bin/skills/saelens/SKILL.md +386 -0
  286. package/bin/skills/saelens/references/README.md +70 -0
  287. package/bin/skills/saelens/references/api.md +333 -0
  288. package/bin/skills/saelens/references/tutorials.md +318 -0
  289. package/bin/skills/segment-anything/SKILL.md +500 -0
  290. package/bin/skills/segment-anything/references/advanced-usage.md +589 -0
  291. package/bin/skills/segment-anything/references/troubleshooting.md +484 -0
  292. package/bin/skills/sentence-transformers/SKILL.md +255 -0
  293. package/bin/skills/sentence-transformers/references/models.md +123 -0
  294. package/bin/skills/sentencepiece/SKILL.md +235 -0
  295. package/bin/skills/sentencepiece/references/algorithms.md +200 -0
  296. package/bin/skills/sentencepiece/references/training.md +304 -0
  297. package/bin/skills/sglang/SKILL.md +442 -0
  298. package/bin/skills/sglang/references/deployment.md +490 -0
  299. package/bin/skills/sglang/references/radix-attention.md +413 -0
  300. package/bin/skills/sglang/references/structured-generation.md +541 -0
  301. package/bin/skills/simpo/SKILL.md +219 -0
  302. package/bin/skills/simpo/references/datasets.md +478 -0
  303. package/bin/skills/simpo/references/hyperparameters.md +452 -0
  304. package/bin/skills/simpo/references/loss-functions.md +350 -0
  305. package/bin/skills/skypilot/SKILL.md +509 -0
  306. package/bin/skills/skypilot/references/advanced-usage.md +491 -0
  307. package/bin/skills/skypilot/references/troubleshooting.md +570 -0
  308. package/bin/skills/slime/SKILL.md +464 -0
  309. package/bin/skills/slime/references/api-reference.md +392 -0
  310. package/bin/skills/slime/references/troubleshooting.md +386 -0
  311. package/bin/skills/speculative-decoding/SKILL.md +467 -0
  312. package/bin/skills/speculative-decoding/references/lookahead.md +309 -0
  313. package/bin/skills/speculative-decoding/references/medusa.md +350 -0
  314. package/bin/skills/stable-diffusion/SKILL.md +519 -0
  315. package/bin/skills/stable-diffusion/references/advanced-usage.md +716 -0
  316. package/bin/skills/stable-diffusion/references/troubleshooting.md +555 -0
  317. package/bin/skills/tensorboard/SKILL.md +629 -0
  318. package/bin/skills/tensorboard/references/integrations.md +638 -0
  319. package/bin/skills/tensorboard/references/profiling.md +545 -0
  320. package/bin/skills/tensorboard/references/visualization.md +620 -0
  321. package/bin/skills/tensorrt-llm/SKILL.md +187 -0
  322. package/bin/skills/tensorrt-llm/references/multi-gpu.md +298 -0
  323. package/bin/skills/tensorrt-llm/references/optimization.md +242 -0
  324. package/bin/skills/tensorrt-llm/references/serving.md +470 -0
  325. package/bin/skills/tinker/SKILL.md +362 -0
  326. package/bin/skills/tinker/references/api-reference.md +168 -0
  327. package/bin/skills/tinker/references/getting-started.md +157 -0
  328. package/bin/skills/tinker/references/loss-functions.md +163 -0
  329. package/bin/skills/tinker/references/models-and-lora.md +139 -0
  330. package/bin/skills/tinker/references/recipes.md +280 -0
  331. package/bin/skills/tinker/references/reinforcement-learning.md +212 -0
  332. package/bin/skills/tinker/references/rendering.md +243 -0
  333. package/bin/skills/tinker/references/supervised-learning.md +232 -0
  334. package/bin/skills/tinker-training-cost/SKILL.md +187 -0
  335. package/bin/skills/tinker-training-cost/scripts/calculate_cost.py +123 -0
  336. package/bin/skills/torchforge/SKILL.md +433 -0
  337. package/bin/skills/torchforge/references/api-reference.md +327 -0
  338. package/bin/skills/torchforge/references/troubleshooting.md +409 -0
  339. package/bin/skills/torchtitan/SKILL.md +358 -0
  340. package/bin/skills/torchtitan/references/checkpoint.md +181 -0
  341. package/bin/skills/torchtitan/references/custom-models.md +258 -0
  342. package/bin/skills/torchtitan/references/float8.md +133 -0
  343. package/bin/skills/torchtitan/references/fsdp.md +126 -0
  344. package/bin/skills/transformer-lens/SKILL.md +346 -0
  345. package/bin/skills/transformer-lens/references/README.md +54 -0
  346. package/bin/skills/transformer-lens/references/api.md +362 -0
  347. package/bin/skills/transformer-lens/references/tutorials.md +339 -0
  348. package/bin/skills/trl-fine-tuning/SKILL.md +455 -0
  349. package/bin/skills/trl-fine-tuning/references/dpo-variants.md +227 -0
  350. package/bin/skills/trl-fine-tuning/references/online-rl.md +82 -0
  351. package/bin/skills/trl-fine-tuning/references/reward-modeling.md +122 -0
  352. package/bin/skills/trl-fine-tuning/references/sft-training.md +168 -0
  353. package/bin/skills/unsloth/SKILL.md +80 -0
  354. package/bin/skills/unsloth/references/index.md +7 -0
  355. package/bin/skills/unsloth/references/llms-full.md +16799 -0
  356. package/bin/skills/unsloth/references/llms-txt.md +12044 -0
  357. package/bin/skills/unsloth/references/llms.md +82 -0
  358. package/bin/skills/verl/SKILL.md +391 -0
  359. package/bin/skills/verl/references/api-reference.md +301 -0
  360. package/bin/skills/verl/references/troubleshooting.md +391 -0
  361. package/bin/skills/vllm/SKILL.md +364 -0
  362. package/bin/skills/vllm/references/optimization.md +226 -0
  363. package/bin/skills/vllm/references/quantization.md +284 -0
  364. package/bin/skills/vllm/references/server-deployment.md +255 -0
  365. package/bin/skills/vllm/references/troubleshooting.md +447 -0
  366. package/bin/skills/weights-and-biases/SKILL.md +590 -0
  367. package/bin/skills/weights-and-biases/references/artifacts.md +584 -0
  368. package/bin/skills/weights-and-biases/references/integrations.md +700 -0
  369. package/bin/skills/weights-and-biases/references/sweeps.md +847 -0
  370. package/bin/skills/whisper/SKILL.md +317 -0
  371. package/bin/skills/whisper/references/languages.md +189 -0
  372. package/bin/synsc +0 -0
  373. package/package.json +10 -0
@@ -0,0 +1,606 @@
1
+ # Advanced Validation Patterns
2
+
3
+ Complete guide to validation in Instructor using Pydantic.
4
+
5
+ ## Table of Contents
6
+ - Built-in Validators
7
+ - Custom Field Validators
8
+ - Model-Level Validation
9
+ - Complex Validation Patterns
10
+ - Error Handling
11
+
12
+ ## Built-in Validators
13
+
14
+ ### Numeric Constraints
15
+
16
+ ```python
17
+ from pydantic import BaseModel, Field
18
+
19
+ class Product(BaseModel):
20
+ price: float = Field(gt=0, description="Price must be positive")
21
+ discount: float = Field(ge=0, le=100, description="Discount 0-100%")
22
+ quantity: int = Field(ge=1, description="At least 1 item")
23
+ rating: float = Field(ge=0.0, le=5.0, description="Rating 0-5 stars")
24
+
25
+ # If LLM provides invalid values, automatic retry with error feedback
26
+ ```
27
+
28
+ **Available constraints:**
29
+ - `gt`: Greater than
30
+ - `ge`: Greater than or equal
31
+ - `lt`: Less than
32
+ - `le`: Less than or equal
33
+ - `multiple_of`: Must be multiple of this number
34
+
35
+ ### String Constraints
36
+
37
+ ```python
38
+ class User(BaseModel):
39
+ username: str = Field(
40
+ min_length=3,
41
+ max_length=20,
42
+ pattern=r'^[a-zA-Z0-9_]+$',
43
+ description="3-20 alphanumeric characters"
44
+ )
45
+ bio: str = Field(max_length=500, description="Bio up to 500 chars")
46
+ status: str = Field(pattern=r'^(active|inactive|pending)$')
47
+
48
+ # pattern validates against regex
49
+ ```
50
+
51
+ ### Email and URL Validation
52
+
53
+ ```python
54
+ from pydantic import EmailStr, HttpUrl, AnyUrl
55
+
56
+ class Contact(BaseModel):
57
+ email: EmailStr # Validates email format
58
+ website: HttpUrl # Validates HTTP/HTTPS URLs
59
+ portfolio: AnyUrl # Any valid URL scheme
60
+
61
+ contact = client.messages.create(
62
+ model="claude-sonnet-4-5-20250929",
63
+ max_tokens=1024,
64
+ messages=[{
65
+ "role": "user",
66
+ "content": "Extract: john@example.com, https://example.com"
67
+ }],
68
+ response_model=Contact
69
+ )
70
+ ```
71
+
72
+ ### Date and DateTime Validation
73
+
74
+ ```python
75
+ from datetime import date, datetime
76
+ from pydantic import Field, field_validator
77
+
78
+ class Event(BaseModel):
79
+ event_date: date # Validates date format
80
+ created_at: datetime # Validates datetime format
81
+ year: int = Field(ge=1900, le=2100)
82
+
83
+ @field_validator('event_date')
84
+ def future_date(cls, v):
85
+ """Ensure event is in the future."""
86
+ if v < date.today():
87
+ raise ValueError('Event must be in the future')
88
+ return v
89
+ ```
90
+
91
+ ### List and Dict Validation
92
+
93
+ ```python
94
+ class Document(BaseModel):
95
+ tags: list[str] = Field(min_length=1, max_length=10)
96
+ keywords: list[str] = Field(min_length=3, description="At least 3 keywords")
97
+ metadata: dict[str, str] = Field(description="String key-value pairs")
98
+
99
+ @field_validator('tags')
100
+ def unique_tags(cls, v):
101
+ """Ensure tags are unique."""
102
+ if len(v) != len(set(v)):
103
+ raise ValueError('Tags must be unique')
104
+ return v
105
+ ```
106
+
107
+ ## Custom Field Validators
108
+
109
+ ### Basic Field Validator
110
+
111
+ ```python
112
+ from pydantic import field_validator
113
+
114
+ class Person(BaseModel):
115
+ name: str
116
+ age: int
117
+
118
+ @field_validator('name')
119
+ def name_must_not_be_empty(cls, v):
120
+ """Validate name is not empty or just whitespace."""
121
+ if not v or not v.strip():
122
+ raise ValueError('Name cannot be empty')
123
+ return v.strip()
124
+
125
+ @field_validator('age')
126
+ def age_must_be_reasonable(cls, v):
127
+ """Validate age is between 0 and 120."""
128
+ if v < 0 or v > 120:
129
+ raise ValueError('Age must be between 0 and 120')
130
+ return v
131
+ ```
132
+
133
+ ### Validator with Field Info
134
+
135
+ ```python
136
+ from pydantic import ValidationInfo
137
+
138
+ class Article(BaseModel):
139
+ title: str
140
+ content: str
141
+
142
+ @field_validator('content')
143
+ def content_length(cls, v, info: ValidationInfo):
144
+ """Validate content is longer than title."""
145
+ if 'title' in info.data:
146
+ title_len = len(info.data['title'])
147
+ if len(v) < title_len * 2:
148
+ raise ValueError('Content should be at least 2x title length')
149
+ return v
150
+ ```
151
+
152
+ ### Multiple Fields Validation
153
+
154
+ ```python
155
+ class TimeRange(BaseModel):
156
+ start_time: str
157
+ end_time: str
158
+
159
+ @field_validator('start_time', 'end_time')
160
+ def valid_time_format(cls, v):
161
+ """Validate both times are in HH:MM format."""
162
+ import re
163
+ if not re.match(r'^\d{2}:\d{2}$', v):
164
+ raise ValueError('Time must be in HH:MM format')
165
+ return v
166
+ ```
167
+
168
+ ### Transform and Validate
169
+
170
+ ```python
171
+ class URL(BaseModel):
172
+ url: str
173
+
174
+ @field_validator('url')
175
+ def normalize_url(cls, v):
176
+ """Add https:// if missing."""
177
+ if not v.startswith(('http://', 'https://')):
178
+ v = f'https://{v}'
179
+ return v
180
+ ```
181
+
182
+ ## Model-Level Validation
183
+
184
+ ### Cross-Field Validation
185
+
186
+ ```python
187
+ from pydantic import model_validator
188
+
189
+ class DateRange(BaseModel):
190
+ start_date: str
191
+ end_date: str
192
+
193
+ @model_validator(mode='after')
194
+ def check_dates(self):
195
+ """Ensure end_date is after start_date."""
196
+ from datetime import datetime
197
+ start = datetime.strptime(self.start_date, '%Y-%m-%d')
198
+ end = datetime.strptime(self.end_date, '%Y-%m-%d')
199
+
200
+ if end < start:
201
+ raise ValueError('end_date must be after start_date')
202
+ return self
203
+
204
+ class PriceRange(BaseModel):
205
+ min_price: float
206
+ max_price: float
207
+
208
+ @model_validator(mode='after')
209
+ def check_price_range(self):
210
+ """Ensure max > min."""
211
+ if self.max_price <= self.min_price:
212
+ raise ValueError('max_price must be greater than min_price')
213
+ return self
214
+ ```
215
+
216
+ ### Conditional Validation
217
+
218
+ ```python
219
+ class Order(BaseModel):
220
+ order_type: str # "standard" or "express"
221
+ delivery_date: str
222
+ delivery_time: Optional[str] = None
223
+
224
+ @model_validator(mode='after')
225
+ def check_delivery_time(self):
226
+ """Express orders need delivery time."""
227
+ if self.order_type == "express" and not self.delivery_time:
228
+ raise ValueError('Express orders require delivery_time')
229
+ return self
230
+ ```
231
+
232
+ ### Complex Business Logic
233
+
234
+ ```python
235
+ class Discount(BaseModel):
236
+ code: str
237
+ percentage: float = Field(ge=0, le=100)
238
+ min_purchase: float = Field(ge=0)
239
+ max_discount: float = Field(ge=0)
240
+
241
+ @model_validator(mode='after')
242
+ def validate_discount(self):
243
+ """Ensure discount logic is sound."""
244
+ # Max discount can't exceed percentage of min_purchase
245
+ theoretical_max = (self.percentage / 100) * self.min_purchase
246
+ if self.max_discount > theoretical_max:
247
+ self.max_discount = theoretical_max
248
+ return self
249
+ ```
250
+
251
+ ## Complex Validation Patterns
252
+
253
+ ### Nested Model Validation
254
+
255
+ ```python
256
+ class Address(BaseModel):
257
+ street: str
258
+ city: str
259
+ country: str
260
+ postal_code: str
261
+
262
+ @field_validator('postal_code')
263
+ def validate_postal_code(cls, v, info: ValidationInfo):
264
+ """Validate postal code format based on country."""
265
+ if 'country' in info.data:
266
+ country = info.data['country']
267
+ if country == "USA":
268
+ import re
269
+ if not re.match(r'^\d{5}(-\d{4})?$', v):
270
+ raise ValueError('Invalid US postal code')
271
+ elif country == "Canada":
272
+ if not re.match(r'^[A-Z]\d[A-Z] \d[A-Z]\d$', v):
273
+ raise ValueError('Invalid Canadian postal code')
274
+ return v
275
+
276
+ class Person(BaseModel):
277
+ name: str
278
+ address: Address
279
+
280
+ # Nested validation runs automatically
281
+ ```
282
+
283
+ ### List of Models
284
+
285
+ ```python
286
+ class Task(BaseModel):
287
+ title: str = Field(min_length=1)
288
+ priority: int = Field(ge=1, le=5)
289
+
290
+ class Project(BaseModel):
291
+ name: str
292
+ tasks: list[Task] = Field(min_length=1, description="At least 1 task")
293
+
294
+ @field_validator('tasks')
295
+ def at_least_one_high_priority(cls, v):
296
+ """Ensure at least one task has priority >= 4."""
297
+ if not any(task.priority >= 4 for task in v):
298
+ raise ValueError('Project needs at least one high-priority task')
299
+ return v
300
+ ```
301
+
302
+ ### Union Type Validation
303
+
304
+ ```python
305
+ from typing import Union
306
+
307
+ class TextBlock(BaseModel):
308
+ type: str = "text"
309
+ content: str = Field(min_length=1)
310
+
311
+ class ImageBlock(BaseModel):
312
+ type: str = "image"
313
+ url: HttpUrl
314
+ alt_text: str
315
+
316
+ class Page(BaseModel):
317
+ title: str
318
+ blocks: list[Union[TextBlock, ImageBlock]]
319
+
320
+ @field_validator('blocks')
321
+ def validate_block_types(cls, v):
322
+ """Ensure first block is TextBlock."""
323
+ if v and not isinstance(v[0], TextBlock):
324
+ raise ValueError('First block must be text')
325
+ return v
326
+ ```
327
+
328
+ ### Dependent Fields
329
+
330
+ ```python
331
+ class Subscription(BaseModel):
332
+ plan: str # "free", "pro", "enterprise"
333
+ max_users: int
334
+ features: list[str]
335
+
336
+ @model_validator(mode='after')
337
+ def validate_plan_limits(self):
338
+ """Enforce plan-specific limits."""
339
+ limits = {
340
+ "free": {"max_users": 1, "required_features": ["basic"]},
341
+ "pro": {"max_users": 10, "required_features": ["basic", "advanced"]},
342
+ "enterprise": {"max_users": 999, "required_features": ["basic", "advanced", "premium"]}
343
+ }
344
+
345
+ if self.plan in limits:
346
+ limit = limits[self.plan]
347
+
348
+ if self.max_users > limit["max_users"]:
349
+ raise ValueError(f'{self.plan} plan limited to {limit["max_users"]} users')
350
+
351
+ for feature in limit["required_features"]:
352
+ if feature not in self.features:
353
+ raise ValueError(f'{self.plan} plan requires {feature} feature')
354
+
355
+ return self
356
+ ```
357
+
358
+ ## Error Handling
359
+
360
+ ### Graceful Degradation
361
+
362
+ ```python
363
+ class OptionalExtraction(BaseModel):
364
+ # Required fields
365
+ title: str
366
+
367
+ # Optional fields with defaults
368
+ author: Optional[str] = None
369
+ date: Optional[str] = None
370
+ tags: list[str] = Field(default_factory=list)
371
+
372
+ # LLM can succeed even if it can't extract everything
373
+ ```
374
+
375
+ ### Partial Validation
376
+
377
+ ```python
378
+ from pydantic import ValidationError
379
+
380
+ def extract_with_fallback(text: str):
381
+ """Try full extraction, fall back to partial."""
382
+ try:
383
+ # Try full extraction
384
+ return client.messages.create(
385
+ model="claude-sonnet-4-5-20250929",
386
+ max_tokens=1024,
387
+ messages=[{"role": "user", "content": text}],
388
+ response_model=FullModel
389
+ )
390
+ except ValidationError:
391
+ # Fall back to partial model
392
+ return client.messages.create(
393
+ model="claude-sonnet-4-5-20250929",
394
+ max_tokens=1024,
395
+ messages=[{"role": "user", "content": text}],
396
+ response_model=PartialModel
397
+ )
398
+ ```
399
+
400
+ ### Validation Error Inspection
401
+
402
+ ```python
403
+ from pydantic import ValidationError
404
+
405
+ try:
406
+ result = client.messages.create(
407
+ model="claude-sonnet-4-5-20250929",
408
+ max_tokens=1024,
409
+ messages=[...],
410
+ response_model=MyModel,
411
+ max_retries=3
412
+ )
413
+ except ValidationError as e:
414
+ # Inspect specific errors
415
+ for error in e.errors():
416
+ field = error['loc'][0]
417
+ message = error['msg']
418
+ print(f"Field '{field}' failed: {message}")
419
+
420
+ # Custom handling per field
421
+ if field == 'email':
422
+ # Handle email validation failure
423
+ pass
424
+ ```
425
+
426
+ ### Custom Error Messages
427
+
428
+ ```python
429
+ class DetailedModel(BaseModel):
430
+ name: str = Field(
431
+ min_length=2,
432
+ max_length=100,
433
+ description="Name between 2-100 characters"
434
+ )
435
+ age: int = Field(
436
+ ge=0,
437
+ le=120,
438
+ description="Age between 0 and 120 years"
439
+ )
440
+
441
+ @field_validator('name')
442
+ def validate_name(cls, v):
443
+ """Provide helpful error message."""
444
+ if not v.strip():
445
+ raise ValueError(
446
+ 'Name cannot be empty. '
447
+ 'Please provide a valid name from the text.'
448
+ )
449
+ return v
450
+
451
+ # When validation fails, LLM sees these helpful messages
452
+ ```
453
+
454
+ ## Validation Best Practices
455
+
456
+ ### 1. Be Specific
457
+
458
+ ```python
459
+ # ❌ Bad: Vague validation
460
+ class Item(BaseModel):
461
+ name: str
462
+
463
+ # ✅ Good: Specific constraints
464
+ class Item(BaseModel):
465
+ name: str = Field(
466
+ min_length=1,
467
+ max_length=200,
468
+ description="Item name, 1-200 characters"
469
+ )
470
+ ```
471
+
472
+ ### 2. Provide Context
473
+
474
+ ```python
475
+ # ✅ Good: Explain why validation failed
476
+ @field_validator('price')
477
+ def validate_price(cls, v):
478
+ if v <= 0:
479
+ raise ValueError(
480
+ 'Price must be positive. '
481
+ 'Extract numeric price from text without currency symbols.'
482
+ )
483
+ return v
484
+ ```
485
+
486
+ ### 3. Use Enums for Fixed Sets
487
+
488
+ ```python
489
+ # ❌ Bad: String validation
490
+ status: str
491
+
492
+ @field_validator('status')
493
+ def validate_status(cls, v):
494
+ if v not in ['active', 'inactive', 'pending']:
495
+ raise ValueError('Invalid status')
496
+ return v
497
+
498
+ # ✅ Good: Enum
499
+ class Status(str, Enum):
500
+ ACTIVE = "active"
501
+ INACTIVE = "inactive"
502
+ PENDING = "pending"
503
+
504
+ status: Status # Validation automatic
505
+ ```
506
+
507
+ ### 4. Balance Strictness
508
+
509
+ ```python
510
+ # Too strict: May fail unnecessarily
511
+ class StrictModel(BaseModel):
512
+ date: str = Field(pattern=r'^\d{4}-\d{2}-\d{2}$')
513
+ # Fails if LLM uses "2024-1-5" instead of "2024-01-05"
514
+
515
+ # Better: Normalize in validator
516
+ class FlexibleModel(BaseModel):
517
+ date: str
518
+
519
+ @field_validator('date')
520
+ def normalize_date(cls, v):
521
+ from datetime import datetime
522
+ # Parse flexible formats
523
+ for fmt in ['%Y-%m-%d', '%Y/%m/%d', '%m/%d/%Y']:
524
+ try:
525
+ dt = datetime.strptime(v, fmt)
526
+ return dt.strftime('%Y-%m-%d') # Normalize
527
+ except ValueError:
528
+ continue
529
+ raise ValueError('Invalid date format')
530
+ ```
531
+
532
+ ### 5. Test Validation
533
+
534
+ ```python
535
+ # Test your validators with edge cases
536
+ def test_validation():
537
+ # Should succeed
538
+ valid = MyModel(field="valid_value")
539
+
540
+ # Should fail
541
+ try:
542
+ invalid = MyModel(field="invalid")
543
+ assert False, "Should have raised ValidationError"
544
+ except ValidationError:
545
+ pass # Expected
546
+
547
+ # Run tests before using in production
548
+ ```
549
+
550
+ ## Advanced Techniques
551
+
552
+ ### Conditional Required Fields
553
+
554
+ ```python
555
+ from typing import Optional
556
+
557
+ class ConditionalModel(BaseModel):
558
+ type: str
559
+ detail_a: Optional[str] = None
560
+ detail_b: Optional[str] = None
561
+
562
+ @model_validator(mode='after')
563
+ def check_required_details(self):
564
+ """Require different fields based on type."""
565
+ if self.type == "type_a" and not self.detail_a:
566
+ raise ValueError('type_a requires detail_a')
567
+ if self.type == "type_b" and not self.detail_b:
568
+ raise ValueError('type_b requires detail_b')
569
+ return self
570
+ ```
571
+
572
+ ### Validation with External Data
573
+
574
+ ```python
575
+ class Product(BaseModel):
576
+ sku: str
577
+ name: str
578
+
579
+ @field_validator('sku')
580
+ def validate_sku(cls, v):
581
+ """Check SKU exists in database."""
582
+ # Query database or API
583
+ if not database.sku_exists(v):
584
+ raise ValueError(f'SKU {v} not found in catalog')
585
+ return v
586
+ ```
587
+
588
+ ### Progressive Validation
589
+
590
+ ```python
591
+ # Start with loose validation
592
+ class Stage1(BaseModel):
593
+ data: str # Any string
594
+
595
+ # Then strict validation
596
+ class Stage2(BaseModel):
597
+ data: str = Field(pattern=r'^[A-Z]{3}-\d{6}$')
598
+
599
+ # Use Stage1 for initial extraction
600
+ # Use Stage2 for final validation
601
+ ```
602
+
603
+ ## Resources
604
+
605
+ - **Pydantic Docs**: https://docs.pydantic.dev/latest/concepts/validators/
606
+ - **Instructor Examples**: https://python.useinstructor.com/examples