@r1z4x/tezgah 1.0.0

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 (582) hide show
  1. package/CHANGELOG.md +738 -0
  2. package/LICENSE +21 -0
  3. package/MANIFEST +753 -0
  4. package/README.de.md +169 -0
  5. package/README.es.md +168 -0
  6. package/README.fr.md +166 -0
  7. package/README.md +161 -0
  8. package/README.tr.md +163 -0
  9. package/agents/tezgah-reviewer.md +70 -0
  10. package/bin/codegen +337 -0
  11. package/bin/consult +797 -0
  12. package/bin/tezgah-adhd +50 -0
  13. package/bin/tezgah-agents +45 -0
  14. package/bin/tezgah-capture +66 -0
  15. package/bin/tezgah-context +96 -0
  16. package/bin/tezgah-decisions +213 -0
  17. package/bin/tezgah-design +953 -0
  18. package/bin/tezgah-docs +1199 -0
  19. package/bin/tezgah-doctor +497 -0
  20. package/bin/tezgah-dsh +37 -0
  21. package/bin/tezgah-dsh.cmd +70 -0
  22. package/bin/tezgah-gate +75 -0
  23. package/bin/tezgah-import-ai-research +439 -0
  24. package/bin/tezgah-index +32 -0
  25. package/bin/tezgah-lessons +148 -0
  26. package/bin/tezgah-mcp +322 -0
  27. package/bin/tezgah-migrate +324 -0
  28. package/bin/tezgah-pony +50 -0
  29. package/bin/tezgah-research +772 -0
  30. package/bin/tezgah-rollback +93 -0
  31. package/bin/tezgah-route +124 -0
  32. package/bin/tezgah-setup +5798 -0
  33. package/bin/tezgah-status +383 -0
  34. package/bin/tezgah-task +607 -0
  35. package/bin/tezgah-taste +423 -0
  36. package/bin/tezgah-triage +485 -0
  37. package/bin/tezgah.js +36 -0
  38. package/commands/adhd.md +21 -0
  39. package/commands/ponytail.md +21 -0
  40. package/docs/README.md +112 -0
  41. package/docs/architecture.md +226 -0
  42. package/docs/citations-baseline.json +59 -0
  43. package/docs/clarity-baseline.json +116 -0
  44. package/docs/contract.md +416 -0
  45. package/docs/environment.md +141 -0
  46. package/docs/evidence.md +831 -0
  47. package/docs/feature-audit.md +139 -0
  48. package/docs/gate.md +407 -0
  49. package/docs/glossary.md +201 -0
  50. package/docs/hosts.md +400 -0
  51. package/docs/index.json +471 -0
  52. package/docs/judge.md +193 -0
  53. package/docs/layers.md +189 -0
  54. package/docs/models.md +160 -0
  55. package/docs/operations.md +666 -0
  56. package/docs/research.md +809 -0
  57. package/docs/results/paired-outcome-2026-10.jsonl +254 -0
  58. package/docs/results/paired-outcome-2026-10.md +204 -0
  59. package/docs/skills.md +236 -0
  60. package/docs/status-line.md +315 -0
  61. package/docs/testing.md +287 -0
  62. package/docs/vision.md +117 -0
  63. package/hooks/hooks.json +33 -0
  64. package/hooks/projects-auto-init.py +98 -0
  65. package/hooks/projects-posttooluse.py +149 -0
  66. package/hooks/projects-pretooluse.py +40 -0
  67. package/hooks/projects-stop.py +60 -0
  68. package/hooks/tezgah_agents.py +817 -0
  69. package/hooks/tezgah_apps.py +266 -0
  70. package/hooks/tezgah_attest.py +255 -0
  71. package/hooks/tezgah_clarity.py +171 -0
  72. package/hooks/tezgah_components.py +140 -0
  73. package/hooks/tezgah_context.py +2953 -0
  74. package/hooks/tezgah_embed.py +765 -0
  75. package/hooks/tezgah_gate.py +2736 -0
  76. package/hooks/tezgah_guard.py +177 -0
  77. package/hooks/tezgah_index.py +124 -0
  78. package/hooks/tezgah_integrity.py +5141 -0
  79. package/hooks/tezgah_judge.py +487 -0
  80. package/hooks/tezgah_lang.py +230 -0
  81. package/hooks/tezgah_lessons.py +210 -0
  82. package/hooks/tezgah_models.py +855 -0
  83. package/hooks/tezgah_paths.py +1132 -0
  84. package/hooks/tezgah_policy.py +1039 -0
  85. package/hooks/tezgah_rank.py +77 -0
  86. package/hooks/tezgah_replay.py +1109 -0
  87. package/hooks/tezgah_research.py +5176 -0
  88. package/hooks/tezgah_shapes.py +305 -0
  89. package/hooks/tezgah_skill_pick.py +227 -0
  90. package/hooks/tezgah_snapshot.py +490 -0
  91. package/hooks/tezgah_stopspec.py +320 -0
  92. package/hooks/tezgah_task.py +458 -0
  93. package/hooks/tezgah_taste.py +201 -0
  94. package/hooks/tezgah_untrusted.py +112 -0
  95. package/hooks/tezgah_update.py +430 -0
  96. package/hosts/codex/hook.py +268 -0
  97. package/hosts/codex/hooks.json +26 -0
  98. package/hosts/cursor/hook.py +461 -0
  99. package/hosts/cursor/hooks.json +44 -0
  100. package/hosts/dsh/hooks.json +21 -0
  101. package/hosts/dsh/statusline/lib/client.js +138 -0
  102. package/hosts/dsh/statusline/lib/index.js +104 -0
  103. package/hosts/dsh/statusline/package.json +28 -0
  104. package/hosts/omp/hook.py +277 -0
  105. package/hosts/omp/tezgah-hook.ts.in +701 -0
  106. package/hosts/opencode/plugins/tezgah.js +2742 -0
  107. package/hosts/opencode/tui/tezgah-tui.tsx +151 -0
  108. package/output-styles/tezgah.md +142 -0
  109. package/package.json +32 -0
  110. package/packaging/build.sh +342 -0
  111. package/packaging/install.ps1 +166 -0
  112. package/packaging/install.sh +56 -0
  113. package/packaging/upgrade.sh +142 -0
  114. package/skills/ai-research/0-autoresearch-skill/SKILL.md +411 -0
  115. package/skills/ai-research/0-autoresearch-skill/references/agent-continuity.md +95 -0
  116. package/skills/ai-research/0-autoresearch-skill/references/progress-reporting.md +166 -0
  117. package/skills/ai-research/0-autoresearch-skill/references/skill-routing.md +219 -0
  118. package/skills/ai-research/0-autoresearch-skill/templates/findings.md +44 -0
  119. package/skills/ai-research/0-autoresearch-skill/templates/research-log.md +41 -0
  120. package/skills/ai-research/01-model-architecture/litgpt/SKILL.md +469 -0
  121. package/skills/ai-research/01-model-architecture/litgpt/references/custom-models.md +569 -0
  122. package/skills/ai-research/01-model-architecture/litgpt/references/distributed-training.md +452 -0
  123. package/skills/ai-research/01-model-architecture/litgpt/references/supported-models.md +337 -0
  124. package/skills/ai-research/01-model-architecture/litgpt/references/training-recipes.md +620 -0
  125. package/skills/ai-research/01-model-architecture/mamba/SKILL.md +260 -0
  126. package/skills/ai-research/01-model-architecture/mamba/references/architecture-details.md +207 -0
  127. package/skills/ai-research/01-model-architecture/mamba/references/benchmarks.md +256 -0
  128. package/skills/ai-research/01-model-architecture/mamba/references/training-guide.md +389 -0
  129. package/skills/ai-research/01-model-architecture/nanogpt/SKILL.md +290 -0
  130. package/skills/ai-research/01-model-architecture/nanogpt/references/architecture.md +383 -0
  131. package/skills/ai-research/01-model-architecture/nanogpt/references/data.md +477 -0
  132. package/skills/ai-research/01-model-architecture/nanogpt/references/training.md +565 -0
  133. package/skills/ai-research/01-model-architecture/rwkv/SKILL.md +260 -0
  134. package/skills/ai-research/01-model-architecture/rwkv/references/architecture-details.md +345 -0
  135. package/skills/ai-research/01-model-architecture/rwkv/references/rwkv7.md +387 -0
  136. package/skills/ai-research/01-model-architecture/rwkv/references/state-management.md +370 -0
  137. package/skills/ai-research/01-model-architecture/torchtitan/SKILL.md +358 -0
  138. package/skills/ai-research/01-model-architecture/torchtitan/references/checkpoint.md +182 -0
  139. package/skills/ai-research/01-model-architecture/torchtitan/references/custom-models.md +259 -0
  140. package/skills/ai-research/01-model-architecture/torchtitan/references/float8.md +134 -0
  141. package/skills/ai-research/01-model-architecture/torchtitan/references/fsdp.md +127 -0
  142. package/skills/ai-research/02-tokenization/huggingface-tokenizers/SKILL.md +516 -0
  143. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/algorithms.md +654 -0
  144. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/integration.md +638 -0
  145. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/pipeline.md +724 -0
  146. package/skills/ai-research/02-tokenization/huggingface-tokenizers/references/training.md +566 -0
  147. package/skills/ai-research/02-tokenization/sentencepiece/SKILL.md +235 -0
  148. package/skills/ai-research/02-tokenization/sentencepiece/references/algorithms.md +201 -0
  149. package/skills/ai-research/02-tokenization/sentencepiece/references/training.md +305 -0
  150. package/skills/ai-research/03-fine-tuning/axolotl/SKILL.md +158 -0
  151. package/skills/ai-research/03-fine-tuning/axolotl/references/api.md +5549 -0
  152. package/skills/ai-research/03-fine-tuning/axolotl/references/dataset-formats.md +1030 -0
  153. package/skills/ai-research/03-fine-tuning/axolotl/references/index.md +16 -0
  154. package/skills/ai-research/03-fine-tuning/axolotl/references/other.md +3564 -0
  155. package/skills/ai-research/03-fine-tuning/llama-factory/SKILL.md +80 -0
  156. package/skills/ai-research/03-fine-tuning/llama-factory/references/_images.md +24 -0
  157. package/skills/ai-research/03-fine-tuning/llama-factory/references/advanced.md +1056 -0
  158. package/skills/ai-research/03-fine-tuning/llama-factory/references/getting_started.md +350 -0
  159. package/skills/ai-research/03-fine-tuning/llama-factory/references/index.md +20 -0
  160. package/skills/ai-research/03-fine-tuning/llama-factory/references/other.md +32 -0
  161. package/skills/ai-research/03-fine-tuning/peft/SKILL.md +431 -0
  162. package/skills/ai-research/03-fine-tuning/peft/references/advanced-usage.md +515 -0
  163. package/skills/ai-research/03-fine-tuning/peft/references/troubleshooting.md +481 -0
  164. package/skills/ai-research/03-fine-tuning/unsloth/SKILL.md +80 -0
  165. package/skills/ai-research/03-fine-tuning/unsloth/references/index.md +8 -0
  166. package/skills/ai-research/03-fine-tuning/unsloth/references/llms.md +83 -0
  167. package/skills/ai-research/04-mechanistic-interpretability/nnsight/SKILL.md +436 -0
  168. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/README.md +79 -0
  169. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/api.md +345 -0
  170. package/skills/ai-research/04-mechanistic-interpretability/nnsight/references/tutorials.md +301 -0
  171. package/skills/ai-research/04-mechanistic-interpretability/pyvene/SKILL.md +473 -0
  172. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/README.md +74 -0
  173. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/api.md +384 -0
  174. package/skills/ai-research/04-mechanistic-interpretability/pyvene/references/tutorials.md +377 -0
  175. package/skills/ai-research/04-mechanistic-interpretability/saelens/SKILL.md +386 -0
  176. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/README.md +71 -0
  177. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/api.md +334 -0
  178. package/skills/ai-research/04-mechanistic-interpretability/saelens/references/tutorials.md +319 -0
  179. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/SKILL.md +346 -0
  180. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/README.md +55 -0
  181. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/api.md +363 -0
  182. package/skills/ai-research/04-mechanistic-interpretability/transformer-lens/references/tutorials.md +340 -0
  183. package/skills/ai-research/05-data-processing/nemo-curator/SKILL.md +383 -0
  184. package/skills/ai-research/05-data-processing/nemo-curator/references/deduplication.md +88 -0
  185. package/skills/ai-research/05-data-processing/nemo-curator/references/filtering.md +103 -0
  186. package/skills/ai-research/05-data-processing/ray-data/SKILL.md +326 -0
  187. package/skills/ai-research/05-data-processing/ray-data/references/integration.md +83 -0
  188. package/skills/ai-research/05-data-processing/ray-data/references/transformations.md +84 -0
  189. package/skills/ai-research/06-post-training/grpo-rl-training/README.md +98 -0
  190. package/skills/ai-research/06-post-training/grpo-rl-training/SKILL.md +572 -0
  191. package/skills/ai-research/06-post-training/miles/SKILL.md +315 -0
  192. package/skills/ai-research/06-post-training/miles/references/api-reference.md +142 -0
  193. package/skills/ai-research/06-post-training/miles/references/troubleshooting.md +353 -0
  194. package/skills/ai-research/06-post-training/openrlhf/SKILL.md +249 -0
  195. package/skills/ai-research/06-post-training/openrlhf/references/algorithm-comparison.md +405 -0
  196. package/skills/ai-research/06-post-training/openrlhf/references/custom-rewards.md +531 -0
  197. package/skills/ai-research/06-post-training/openrlhf/references/hybrid-engine.md +288 -0
  198. package/skills/ai-research/06-post-training/openrlhf/references/multi-node-training.md +455 -0
  199. package/skills/ai-research/06-post-training/simpo/SKILL.md +219 -0
  200. package/skills/ai-research/06-post-training/simpo/references/datasets.md +479 -0
  201. package/skills/ai-research/06-post-training/simpo/references/hyperparameters.md +453 -0
  202. package/skills/ai-research/06-post-training/simpo/references/loss-functions.md +351 -0
  203. package/skills/ai-research/06-post-training/slime/SKILL.md +464 -0
  204. package/skills/ai-research/06-post-training/slime/references/api-reference.md +393 -0
  205. package/skills/ai-research/06-post-training/slime/references/troubleshooting.md +387 -0
  206. package/skills/ai-research/06-post-training/torchforge/SKILL.md +433 -0
  207. package/skills/ai-research/06-post-training/torchforge/references/api-reference.md +328 -0
  208. package/skills/ai-research/06-post-training/torchforge/references/troubleshooting.md +410 -0
  209. package/skills/ai-research/06-post-training/trl-fine-tuning/SKILL.md +455 -0
  210. package/skills/ai-research/06-post-training/trl-fine-tuning/references/dpo-variants.md +228 -0
  211. package/skills/ai-research/06-post-training/trl-fine-tuning/references/online-rl.md +83 -0
  212. package/skills/ai-research/06-post-training/trl-fine-tuning/references/reward-modeling.md +123 -0
  213. package/skills/ai-research/06-post-training/trl-fine-tuning/references/sft-training.md +169 -0
  214. package/skills/ai-research/06-post-training/verl/SKILL.md +391 -0
  215. package/skills/ai-research/06-post-training/verl/references/api-reference.md +302 -0
  216. package/skills/ai-research/06-post-training/verl/references/troubleshooting.md +392 -0
  217. package/skills/ai-research/07-safety-alignment/constitutional-ai/SKILL.md +290 -0
  218. package/skills/ai-research/07-safety-alignment/llamaguard/SKILL.md +337 -0
  219. package/skills/ai-research/07-safety-alignment/nemo-guardrails/SKILL.md +297 -0
  220. package/skills/ai-research/07-safety-alignment/prompt-guard/SKILL.md +312 -0
  221. package/skills/ai-research/08-distributed-training/accelerate/SKILL.md +332 -0
  222. package/skills/ai-research/08-distributed-training/accelerate/references/custom-plugins.md +454 -0
  223. package/skills/ai-research/08-distributed-training/accelerate/references/megatron-integration.md +490 -0
  224. package/skills/ai-research/08-distributed-training/accelerate/references/performance.md +526 -0
  225. package/skills/ai-research/08-distributed-training/deepspeed/SKILL.md +141 -0
  226. package/skills/ai-research/08-distributed-training/deepspeed/references/08.md +18 -0
  227. package/skills/ai-research/08-distributed-training/deepspeed/references/09.md +174 -0
  228. package/skills/ai-research/08-distributed-training/deepspeed/references/2020.md +379 -0
  229. package/skills/ai-research/08-distributed-training/deepspeed/references/2023.md +280 -0
  230. package/skills/ai-research/08-distributed-training/deepspeed/references/assets.md +180 -0
  231. package/skills/ai-research/08-distributed-training/deepspeed/references/index.md +36 -0
  232. package/skills/ai-research/08-distributed-training/deepspeed/references/mii.md +119 -0
  233. package/skills/ai-research/08-distributed-training/deepspeed/references/other.md +1192 -0
  234. package/skills/ai-research/08-distributed-training/megatron-core/SKILL.md +366 -0
  235. package/skills/ai-research/08-distributed-training/megatron-core/references/benchmarks.md +250 -0
  236. package/skills/ai-research/08-distributed-training/megatron-core/references/parallelism-guide.md +405 -0
  237. package/skills/ai-research/08-distributed-training/megatron-core/references/production-examples.md +474 -0
  238. package/skills/ai-research/08-distributed-training/megatron-core/references/training-recipes.md +548 -0
  239. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/SKILL.md +231 -0
  240. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_async_recipe.md +14 -0
  241. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_overview.md +19 -0
  242. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_dcp_recipe.md +18 -0
  243. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_ddp_notes.md +10 -0
  244. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_device_mesh_tutorial.md +22 -0
  245. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_examples_fsdp2.md +15 -0
  246. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp1_api.md +9 -0
  247. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fsdp2_tutorial.md +45 -0
  248. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_fully_shard_api.md +49 -0
  249. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/pytorch_tp_tutorial.md +22 -0
  250. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/ray_train_fsdp2_example.md +13 -0
  251. package/skills/ai-research/08-distributed-training/pytorch-fsdp2/references/torchtitan_fsdp_notes.md +14 -0
  252. package/skills/ai-research/08-distributed-training/pytorch-lightning/SKILL.md +346 -0
  253. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/callbacks.md +437 -0
  254. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/distributed.md +491 -0
  255. package/skills/ai-research/08-distributed-training/pytorch-lightning/references/hyperparameter-tuning.md +557 -0
  256. package/skills/ai-research/08-distributed-training/ray-train/SKILL.md +406 -0
  257. package/skills/ai-research/08-distributed-training/ray-train/references/multi-node.md +629 -0
  258. package/skills/ai-research/09-infrastructure/lambda-labs/SKILL.md +545 -0
  259. package/skills/ai-research/09-infrastructure/lambda-labs/references/advanced-usage.md +612 -0
  260. package/skills/ai-research/09-infrastructure/lambda-labs/references/troubleshooting.md +531 -0
  261. package/skills/ai-research/09-infrastructure/modal/SKILL.md +341 -0
  262. package/skills/ai-research/09-infrastructure/modal/references/advanced-usage.md +504 -0
  263. package/skills/ai-research/09-infrastructure/modal/references/troubleshooting.md +495 -0
  264. package/skills/ai-research/09-infrastructure/skypilot/SKILL.md +509 -0
  265. package/skills/ai-research/09-infrastructure/skypilot/references/advanced-usage.md +492 -0
  266. package/skills/ai-research/09-infrastructure/skypilot/references/troubleshooting.md +571 -0
  267. package/skills/ai-research/10-optimization/awq/SKILL.md +310 -0
  268. package/skills/ai-research/10-optimization/awq/references/advanced-usage.md +325 -0
  269. package/skills/ai-research/10-optimization/awq/references/troubleshooting.md +345 -0
  270. package/skills/ai-research/10-optimization/bitsandbytes/SKILL.md +411 -0
  271. package/skills/ai-research/10-optimization/bitsandbytes/references/memory-optimization.md +522 -0
  272. package/skills/ai-research/10-optimization/bitsandbytes/references/qlora-training.md +522 -0
  273. package/skills/ai-research/10-optimization/bitsandbytes/references/quantization-formats.md +448 -0
  274. package/skills/ai-research/10-optimization/flash-attention/SKILL.md +367 -0
  275. package/skills/ai-research/10-optimization/flash-attention/references/benchmarks.md +216 -0
  276. package/skills/ai-research/10-optimization/flash-attention/references/transformers-integration.md +294 -0
  277. package/skills/ai-research/10-optimization/gguf/SKILL.md +427 -0
  278. package/skills/ai-research/10-optimization/gguf/references/advanced-usage.md +505 -0
  279. package/skills/ai-research/10-optimization/gguf/references/troubleshooting.md +443 -0
  280. package/skills/ai-research/10-optimization/gptq/SKILL.md +450 -0
  281. package/skills/ai-research/10-optimization/gptq/references/calibration.md +338 -0
  282. package/skills/ai-research/10-optimization/gptq/references/integration.md +130 -0
  283. package/skills/ai-research/10-optimization/gptq/references/troubleshooting.md +96 -0
  284. package/skills/ai-research/10-optimization/hqq/SKILL.md +445 -0
  285. package/skills/ai-research/10-optimization/hqq/references/advanced-usage.md +529 -0
  286. package/skills/ai-research/10-optimization/hqq/references/troubleshooting.md +504 -0
  287. package/skills/ai-research/10-optimization/ml-training-recipes/SKILL.md +319 -0
  288. package/skills/ai-research/10-optimization/ml-training-recipes/references/architecture.md +320 -0
  289. package/skills/ai-research/10-optimization/ml-training-recipes/references/biomedical.md +498 -0
  290. package/skills/ai-research/10-optimization/ml-training-recipes/references/domain-specific.md +626 -0
  291. package/skills/ai-research/10-optimization/ml-training-recipes/references/experiment-loop.md +129 -0
  292. package/skills/ai-research/10-optimization/ml-training-recipes/references/optimizers.md +330 -0
  293. package/skills/ai-research/10-optimization/ml-training-recipes/references/scaling-and-selection.md +428 -0
  294. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/SKILL.md +405 -0
  295. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/benchmarks.md +394 -0
  296. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/custom-tasks.md +425 -0
  297. package/skills/ai-research/11-evaluation/bigcode-evaluation-harness/references/issues.md +395 -0
  298. package/skills/ai-research/11-evaluation/lm-evaluation-harness/SKILL.md +490 -0
  299. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/api-evaluation.md +491 -0
  300. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/benchmark-guide.md +489 -0
  301. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/custom-tasks.md +603 -0
  302. package/skills/ai-research/11-evaluation/lm-evaluation-harness/references/distributed-eval.md +520 -0
  303. package/skills/ai-research/11-evaluation/nemo-evaluator/SKILL.md +494 -0
  304. package/skills/ai-research/11-evaluation/nemo-evaluator/references/adapter-system.md +341 -0
  305. package/skills/ai-research/11-evaluation/nemo-evaluator/references/configuration.md +448 -0
  306. package/skills/ai-research/11-evaluation/nemo-evaluator/references/custom-benchmarks.md +316 -0
  307. package/skills/ai-research/11-evaluation/nemo-evaluator/references/execution-backends.md +362 -0
  308. package/skills/ai-research/12-inference-serving/llama-cpp/SKILL.md +258 -0
  309. package/skills/ai-research/12-inference-serving/llama-cpp/references/optimization.md +90 -0
  310. package/skills/ai-research/12-inference-serving/llama-cpp/references/quantization.md +214 -0
  311. package/skills/ai-research/12-inference-serving/llama-cpp/references/server.md +126 -0
  312. package/skills/ai-research/12-inference-serving/sglang/SKILL.md +442 -0
  313. package/skills/ai-research/12-inference-serving/sglang/references/deployment.md +491 -0
  314. package/skills/ai-research/12-inference-serving/sglang/references/radix-attention.md +414 -0
  315. package/skills/ai-research/12-inference-serving/sglang/references/structured-generation.md +542 -0
  316. package/skills/ai-research/12-inference-serving/tensorrt-llm/SKILL.md +187 -0
  317. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/multi-gpu.md +299 -0
  318. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/optimization.md +243 -0
  319. package/skills/ai-research/12-inference-serving/tensorrt-llm/references/serving.md +471 -0
  320. package/skills/ai-research/12-inference-serving/vllm/SKILL.md +364 -0
  321. package/skills/ai-research/12-inference-serving/vllm/references/optimization.md +227 -0
  322. package/skills/ai-research/12-inference-serving/vllm/references/quantization.md +285 -0
  323. package/skills/ai-research/12-inference-serving/vllm/references/server-deployment.md +256 -0
  324. package/skills/ai-research/12-inference-serving/vllm/references/troubleshooting.md +448 -0
  325. package/skills/ai-research/13-mlops/mlflow/SKILL.md +704 -0
  326. package/skills/ai-research/13-mlops/mlflow/references/deployment.md +745 -0
  327. package/skills/ai-research/13-mlops/mlflow/references/model-registry.md +771 -0
  328. package/skills/ai-research/13-mlops/mlflow/references/tracking.md +681 -0
  329. package/skills/ai-research/13-mlops/swanlab/SKILL.md +406 -0
  330. package/skills/ai-research/13-mlops/swanlab/references/integrations.md +305 -0
  331. package/skills/ai-research/13-mlops/swanlab/references/visualization.md +234 -0
  332. package/skills/ai-research/13-mlops/tensorboard/SKILL.md +629 -0
  333. package/skills/ai-research/13-mlops/tensorboard/references/integrations.md +639 -0
  334. package/skills/ai-research/13-mlops/tensorboard/references/profiling.md +546 -0
  335. package/skills/ai-research/13-mlops/tensorboard/references/visualization.md +621 -0
  336. package/skills/ai-research/13-mlops/weights-and-biases/SKILL.md +590 -0
  337. package/skills/ai-research/13-mlops/weights-and-biases/references/artifacts.md +585 -0
  338. package/skills/ai-research/13-mlops/weights-and-biases/references/integrations.md +701 -0
  339. package/skills/ai-research/13-mlops/weights-and-biases/references/sweeps.md +848 -0
  340. package/skills/ai-research/14-agents/a-evolve/SKILL.md +383 -0
  341. package/skills/ai-research/14-agents/a-evolve/references/README.md +831 -0
  342. package/skills/ai-research/14-agents/a-evolve/references/api.md +594 -0
  343. package/skills/ai-research/14-agents/a-evolve/references/architecture.md +417 -0
  344. package/skills/ai-research/14-agents/a-evolve/references/design-patterns.md +462 -0
  345. package/skills/ai-research/14-agents/a-evolve/references/examples.md +352 -0
  346. package/skills/ai-research/14-agents/a-evolve/references/issues.md +591 -0
  347. package/skills/ai-research/14-agents/a-evolve/references/releases.md +112 -0
  348. package/skills/ai-research/14-agents/a-evolve/references/tutorials.md +819 -0
  349. package/skills/ai-research/14-agents/autogpt/SKILL.md +403 -0
  350. package/skills/ai-research/14-agents/autogpt/references/advanced-usage.md +536 -0
  351. package/skills/ai-research/14-agents/autogpt/references/troubleshooting.md +421 -0
  352. package/skills/ai-research/14-agents/crewai/SKILL.md +498 -0
  353. package/skills/ai-research/14-agents/crewai/references/flows.md +439 -0
  354. package/skills/ai-research/14-agents/crewai/references/tools.md +430 -0
  355. package/skills/ai-research/14-agents/crewai/references/troubleshooting.md +481 -0
  356. package/skills/ai-research/14-agents/langchain/SKILL.md +480 -0
  357. package/skills/ai-research/14-agents/langchain/references/agents.md +500 -0
  358. package/skills/ai-research/14-agents/langchain/references/integration.md +563 -0
  359. package/skills/ai-research/14-agents/langchain/references/rag.md +601 -0
  360. package/skills/ai-research/14-agents/llamaindex/SKILL.md +569 -0
  361. package/skills/ai-research/14-agents/llamaindex/references/agents.md +84 -0
  362. package/skills/ai-research/14-agents/llamaindex/references/data_connectors.md +109 -0
  363. package/skills/ai-research/14-agents/llamaindex/references/query_engines.md +407 -0
  364. package/skills/ai-research/15-rag/chroma/SKILL.md +406 -0
  365. package/skills/ai-research/15-rag/chroma/references/integration.md +39 -0
  366. package/skills/ai-research/15-rag/faiss/SKILL.md +221 -0
  367. package/skills/ai-research/15-rag/faiss/references/index_types.md +281 -0
  368. package/skills/ai-research/15-rag/pinecone/SKILL.md +358 -0
  369. package/skills/ai-research/15-rag/pinecone/references/deployment.md +182 -0
  370. package/skills/ai-research/15-rag/qdrant/SKILL.md +493 -0
  371. package/skills/ai-research/15-rag/qdrant/references/advanced-usage.md +649 -0
  372. package/skills/ai-research/15-rag/qdrant/references/troubleshooting.md +632 -0
  373. package/skills/ai-research/15-rag/sentence-transformers/SKILL.md +255 -0
  374. package/skills/ai-research/15-rag/sentence-transformers/references/models.md +124 -0
  375. package/skills/ai-research/16-prompt-engineering/dspy/SKILL.md +590 -0
  376. package/skills/ai-research/16-prompt-engineering/dspy/references/examples.md +664 -0
  377. package/skills/ai-research/16-prompt-engineering/dspy/references/modules.md +476 -0
  378. package/skills/ai-research/16-prompt-engineering/dspy/references/optimizers.md +567 -0
  379. package/skills/ai-research/16-prompt-engineering/guidance/SKILL.md +572 -0
  380. package/skills/ai-research/16-prompt-engineering/guidance/references/backends.md +555 -0
  381. package/skills/ai-research/16-prompt-engineering/guidance/references/constraints.md +675 -0
  382. package/skills/ai-research/16-prompt-engineering/guidance/references/examples.md +768 -0
  383. package/skills/ai-research/16-prompt-engineering/instructor/SKILL.md +740 -0
  384. package/skills/ai-research/16-prompt-engineering/instructor/references/examples.md +108 -0
  385. package/skills/ai-research/16-prompt-engineering/instructor/references/providers.md +71 -0
  386. package/skills/ai-research/16-prompt-engineering/instructor/references/validation.md +607 -0
  387. package/skills/ai-research/16-prompt-engineering/outlines/SKILL.md +652 -0
  388. package/skills/ai-research/16-prompt-engineering/outlines/references/backends.md +616 -0
  389. package/skills/ai-research/16-prompt-engineering/outlines/references/examples.md +774 -0
  390. package/skills/ai-research/16-prompt-engineering/outlines/references/json_generation.md +653 -0
  391. package/skills/ai-research/17-observability/langsmith/SKILL.md +422 -0
  392. package/skills/ai-research/17-observability/langsmith/references/advanced-usage.md +549 -0
  393. package/skills/ai-research/17-observability/langsmith/references/troubleshooting.md +538 -0
  394. package/skills/ai-research/17-observability/phoenix/SKILL.md +475 -0
  395. package/skills/ai-research/17-observability/phoenix/references/advanced-usage.md +620 -0
  396. package/skills/ai-research/17-observability/phoenix/references/troubleshooting.md +539 -0
  397. package/skills/ai-research/18-multimodal/audiocraft/SKILL.md +564 -0
  398. package/skills/ai-research/18-multimodal/audiocraft/references/advanced-usage.md +667 -0
  399. package/skills/ai-research/18-multimodal/audiocraft/references/troubleshooting.md +505 -0
  400. package/skills/ai-research/18-multimodal/blip-2/SKILL.md +564 -0
  401. package/skills/ai-research/18-multimodal/blip-2/references/advanced-usage.md +681 -0
  402. package/skills/ai-research/18-multimodal/blip-2/references/troubleshooting.md +527 -0
  403. package/skills/ai-research/18-multimodal/clip/SKILL.md +253 -0
  404. package/skills/ai-research/18-multimodal/clip/references/applications.md +208 -0
  405. package/skills/ai-research/18-multimodal/cosmos-policy/SKILL.md +402 -0
  406. package/skills/ai-research/18-multimodal/cosmos-policy/references/libero-commands.md +175 -0
  407. package/skills/ai-research/18-multimodal/cosmos-policy/references/robocasa-commands.md +147 -0
  408. package/skills/ai-research/18-multimodal/llava/SKILL.md +304 -0
  409. package/skills/ai-research/18-multimodal/llava/references/training.md +198 -0
  410. package/skills/ai-research/18-multimodal/openpi/SKILL.md +480 -0
  411. package/skills/ai-research/18-multimodal/openpi/references/checkpoints-and-env-map.md +86 -0
  412. package/skills/ai-research/18-multimodal/openpi/references/config-recipes.md +50 -0
  413. package/skills/ai-research/18-multimodal/openpi/references/pytorch-gotchas.md +49 -0
  414. package/skills/ai-research/18-multimodal/openpi/references/remote-client-pattern.md +48 -0
  415. package/skills/ai-research/18-multimodal/openpi/references/training-debugging.md +46 -0
  416. package/skills/ai-research/18-multimodal/openvla-oft/SKILL.md +441 -0
  417. package/skills/ai-research/18-multimodal/openvla-oft/references/aloha-workflow.md +141 -0
  418. package/skills/ai-research/18-multimodal/openvla-oft/references/config-troubleshooting.md +97 -0
  419. package/skills/ai-research/18-multimodal/openvla-oft/references/libero-workflow.md +115 -0
  420. package/skills/ai-research/18-multimodal/openvla-oft/references/paper-and-checkpoints.md +84 -0
  421. package/skills/ai-research/18-multimodal/segment-anything/SKILL.md +500 -0
  422. package/skills/ai-research/18-multimodal/segment-anything/references/advanced-usage.md +590 -0
  423. package/skills/ai-research/18-multimodal/segment-anything/references/troubleshooting.md +485 -0
  424. package/skills/ai-research/18-multimodal/stable-diffusion/SKILL.md +519 -0
  425. package/skills/ai-research/18-multimodal/stable-diffusion/references/advanced-usage.md +717 -0
  426. package/skills/ai-research/18-multimodal/stable-diffusion/references/troubleshooting.md +556 -0
  427. package/skills/ai-research/18-multimodal/whisper/SKILL.md +317 -0
  428. package/skills/ai-research/18-multimodal/whisper/references/languages.md +190 -0
  429. package/skills/ai-research/19-emerging-techniques/knowledge-distillation/SKILL.md +458 -0
  430. package/skills/ai-research/19-emerging-techniques/knowledge-distillation/references/minillm.md +335 -0
  431. package/skills/ai-research/19-emerging-techniques/long-context/SKILL.md +536 -0
  432. package/skills/ai-research/19-emerging-techniques/long-context/references/extension_methods.md +469 -0
  433. package/skills/ai-research/19-emerging-techniques/long-context/references/fine_tuning.md +612 -0
  434. package/skills/ai-research/19-emerging-techniques/long-context/references/rope.md +403 -0
  435. package/skills/ai-research/19-emerging-techniques/model-merging/SKILL.md +497 -0
  436. package/skills/ai-research/19-emerging-techniques/model-merging/references/coefficient-tuning.md +415 -0
  437. package/skills/ai-research/19-emerging-techniques/model-merging/references/evaluation.md +463 -0
  438. package/skills/ai-research/19-emerging-techniques/model-merging/references/examples.md +429 -0
  439. package/skills/ai-research/19-emerging-techniques/model-merging/references/methods.md +353 -0
  440. package/skills/ai-research/19-emerging-techniques/model-pruning/SKILL.md +495 -0
  441. package/skills/ai-research/19-emerging-techniques/model-pruning/references/wanda.md +348 -0
  442. package/skills/ai-research/19-emerging-techniques/moe-training/SKILL.md +526 -0
  443. package/skills/ai-research/19-emerging-techniques/moe-training/references/architectures.md +433 -0
  444. package/skills/ai-research/19-emerging-techniques/moe-training/references/inference.md +349 -0
  445. package/skills/ai-research/19-emerging-techniques/moe-training/references/training.md +426 -0
  446. package/skills/ai-research/19-emerging-techniques/speculative-decoding/SKILL.md +467 -0
  447. package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/lookahead.md +310 -0
  448. package/skills/ai-research/19-emerging-techniques/speculative-decoding/references/medusa.md +351 -0
  449. package/skills/ai-research/20-ml-paper-writing/academic-plotting/SKILL.md +479 -0
  450. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/data-visualization.md +509 -0
  451. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/diagram-generation.md +395 -0
  452. package/skills/ai-research/20-ml-paper-writing/academic-plotting/references/style-guide.md +305 -0
  453. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/SKILL.md +982 -0
  454. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/checklists.md +348 -0
  455. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/citation-workflow.md +563 -0
  456. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/reviewer-guidelines.md +349 -0
  457. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/sources.md +165 -0
  458. package/skills/ai-research/20-ml-paper-writing/ml-paper-writing/references/writing-guide.md +477 -0
  459. package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/SKILL.md +298 -0
  460. package/skills/ai-research/20-ml-paper-writing/presenting-conference-talks/references/slide-templates.md +505 -0
  461. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/SKILL.md +270 -0
  462. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/checklist.md +279 -0
  463. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/reviewer-guidelines.md +116 -0
  464. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/section-blueprints.md +400 -0
  465. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/systems-conferences.md +261 -0
  466. package/skills/ai-research/20-ml-paper-writing/systems-paper-writing/references/writing-patterns.md +231 -0
  467. package/skills/ai-research/21-research-ideation/brainstorming-research-ideas/SKILL.md +384 -0
  468. package/skills/ai-research/21-research-ideation/creative-thinking-for-research/SKILL.md +366 -0
  469. package/skills/ai-research/22-agent-native-research-artifact/compiler/SKILL.md +245 -0
  470. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/ara-schema.md +439 -0
  471. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/exploration-tree-spec.md +125 -0
  472. package/skills/ai-research/22-agent-native-research-artifact/compiler/references/validation-checklist.md +149 -0
  473. package/skills/ai-research/22-agent-native-research-artifact/research-manager/SKILL.md +324 -0
  474. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/event-taxonomy.md +124 -0
  475. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/provenance-tags.md +190 -0
  476. package/skills/ai-research/22-agent-native-research-artifact/research-manager/references/session-protocol.md +162 -0
  477. package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/SKILL.md +322 -0
  478. package/skills/ai-research/22-agent-native-research-artifact/rigor-reviewer/references/review-dimensions.md +182 -0
  479. package/skills/ai-research/SKILL.md +101 -0
  480. package/skills/ai-research/SOURCE +38 -0
  481. package/skills/ai-research/index/1-frame.md +18 -0
  482. package/skills/ai-research/index/2-data.md +21 -0
  483. package/skills/ai-research/index/3-train.md +48 -0
  484. package/skills/ai-research/index/4-measure.md +25 -0
  485. package/skills/ai-research/index/5-run.md +23 -0
  486. package/skills/ai-research/index/6-write.md +35 -0
  487. package/skills/ai-research/library.json +3456 -0
  488. package/skills/analyze-app/EVALS.md +82 -0
  489. package/skills/analyze-app/SKILL.md +188 -0
  490. package/skills/design-contract/EVALS.md +80 -0
  491. package/skills/design-contract/SKILL.md +171 -0
  492. package/skills/design-library/EVALS.md +85 -0
  493. package/skills/design-library/INDEX.md +59 -0
  494. package/skills/design-library/SKILL.md +58 -0
  495. package/skills/design-library/SOURCE +131 -0
  496. package/skills/design-library/adaptive-interfaces/skills/colour-independence/SKILL.md +90 -0
  497. package/skills/design-library/adaptive-interfaces/skills/flexible-typography/SKILL.md +83 -0
  498. package/skills/design-library/adaptive-interfaces/skills/information-density/SKILL.md +87 -0
  499. package/skills/design-library/adaptive-interfaces/skills/preference-audit/SKILL.md +70 -0
  500. package/skills/design-library/adaptive-interfaces/skills/responsive-accessibility/SKILL.md +86 -0
  501. package/skills/design-library/adaptive-interfaces/skills/responsive-review/SKILL.md +76 -0
  502. package/skills/design-library/adaptive-interfaces/skills/simplified-views/SKILL.md +97 -0
  503. package/skills/design-library/adaptive-interfaces/skills/specify/SKILL.md +63 -0
  504. package/skills/design-library/adaptive-interfaces/skills/user-preference-respect/SKILL.md +100 -0
  505. package/skills/design-library/cognitive-accessibility/skills/adaptive-personalisation/SKILL.md +61 -0
  506. package/skills/design-library/cognitive-accessibility/skills/assess-load/SKILL.md +48 -0
  507. package/skills/design-library/cognitive-accessibility/skills/cognitive-load-assessment/SKILL.md +60 -0
  508. package/skills/design-library/cognitive-accessibility/skills/contextual-help-design/SKILL.md +61 -0
  509. package/skills/design-library/cognitive-accessibility/skills/error-prevention-recovery/SKILL.md +71 -0
  510. package/skills/design-library/cognitive-accessibility/skills/focus-attention-design/SKILL.md +67 -0
  511. package/skills/design-library/cognitive-accessibility/skills/memory-load-reduction/SKILL.md +60 -0
  512. package/skills/design-library/cognitive-accessibility/skills/plain-language-design/SKILL.md +78 -0
  513. package/skills/design-library/cognitive-accessibility/skills/review/SKILL.md +56 -0
  514. package/skills/design-library/cognitive-accessibility/skills/simplify/SKILL.md +39 -0
  515. package/skills/design-library/cognitive-accessibility/skills/wayfinding-navigation/SKILL.md +64 -0
  516. package/skills/design-library/design-research/skills/behavioural-analytics/SKILL.md +33 -0
  517. package/skills/design-library/design-research/skills/qual-quant-triangulation/SKILL.md +33 -0
  518. package/skills/design-library/inclusive-interaction/skills/audit/SKILL.md +50 -0
  519. package/skills/design-library/inclusive-interaction/skills/design-flow/SKILL.md +58 -0
  520. package/skills/design-library/inclusive-interaction/skills/feedback-and-status/SKILL.md +76 -0
  521. package/skills/design-library/inclusive-interaction/skills/gesture-alternatives/SKILL.md +70 -0
  522. package/skills/design-library/inclusive-interaction/skills/keyboard-navigation/SKILL.md +99 -0
  523. package/skills/design-library/inclusive-interaction/skills/keyboard-review/SKILL.md +54 -0
  524. package/skills/design-library/inclusive-interaction/skills/motion-sensitivity/SKILL.md +79 -0
  525. package/skills/design-library/inclusive-interaction/skills/multi-modal-input/SKILL.md +70 -0
  526. package/skills/design-library/inclusive-interaction/skills/touch-target-design/SKILL.md +71 -0
  527. package/skills/design-library/inclusive-interaction/skills/voice-interaction/SKILL.md +68 -0
  528. package/skills/design-library/visual-critique/skills/critique-affordance/SKILL.md +45 -0
  529. package/skills/design-library/visual-critique/skills/critique-brand-consistency/SKILL.md +42 -0
  530. package/skills/design-library/visual-critique/skills/critique-color/SKILL.md +44 -0
  531. package/skills/design-library/visual-critique/skills/critique-composition/SKILL.md +46 -0
  532. package/skills/design-library/visual-critique/skills/critique-information-density/SKILL.md +45 -0
  533. package/skills/design-library/visual-critique/skills/critique-typography/SKILL.md +45 -0
  534. package/skills/design-library/visual-critique/skills/critique-visual-hierarchy/SKILL.md +40 -0
  535. package/skills/feature-audit/EVALS.md +83 -0
  536. package/skills/feature-audit/SKILL.md +326 -0
  537. package/skills/harness/EVALS.md +81 -0
  538. package/skills/harness/SKILL.md +88 -0
  539. package/skills/i-have-adhd/EVALS.md +80 -0
  540. package/skills/i-have-adhd/SKILL.md +183 -0
  541. package/skills/no-ai-slop/EVALS.md +89 -0
  542. package/skills/no-ai-slop/SKILL.md +209 -0
  543. package/skills/no-ai-slop/eval.md +52 -0
  544. package/skills/plan-add/EVALS.md +79 -0
  545. package/skills/plan-add/SKILL.md +179 -0
  546. package/skills/plan-add/render_table.py +72 -0
  547. package/skills/plan-status/EVALS.md +78 -0
  548. package/skills/plan-status/SKILL.md +52 -0
  549. package/skills/plan-sync/EVALS.md +80 -0
  550. package/skills/plan-sync/SKILL.md +69 -0
  551. package/skills/pm-frameworks/SKILL.md +33 -0
  552. package/skills/pm-frameworks/SOURCE +39 -0
  553. package/skills/pm-frameworks/intended-vs-implemented/SKILL.md +42 -0
  554. package/skills/pm-frameworks/opportunity-solution-tree/SKILL.md +64 -0
  555. package/skills/ponytail/EVALS.md +80 -0
  556. package/skills/ponytail/SKILL.md +124 -0
  557. package/skills/product-analysis/EVALS.md +103 -0
  558. package/skills/product-analysis/SKILL.md +361 -0
  559. package/skills/research/EVALS.md +104 -0
  560. package/skills/research/SKILL.md +570 -0
  561. package/skills/rl-env/SKILL.md +53 -0
  562. package/skills/rl-env/SOURCE +41 -0
  563. package/skills/rl-env/generate-nemo-gym-env/SKILL.md +169 -0
  564. package/skills/rl-env/generate-nemo-gym-env/references/architecture.md +114 -0
  565. package/skills/rl-env/generate-openenv-env/SKILL.md +183 -0
  566. package/skills/rl-env/generate-openenv-env/references/architecture.md +82 -0
  567. package/skills/rl-env/generate-ors-env/SKILL.md +209 -0
  568. package/skills/rl-env/generate-ors-env/references/architecture.md +113 -0
  569. package/skills/rl-env/generate-verifiers-env/SKILL.md +188 -0
  570. package/skills/rl-env/generate-verifiers-env/references/architecture.md +119 -0
  571. package/skills/rl-env/rl-env-from-description/SKILL.md +124 -0
  572. package/skills/rl-env/rl-env-from-description/references/interview.md +75 -0
  573. package/skills/rl-env/rl-env-from-description/references/nemo_gym.md +41 -0
  574. package/skills/rl-env/rl-env-from-description/references/openenv.md +35 -0
  575. package/skills/rl-env/rl-env-from-description/references/ors.md +50 -0
  576. package/skills/rl-env/rl-env-from-description/references/verifiers.md +39 -0
  577. package/skills/tezgah-contract/EVALS.md +78 -0
  578. package/skills/tezgah-contract/SKILL.md +792 -0
  579. package/statusline.py +129 -0
  580. package/workflows/graph-impact.js +153 -0
  581. package/workflows/graph-map.js +158 -0
  582. package/workflows/graph-review.js +170 -0
@@ -0,0 +1,774 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 16-prompt-engineering/outlines/references/examples.md; MIT (c) Orchestra Research -->
2
+ # Production-Ready Examples
3
+
4
+ Real-world examples of using Outlines for structured generation in production systems.
5
+
6
+ ## Table of Contents
7
+ - Data Extraction
8
+ - Classification Systems
9
+ - Form Processing
10
+ - Multi-Entity Extraction
11
+ - Code Generation
12
+ - Batch Processing
13
+ - Production Patterns
14
+
15
+ ## Data Extraction
16
+
17
+ ### Basic Information Extraction
18
+
19
+ ```python
20
+ from pydantic import BaseModel, Field
21
+ import outlines
22
+
23
+ class PersonInfo(BaseModel):
24
+ name: str = Field(description="Full name")
25
+ age: int = Field(ge=0, le=120)
26
+ occupation: str
27
+ email: str = Field(pattern=r"^[\w\.-]+@[\w\.-]+\.\w+$")
28
+ location: str
29
+
30
+ model = outlines.models.transformers("microsoft/Phi-3-mini-4k-instruct")
31
+ generator = outlines.generate.json(model, PersonInfo)
32
+
33
+ text = """
34
+ Dr. Sarah Johnson is a 42-year-old research scientist at MIT.
35
+ She can be reached at sarah.j@mit.edu and currently lives in Cambridge, MA.
36
+ """
37
+
38
+ prompt = f"Extract person information from:\n{text}\n\nPerson:"
39
+ person = generator(prompt)
40
+
41
+ print(f"Name: {person.name}")
42
+ print(f"Age: {person.age}")
43
+ print(f"Occupation: {person.occupation}")
44
+ print(f"Email: {person.email}")
45
+ print(f"Location: {person.location}")
46
+ ```
47
+
48
+ ### Company Information
49
+
50
+ ```python
51
+ class CompanyInfo(BaseModel):
52
+ name: str
53
+ founded_year: int = Field(ge=1800, le=2025)
54
+ industry: str
55
+ headquarters: str
56
+ employees: int = Field(gt=0)
57
+ revenue: Optional[str] = None
58
+
59
+ model = outlines.models.transformers("meta-llama/Llama-3.1-8B-Instruct")
60
+ generator = outlines.generate.json(model, CompanyInfo)
61
+
62
+ text = """
63
+ Tesla, Inc. was founded in 2003 and operates primarily in the automotive
64
+ and energy industries. The company is headquartered in Austin, Texas,
65
+ and employs approximately 140,000 people worldwide.
66
+ """
67
+
68
+ company = generator(f"Extract company information:\n{text}\n\nCompany:")
69
+
70
+ print(f"Company: {company.name}")
71
+ print(f"Founded: {company.founded_year}")
72
+ print(f"Industry: {company.industry}")
73
+ print(f"HQ: {company.headquarters}")
74
+ print(f"Employees: {company.employees:,}")
75
+ ```
76
+
77
+ ### Product Specifications
78
+
79
+ ```python
80
+ class ProductSpec(BaseModel):
81
+ name: str
82
+ brand: str
83
+ price: float = Field(gt=0)
84
+ dimensions: str
85
+ weight: str
86
+ features: list[str]
87
+ rating: Optional[float] = Field(None, ge=0, le=5)
88
+
89
+ generator = outlines.generate.json(model, ProductSpec)
90
+
91
+ text = """
92
+ The Apple iPhone 15 Pro is priced at $999. It measures 146.6 x 70.6 x 8.25 mm
93
+ and weighs 187 grams. Key features include the A17 Pro chip, titanium design,
94
+ action button, and USB-C port. It has an average customer rating of 4.5 stars.
95
+ """
96
+
97
+ product = generator(f"Extract product specifications:\n{text}\n\nProduct:")
98
+
99
+ print(f"Product: {product.brand} {product.name}")
100
+ print(f"Price: ${product.price}")
101
+ print(f"Features: {', '.join(product.features)}")
102
+ ```
103
+
104
+ ## Classification Systems
105
+
106
+ ### Sentiment Analysis
107
+
108
+ ```python
109
+ from typing import Literal
110
+ from enum import Enum
111
+
112
+ class Sentiment(str, Enum):
113
+ VERY_POSITIVE = "very_positive"
114
+ POSITIVE = "positive"
115
+ NEUTRAL = "neutral"
116
+ NEGATIVE = "negative"
117
+ VERY_NEGATIVE = "very_negative"
118
+
119
+ class SentimentAnalysis(BaseModel):
120
+ text: str
121
+ sentiment: Sentiment
122
+ confidence: float = Field(ge=0.0, le=1.0)
123
+ aspects: list[str] # What aspects were mentioned
124
+ reasoning: str
125
+
126
+ model = outlines.models.transformers("microsoft/Phi-3-mini-4k-instruct")
127
+ generator = outlines.generate.json(model, SentimentAnalysis)
128
+
129
+ review = """
130
+ This product completely exceeded my expectations! The build quality is
131
+ outstanding, and customer service was incredibly helpful. My only minor
132
+ complaint is the packaging could be better.
133
+ """
134
+
135
+ result = generator(f"Analyze sentiment:\n{review}\n\nAnalysis:")
136
+
137
+ print(f"Sentiment: {result.sentiment.value}")
138
+ print(f"Confidence: {result.confidence:.2%}")
139
+ print(f"Aspects: {', '.join(result.aspects)}")
140
+ print(f"Reasoning: {result.reasoning}")
141
+ ```
142
+
143
+ ### Content Classification
144
+
145
+ ```python
146
+ class Category(str, Enum):
147
+ TECHNOLOGY = "technology"
148
+ BUSINESS = "business"
149
+ SCIENCE = "science"
150
+ POLITICS = "politics"
151
+ ENTERTAINMENT = "entertainment"
152
+ SPORTS = "sports"
153
+ HEALTH = "health"
154
+
155
+ class ArticleClassification(BaseModel):
156
+ primary_category: Category
157
+ secondary_categories: list[Category]
158
+ keywords: list[str] = Field(min_items=3, max_items=10)
159
+ target_audience: Literal["general", "expert", "beginner"]
160
+ reading_level: Literal["elementary", "intermediate", "advanced"]
161
+
162
+ generator = outlines.generate.json(model, ArticleClassification)
163
+
164
+ article = """
165
+ Apple announced groundbreaking advancements in its AI capabilities with the
166
+ release of iOS 18. The new features leverage machine learning to significantly
167
+ improve battery life and overall device performance. Industry analysts predict
168
+ this will strengthen Apple's position in the competitive smartphone market.
169
+ """
170
+
171
+ classification = generator(f"Classify article:\n{article}\n\nClassification:")
172
+
173
+ print(f"Primary: {classification.primary_category.value}")
174
+ print(f"Secondary: {[c.value for c in classification.secondary_categories]}")
175
+ print(f"Keywords: {classification.keywords}")
176
+ print(f"Audience: {classification.target_audience}")
177
+ ```
178
+
179
+ ### Intent Recognition
180
+
181
+ ```python
182
+ class Intent(str, Enum):
183
+ QUESTION = "question"
184
+ COMPLAINT = "complaint"
185
+ REQUEST = "request"
186
+ FEEDBACK = "feedback"
187
+ CANCEL = "cancel"
188
+ UPGRADE = "upgrade"
189
+
190
+ class UserMessage(BaseModel):
191
+ original_message: str
192
+ intent: Intent
193
+ urgency: Literal["low", "medium", "high", "critical"]
194
+ department: Literal["support", "sales", "billing", "technical"]
195
+ sentiment: Literal["positive", "neutral", "negative"]
196
+ action_required: bool
197
+ summary: str
198
+
199
+ generator = outlines.generate.json(model, UserMessage)
200
+
201
+ message = """
202
+ I've been charged twice for my subscription this month! This is the third
203
+ time this has happened. I need someone to fix this immediately and refund
204
+ the extra charge. Very disappointed with this service.
205
+ """
206
+
207
+ result = generator(f"Analyze message:\n{message}\n\nAnalysis:")
208
+
209
+ print(f"Intent: {result.intent.value}")
210
+ print(f"Urgency: {result.urgency}")
211
+ print(f"Route to: {result.department}")
212
+ print(f"Action required: {result.action_required}")
213
+ print(f"Summary: {result.summary}")
214
+ ```
215
+
216
+ ## Form Processing
217
+
218
+ ### Job Application
219
+
220
+ ```python
221
+ class Education(BaseModel):
222
+ degree: str
223
+ field: str
224
+ institution: str
225
+ year: int
226
+
227
+ class Experience(BaseModel):
228
+ title: str
229
+ company: str
230
+ duration: str
231
+ responsibilities: list[str]
232
+
233
+ class JobApplication(BaseModel):
234
+ full_name: str
235
+ email: str
236
+ phone: str
237
+ education: list[Education]
238
+ experience: list[Experience]
239
+ skills: list[str]
240
+ availability: str
241
+
242
+ model = outlines.models.transformers("meta-llama/Llama-3.1-8B-Instruct")
243
+ generator = outlines.generate.json(model, JobApplication)
244
+
245
+ resume_text = """
246
+ John Smith
247
+ Email: john.smith@email.com | Phone: 555-0123
248
+
249
+ EDUCATION
250
+ - BS in Computer Science, MIT, 2018
251
+ - MS in Artificial Intelligence, Stanford, 2020
252
+
253
+ EXPERIENCE
254
+ Software Engineer, Google (2020-2023)
255
+ - Developed ML pipelines for search ranking
256
+ - Led team of 5 engineers
257
+ - Improved search quality by 15%
258
+
259
+ SKILLS: Python, Machine Learning, TensorFlow, System Design
260
+
261
+ AVAILABILITY: Immediate
262
+ """
263
+
264
+ application = generator(f"Extract job application:\n{resume_text}\n\nApplication:")
265
+
266
+ print(f"Applicant: {application.full_name}")
267
+ print(f"Email: {application.email}")
268
+ print(f"Education: {len(application.education)} degrees")
269
+ for edu in application.education:
270
+ print(f" - {edu.degree} in {edu.field}, {edu.institution} ({edu.year})")
271
+ print(f"Experience: {len(application.experience)} positions")
272
+ ```
273
+
274
+ ### Invoice Processing
275
+
276
+ ```python
277
+ class InvoiceItem(BaseModel):
278
+ description: str
279
+ quantity: int = Field(gt=0)
280
+ unit_price: float = Field(gt=0)
281
+ total: float = Field(gt=0)
282
+
283
+ class Invoice(BaseModel):
284
+ invoice_number: str
285
+ date: str = Field(pattern=r"\d{4}-\d{2}-\d{2}")
286
+ vendor: str
287
+ customer: str
288
+ items: list[InvoiceItem]
289
+ subtotal: float = Field(gt=0)
290
+ tax: float = Field(ge=0)
291
+ total: float = Field(gt=0)
292
+
293
+ generator = outlines.generate.json(model, Invoice)
294
+
295
+ invoice_text = """
296
+ INVOICE #INV-2024-001
297
+ Date: 2024-01-15
298
+
299
+ From: Acme Corp
300
+ To: Smith & Co
301
+
302
+ Items:
303
+ - Widget A: 10 units @ $50.00 = $500.00
304
+ - Widget B: 5 units @ $75.00 = $375.00
305
+ - Service Fee: 1 @ $100.00 = $100.00
306
+
307
+ Subtotal: $975.00
308
+ Tax (8%): $78.00
309
+ TOTAL: $1,053.00
310
+ """
311
+
312
+ invoice = generator(f"Extract invoice:\n{invoice_text}\n\nInvoice:")
313
+
314
+ print(f"Invoice: {invoice.invoice_number}")
315
+ print(f"From: {invoice.vendor} → To: {invoice.customer}")
316
+ print(f"Items: {len(invoice.items)}")
317
+ for item in invoice.items:
318
+ print(f" - {item.description}: {item.quantity} × ${item.unit_price} = ${item.total}")
319
+ print(f"Total: ${invoice.total}")
320
+ ```
321
+
322
+ ### Survey Responses
323
+
324
+ ```python
325
+ class SurveyResponse(BaseModel):
326
+ respondent_id: str
327
+ completion_date: str
328
+ satisfaction: Literal[1, 2, 3, 4, 5]
329
+ would_recommend: bool
330
+ favorite_features: list[str]
331
+ improvement_areas: list[str]
332
+ additional_comments: Optional[str] = None
333
+
334
+ generator = outlines.generate.json(model, SurveyResponse)
335
+
336
+ survey_text = """
337
+ Survey ID: RESP-12345
338
+ Completed: 2024-01-20
339
+
340
+ How satisfied are you with our product? 4 out of 5
341
+
342
+ Would you recommend to a friend? Yes
343
+
344
+ What features do you like most?
345
+ - Fast performance
346
+ - Easy to use
347
+ - Great customer support
348
+
349
+ What could we improve?
350
+ - Better documentation
351
+ - More integrations
352
+
353
+ Additional feedback: Overall great product, keep up the good work!
354
+ """
355
+
356
+ response = generator(f"Extract survey response:\n{survey_text}\n\nResponse:")
357
+
358
+ print(f"Respondent: {response.respondent_id}")
359
+ print(f"Satisfaction: {response.satisfaction}/5")
360
+ print(f"Would recommend: {response.would_recommend}")
361
+ print(f"Favorite features: {response.favorite_features}")
362
+ print(f"Improvement areas: {response.improvement_areas}")
363
+ ```
364
+
365
+ ## Multi-Entity Extraction
366
+
367
+ ### News Article Entities
368
+
369
+ ```python
370
+ class Person(BaseModel):
371
+ name: str
372
+ role: Optional[str] = None
373
+ affiliation: Optional[str] = None
374
+
375
+ class Organization(BaseModel):
376
+ name: str
377
+ type: Optional[str] = None
378
+
379
+ class Location(BaseModel):
380
+ name: str
381
+ type: Literal["city", "state", "country", "region"]
382
+
383
+ class Event(BaseModel):
384
+ name: str
385
+ date: Optional[str] = None
386
+ location: Optional[str] = None
387
+
388
+ class ArticleEntities(BaseModel):
389
+ people: list[Person]
390
+ organizations: list[Organization]
391
+ locations: list[Location]
392
+ events: list[Event]
393
+ dates: list[str]
394
+
395
+ model = outlines.models.transformers("meta-llama/Llama-3.1-8B-Instruct")
396
+ generator = outlines.generate.json(model, ArticleEntities)
397
+
398
+ article = """
399
+ Apple CEO Tim Cook met with Microsoft CEO Satya Nadella at Microsoft
400
+ headquarters in Redmond, Washington on September 15, 2024, to discuss
401
+ potential collaboration opportunities. The meeting was attended by executives
402
+ from both companies and focused on AI integration strategies. Apple's
403
+ Cupertino offices will host a follow-up meeting on October 20, 2024.
404
+ """
405
+
406
+ entities = generator(f"Extract all entities:\n{article}\n\nEntities:")
407
+
408
+ print("People:")
409
+ for person in entities.people:
410
+ print(f" - {person.name} ({person.role}) @ {person.affiliation}")
411
+
412
+ print("\nOrganizations:")
413
+ for org in entities.organizations:
414
+ print(f" - {org.name} ({org.type})")
415
+
416
+ print("\nLocations:")
417
+ for loc in entities.locations:
418
+ print(f" - {loc.name} ({loc.type})")
419
+
420
+ print("\nEvents:")
421
+ for event in entities.events:
422
+ print(f" - {event.name} on {event.date}")
423
+ ```
424
+
425
+ ### Document Metadata
426
+
427
+ ```python
428
+ class Author(BaseModel):
429
+ name: str
430
+ email: Optional[str] = None
431
+ affiliation: Optional[str] = None
432
+
433
+ class Reference(BaseModel):
434
+ title: str
435
+ authors: list[str]
436
+ year: int
437
+ source: str
438
+
439
+ class DocumentMetadata(BaseModel):
440
+ title: str
441
+ authors: list[Author]
442
+ abstract: str
443
+ keywords: list[str]
444
+ publication_date: str
445
+ journal: str
446
+ doi: Optional[str] = None
447
+ references: list[Reference]
448
+
449
+ generator = outlines.generate.json(model, DocumentMetadata)
450
+
451
+ paper = """
452
+ Title: Advances in Neural Machine Translation
453
+
454
+ Authors:
455
+ - Dr. Jane Smith (jane@university.edu), MIT
456
+ - Prof. John Doe (jdoe@stanford.edu), Stanford University
457
+
458
+ Abstract: This paper presents novel approaches to neural machine translation
459
+ using transformer architectures. We demonstrate significant improvements in
460
+ translation quality across multiple language pairs.
461
+
462
+ Keywords: Neural Networks, Machine Translation, Transformers, NLP
463
+
464
+ Published: Journal of AI Research, 2024-03-15
465
+ DOI: 10.1234/jair.2024.001
466
+
467
+ References:
468
+ 1. "Attention Is All You Need" by Vaswani et al., 2017, NeurIPS
469
+ 2. "BERT: Pre-training of Deep Bidirectional Transformers" by Devlin et al., 2019, NAACL
470
+ """
471
+
472
+ metadata = generator(f"Extract document metadata:\n{paper}\n\nMetadata:")
473
+
474
+ print(f"Title: {metadata.title}")
475
+ print(f"Authors: {', '.join(a.name for a in metadata.authors)}")
476
+ print(f"Keywords: {', '.join(metadata.keywords)}")
477
+ print(f"References: {len(metadata.references)}")
478
+ ```
479
+
480
+ ## Code Generation
481
+
482
+ ### Python Function Generation
483
+
484
+ ```python
485
+ class Parameter(BaseModel):
486
+ name: str = Field(pattern=r"^[a-z_][a-z0-9_]*$")
487
+ type_hint: str
488
+ default: Optional[str] = None
489
+
490
+ class PythonFunction(BaseModel):
491
+ function_name: str = Field(pattern=r"^[a-z_][a-z0-9_]*$")
492
+ parameters: list[Parameter]
493
+ return_type: str
494
+ docstring: str
495
+ body: list[str] # Lines of code
496
+
497
+ model = outlines.models.transformers("microsoft/Phi-3-mini-4k-instruct")
498
+ generator = outlines.generate.json(model, PythonFunction)
499
+
500
+ spec = "Create a function to calculate the factorial of a number"
501
+
502
+ func = generator(f"Generate Python function:\n{spec}\n\nFunction:")
503
+
504
+ print(f"def {func.function_name}(", end="")
505
+ print(", ".join(f"{p.name}: {p.type_hint}" for p in func.parameters), end="")
506
+ print(f") -> {func.return_type}:")
507
+ print(f' """{func.docstring}"""')
508
+ for line in func.body:
509
+ print(f" {line}")
510
+ ```
511
+
512
+ ### SQL Query Generation
513
+
514
+ ```python
515
+ class SQLQuery(BaseModel):
516
+ query_type: Literal["SELECT", "INSERT", "UPDATE", "DELETE"]
517
+ select_columns: Optional[list[str]] = None
518
+ from_tables: list[str]
519
+ joins: Optional[list[str]] = None
520
+ where_conditions: Optional[list[str]] = None
521
+ group_by: Optional[list[str]] = None
522
+ order_by: Optional[list[str]] = None
523
+ limit: Optional[int] = None
524
+
525
+ generator = outlines.generate.json(model, SQLQuery)
526
+
527
+ request = "Get top 10 users who made purchases in the last 30 days, ordered by total spent"
528
+
529
+ sql = generator(f"Generate SQL query:\n{request}\n\nQuery:")
530
+
531
+ print(f"Query type: {sql.query_type}")
532
+ print(f"SELECT {', '.join(sql.select_columns)}")
533
+ print(f"FROM {', '.join(sql.from_tables)}")
534
+ if sql.joins:
535
+ for join in sql.joins:
536
+ print(f" {join}")
537
+ if sql.where_conditions:
538
+ print(f"WHERE {' AND '.join(sql.where_conditions)}")
539
+ if sql.order_by:
540
+ print(f"ORDER BY {', '.join(sql.order_by)}")
541
+ if sql.limit:
542
+ print(f"LIMIT {sql.limit}")
543
+ ```
544
+
545
+ ### API Endpoint Spec
546
+
547
+ ```python
548
+ class Parameter(BaseModel):
549
+ name: str
550
+ type: str
551
+ required: bool
552
+ description: str
553
+
554
+ class APIEndpoint(BaseModel):
555
+ method: Literal["GET", "POST", "PUT", "DELETE", "PATCH"]
556
+ path: str
557
+ description: str
558
+ parameters: list[Parameter]
559
+ request_body: Optional[dict] = None
560
+ response_schema: dict
561
+ status_codes: dict[int, str]
562
+
563
+ generator = outlines.generate.json(model, APIEndpoint)
564
+
565
+ spec = "Create user endpoint"
566
+
567
+ endpoint = generator(f"Generate API endpoint:\n{spec}\n\nEndpoint:")
568
+
569
+ print(f"{endpoint.method} {endpoint.path}")
570
+ print(f"Description: {endpoint.description}")
571
+ print("\nParameters:")
572
+ for param in endpoint.parameters:
573
+ req = "required" if param.required else "optional"
574
+ print(f" - {param.name} ({param.type}, {req}): {param.description}")
575
+ ```
576
+
577
+ ## Batch Processing
578
+
579
+ ### Parallel Extraction
580
+
581
+ ```python
582
+ def batch_extract(texts: list[str], schema: type[BaseModel], model_name: str):
583
+ """Extract structured data from multiple texts."""
584
+ model = outlines.models.transformers(model_name)
585
+ generator = outlines.generate.json(model, schema)
586
+
587
+ results = []
588
+ for i, text in enumerate(texts):
589
+ print(f"Processing {i+1}/{len(texts)}...", end="\r")
590
+ result = generator(f"Extract:\n{text}\n\nData:")
591
+ results.append(result)
592
+
593
+ return results
594
+
595
+ class Product(BaseModel):
596
+ name: str
597
+ price: float
598
+ category: str
599
+
600
+ texts = [
601
+ "iPhone 15 Pro costs $999 in Electronics",
602
+ "Running Shoes are $89.99 in Sports",
603
+ "Coffee Maker priced at $49.99 in Home & Kitchen"
604
+ ]
605
+
606
+ products = batch_extract(texts, Product, "microsoft/Phi-3-mini-4k-instruct")
607
+
608
+ for product in products:
609
+ print(f"{product.name}: ${product.price} ({product.category})")
610
+ ```
611
+
612
+ ### CSV Processing
613
+
614
+ ```python
615
+ import csv
616
+
617
+ def process_csv(csv_file: str, schema: type[BaseModel]):
618
+ """Process CSV file and extract structured data."""
619
+ model = outlines.models.transformers("microsoft/Phi-3-mini-4k-instruct")
620
+ generator = outlines.generate.json(model, schema)
621
+
622
+ results = []
623
+ with open(csv_file, 'r') as f:
624
+ reader = csv.DictReader(f)
625
+ for row in reader:
626
+ text = " | ".join(f"{k}: {v}" for k, v in row.items())
627
+ result = generator(f"Extract:\n{text}\n\nData:")
628
+ results.append(result)
629
+
630
+ return results
631
+
632
+ class Customer(BaseModel):
633
+ name: str
634
+ email: str
635
+ tier: Literal["basic", "premium", "enterprise"]
636
+ mrr: float
637
+
638
+ # customers = process_csv("customers.csv", Customer)
639
+ ```
640
+
641
+ ## Production Patterns
642
+
643
+ ### Error Handling
644
+
645
+ ```python
646
+ from pydantic import ValidationError
647
+
648
+ def safe_extract(text: str, schema: type[BaseModel], retries: int = 3):
649
+ """Extract with error handling and retries."""
650
+ model = outlines.models.transformers("microsoft/Phi-3-mini-4k-instruct")
651
+ generator = outlines.generate.json(model, schema)
652
+
653
+ for attempt in range(retries):
654
+ try:
655
+ result = generator(f"Extract:\n{text}\n\nData:")
656
+ return result
657
+ except ValidationError as e:
658
+ print(f"Attempt {attempt + 1} failed: {e}")
659
+ if attempt == retries - 1:
660
+ raise
661
+ except Exception as e:
662
+ print(f"Unexpected error: {e}")
663
+ if attempt == retries - 1:
664
+ raise
665
+
666
+ return None
667
+ ```
668
+
669
+ ### Caching
670
+
671
+ ```python
672
+ from functools import lru_cache
673
+ import hashlib
674
+
675
+ @lru_cache(maxsize=1000)
676
+ def cached_extract(text_hash: str, schema_name: str):
677
+ """Cache extraction results."""
678
+ # This would be called with actual extraction logic
679
+ pass
680
+
681
+ def extract_with_cache(text: str, schema: type[BaseModel]):
682
+ """Extract with caching."""
683
+ text_hash = hashlib.md5(text.encode()).hexdigest()
684
+ schema_name = schema.__name__
685
+
686
+ cached_result = cached_extract(text_hash, schema_name)
687
+ if cached_result:
688
+ return cached_result
689
+
690
+ # Perform actual extraction
691
+ model = outlines.models.transformers("microsoft/Phi-3-mini-4k-instruct")
692
+ generator = outlines.generate.json(model, schema)
693
+ result = generator(f"Extract:\n{text}\n\nData:")
694
+
695
+ return result
696
+ ```
697
+
698
+ ### Monitoring
699
+
700
+ ```python
701
+ import time
702
+ import logging
703
+
704
+ logging.basicConfig(level=logging.INFO)
705
+ logger = logging.getLogger(__name__)
706
+
707
+ def monitored_extract(text: str, schema: type[BaseModel]):
708
+ """Extract with monitoring and logging."""
709
+ start_time = time.time()
710
+
711
+ try:
712
+ model = outlines.models.transformers("microsoft/Phi-3-mini-4k-instruct")
713
+ generator = outlines.generate.json(model, schema)
714
+
715
+ result = generator(f"Extract:\n{text}\n\nData:")
716
+
717
+ elapsed = time.time() - start_time
718
+ logger.info(f"Extraction succeeded in {elapsed:.2f}s")
719
+ logger.info(f"Input length: {len(text)} chars")
720
+
721
+ return result
722
+
723
+ except Exception as e:
724
+ elapsed = time.time() - start_time
725
+ logger.error(f"Extraction failed after {elapsed:.2f}s: {e}")
726
+ raise
727
+ ```
728
+
729
+ ### Rate Limiting
730
+
731
+ ```python
732
+ import time
733
+ from threading import Lock
734
+
735
+ class RateLimiter:
736
+ def __init__(self, max_requests: int, time_window: int):
737
+ self.max_requests = max_requests
738
+ self.time_window = time_window
739
+ self.requests = []
740
+ self.lock = Lock()
741
+
742
+ def wait_if_needed(self):
743
+ with self.lock:
744
+ now = time.time()
745
+ # Remove old requests
746
+ self.requests = [r for r in self.requests if now - r < self.time_window]
747
+
748
+ if len(self.requests) >= self.max_requests:
749
+ sleep_time = self.time_window - (now - self.requests[0])
750
+ time.sleep(sleep_time)
751
+ self.requests = []
752
+
753
+ self.requests.append(now)
754
+
755
+ def rate_limited_extract(texts: list[str], schema: type[BaseModel]):
756
+ """Extract with rate limiting."""
757
+ limiter = RateLimiter(max_requests=10, time_window=60) # 10 req/min
758
+ model = outlines.models.transformers("microsoft/Phi-3-mini-4k-instruct")
759
+ generator = outlines.generate.json(model, schema)
760
+
761
+ results = []
762
+ for text in texts:
763
+ limiter.wait_if_needed()
764
+ result = generator(f"Extract:\n{text}\n\nData:")
765
+ results.append(result)
766
+
767
+ return results
768
+ ```
769
+
770
+ ## Resources
771
+
772
+ - **Outlines Documentation**: https://outlines-dev.github.io/outlines
773
+ - **Pydantic Documentation**: https://docs.pydantic.dev
774
+ - **GitHub Examples**: https://github.com/outlines-dev/outlines/tree/main/examples