@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,681 @@
1
+ <!-- vendored from orchestra-research/AI-research-SKILLs@773a52944ba4747a18bd4ae9ade53fff041adcbc 18-multimodal/blip-2/references/advanced-usage.md; MIT (c) Orchestra Research -->
2
+ # BLIP-2 Advanced Usage Guide
3
+
4
+ ## Fine-tuning BLIP-2
5
+
6
+ ### LoRA fine-tuning (recommended)
7
+
8
+ ```python
9
+ import torch
10
+ from transformers import Blip2ForConditionalGeneration, Blip2Processor
11
+ from peft import LoraConfig, get_peft_model
12
+
13
+ # Load base model
14
+ model = Blip2ForConditionalGeneration.from_pretrained(
15
+ "Salesforce/blip2-opt-2.7b",
16
+ torch_dtype=torch.float16,
17
+ device_map="auto"
18
+ )
19
+
20
+ # Configure LoRA for the language model
21
+ lora_config = LoraConfig(
22
+ r=16,
23
+ lora_alpha=32,
24
+ target_modules=["q_proj", "v_proj", "k_proj", "out_proj"],
25
+ lora_dropout=0.05,
26
+ bias="none",
27
+ task_type="CAUSAL_LM"
28
+ )
29
+
30
+ # Apply LoRA
31
+ model = get_peft_model(model, lora_config)
32
+ model.print_trainable_parameters()
33
+ # trainable params: ~4M, all params: ~3.8B (0.1%)
34
+ ```
35
+
36
+ ### Fine-tuning Q-Former only
37
+
38
+ ```python
39
+ # Freeze everything except Q-Former
40
+ for name, param in model.named_parameters():
41
+ if "qformer" not in name.lower():
42
+ param.requires_grad = False
43
+ else:
44
+ param.requires_grad = True
45
+
46
+ # Check trainable parameters
47
+ trainable = sum(p.numel() for p in model.parameters() if p.requires_grad)
48
+ total = sum(p.numel() for p in model.parameters())
49
+ print(f"Trainable: {trainable:,} / {total:,} ({100*trainable/total:.2f}%)")
50
+ ```
51
+
52
+ ### Custom dataset for fine-tuning
53
+
54
+ ```python
55
+ import torch
56
+ from torch.utils.data import Dataset, DataLoader
57
+ from PIL import Image
58
+
59
+ class CaptionDataset(Dataset):
60
+ def __init__(self, data, processor, max_length=128):
61
+ self.data = data # List of {"image_path": str, "caption": str}
62
+ self.processor = processor
63
+ self.max_length = max_length
64
+
65
+ def __len__(self):
66
+ return len(self.data)
67
+
68
+ def __getitem__(self, idx):
69
+ item = self.data[idx]
70
+ image = Image.open(item["image_path"]).convert("RGB")
71
+
72
+ # Process inputs
73
+ encoding = self.processor(
74
+ images=image,
75
+ text=item["caption"],
76
+ padding="max_length",
77
+ truncation=True,
78
+ max_length=self.max_length,
79
+ return_tensors="pt"
80
+ )
81
+
82
+ # Remove batch dimension
83
+ encoding = {k: v.squeeze(0) for k, v in encoding.items()}
84
+
85
+ # Labels for language modeling
86
+ encoding["labels"] = encoding["input_ids"].clone()
87
+
88
+ return encoding
89
+
90
+ # Create dataloader
91
+ dataset = CaptionDataset(train_data, processor)
92
+ dataloader = DataLoader(dataset, batch_size=8, shuffle=True)
93
+ ```
94
+
95
+ ### Training loop
96
+
97
+ ```python
98
+ from transformers import AdamW, get_linear_schedule_with_warmup
99
+ from tqdm import tqdm
100
+
101
+ # Optimizer
102
+ optimizer = AdamW(model.parameters(), lr=1e-5, weight_decay=0.01)
103
+
104
+ # Scheduler
105
+ num_epochs = 3
106
+ num_training_steps = len(dataloader) * num_epochs
107
+ scheduler = get_linear_schedule_with_warmup(
108
+ optimizer,
109
+ num_warmup_steps=num_training_steps // 10,
110
+ num_training_steps=num_training_steps
111
+ )
112
+
113
+ # Training
114
+ model.train()
115
+ for epoch in range(num_epochs):
116
+ total_loss = 0
117
+
118
+ for batch in tqdm(dataloader, desc=f"Epoch {epoch+1}"):
119
+ batch = {k: v.to("cuda") for k, v in batch.items()}
120
+
121
+ outputs = model(**batch)
122
+ loss = outputs.loss
123
+
124
+ loss.backward()
125
+ torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)
126
+
127
+ optimizer.step()
128
+ scheduler.step()
129
+ optimizer.zero_grad()
130
+
131
+ total_loss += loss.item()
132
+
133
+ avg_loss = total_loss / len(dataloader)
134
+ print(f"Epoch {epoch+1} - Loss: {avg_loss:.4f}")
135
+
136
+ # Save fine-tuned model
137
+ model.save_pretrained("blip2-finetuned")
138
+ processor.save_pretrained("blip2-finetuned")
139
+ ```
140
+
141
+ ### Fine-tuning with LAVIS
142
+
143
+ ```python
144
+ from lavis.models import load_model_and_preprocess
145
+ from lavis.common.registry import registry
146
+ from lavis.datasets.builders import load_dataset
147
+
148
+ # Load model
149
+ model, vis_processors, txt_processors = load_model_and_preprocess(
150
+ name="blip2_opt",
151
+ model_type="pretrain_opt2.7b",
152
+ is_eval=False, # Training mode
153
+ device="cuda"
154
+ )
155
+
156
+ # Load dataset
157
+ dataset = load_dataset("coco_caption")
158
+
159
+ # Get trainer class
160
+ runner_cls = registry.get_runner_class("runner_base")
161
+ runner = runner_cls(
162
+ cfg=cfg,
163
+ task=task,
164
+ model=model,
165
+ datasets=datasets
166
+ )
167
+
168
+ # Train
169
+ runner.train()
170
+ ```
171
+
172
+ ## Multi-GPU Training
173
+
174
+ ### DataParallel
175
+
176
+ ```python
177
+ import torch.nn as nn
178
+
179
+ model = Blip2ForConditionalGeneration.from_pretrained(
180
+ "Salesforce/blip2-opt-2.7b",
181
+ torch_dtype=torch.float16
182
+ )
183
+
184
+ # Wrap with DataParallel
185
+ if torch.cuda.device_count() > 1:
186
+ model = nn.DataParallel(model)
187
+
188
+ model.to("cuda")
189
+ ```
190
+
191
+ ### DistributedDataParallel
192
+
193
+ ```python
194
+ import torch.distributed as dist
195
+ from torch.nn.parallel import DistributedDataParallel as DDP
196
+ from torch.utils.data.distributed import DistributedSampler
197
+
198
+ def setup(rank, world_size):
199
+ dist.init_process_group("nccl", rank=rank, world_size=world_size)
200
+ torch.cuda.set_device(rank)
201
+
202
+ def train(rank, world_size):
203
+ setup(rank, world_size)
204
+
205
+ model = Blip2ForConditionalGeneration.from_pretrained(
206
+ "Salesforce/blip2-opt-2.7b",
207
+ torch_dtype=torch.float16
208
+ ).to(rank)
209
+
210
+ model = DDP(model, device_ids=[rank])
211
+
212
+ # Use DistributedSampler
213
+ sampler = DistributedSampler(dataset, num_replicas=world_size, rank=rank)
214
+ dataloader = DataLoader(dataset, sampler=sampler, batch_size=4)
215
+
216
+ # Training loop
217
+ for epoch in range(num_epochs):
218
+ sampler.set_epoch(epoch)
219
+ for batch in dataloader:
220
+ # ... training code
221
+ pass
222
+
223
+ dist.destroy_process_group()
224
+
225
+ # Launch
226
+ import torch.multiprocessing as mp
227
+ world_size = torch.cuda.device_count()
228
+ mp.spawn(train, args=(world_size,), nprocs=world_size)
229
+ ```
230
+
231
+ ### Accelerate integration
232
+
233
+ ```python
234
+ from accelerate import Accelerator
235
+ from transformers import Blip2ForConditionalGeneration, Blip2Processor
236
+
237
+ accelerator = Accelerator(mixed_precision="fp16")
238
+
239
+ model = Blip2ForConditionalGeneration.from_pretrained("Salesforce/blip2-opt-2.7b")
240
+ optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)
241
+
242
+ # Prepare for distributed training
243
+ model, optimizer, dataloader = accelerator.prepare(
244
+ model, optimizer, dataloader
245
+ )
246
+
247
+ # Training loop
248
+ for batch in dataloader:
249
+ outputs = model(**batch)
250
+ loss = outputs.loss
251
+
252
+ accelerator.backward(loss)
253
+ optimizer.step()
254
+ optimizer.zero_grad()
255
+ ```
256
+
257
+ ## Integration Patterns
258
+
259
+ ### Gradio interface
260
+
261
+ ```python
262
+ import gradio as gr
263
+ import torch
264
+ from PIL import Image
265
+ from transformers import Blip2Processor, Blip2ForConditionalGeneration
266
+
267
+ # Load model
268
+ processor = Blip2Processor.from_pretrained("Salesforce/blip2-opt-2.7b")
269
+ model = Blip2ForConditionalGeneration.from_pretrained(
270
+ "Salesforce/blip2-opt-2.7b",
271
+ torch_dtype=torch.float16,
272
+ device_map="auto"
273
+ )
274
+
275
+ def caption_image(image, question=None):
276
+ if question:
277
+ inputs = processor(images=image, text=question, return_tensors="pt")
278
+ else:
279
+ inputs = processor(images=image, return_tensors="pt")
280
+
281
+ inputs = inputs.to("cuda", torch.float16)
282
+
283
+ generated_ids = model.generate(**inputs, max_new_tokens=100)
284
+ return processor.decode(generated_ids[0], skip_special_tokens=True)
285
+
286
+ # Create interface
287
+ demo = gr.Interface(
288
+ fn=caption_image,
289
+ inputs=[
290
+ gr.Image(type="pil", label="Upload Image"),
291
+ gr.Textbox(label="Question (optional)", placeholder="What is in this image?")
292
+ ],
293
+ outputs=gr.Textbox(label="Response"),
294
+ title="BLIP-2 Demo",
295
+ examples=[
296
+ ["example1.jpg", None],
297
+ ["example2.jpg", "What colors are in this image?"]
298
+ ]
299
+ )
300
+
301
+ demo.launch()
302
+ ```
303
+
304
+ ### FastAPI server
305
+
306
+ ```python
307
+ from fastapi import FastAPI, UploadFile, File
308
+ from PIL import Image
309
+ import torch
310
+ from transformers import Blip2Processor, Blip2ForConditionalGeneration
311
+ import io
312
+
313
+ app = FastAPI()
314
+
315
+ # Load model at startup
316
+ processor = None
317
+ model = None
318
+
319
+ @app.on_event("startup")
320
+ async def load_model():
321
+ global processor, model
322
+ processor = Blip2Processor.from_pretrained("Salesforce/blip2-opt-2.7b")
323
+ model = Blip2ForConditionalGeneration.from_pretrained(
324
+ "Salesforce/blip2-opt-2.7b",
325
+ torch_dtype=torch.float16,
326
+ device_map="auto"
327
+ )
328
+
329
+ @app.post("/caption")
330
+ async def caption(file: UploadFile = File(...), question: str = None):
331
+ # Read image
332
+ contents = await file.read()
333
+ image = Image.open(io.BytesIO(contents)).convert("RGB")
334
+
335
+ # Process
336
+ if question:
337
+ inputs = processor(images=image, text=question, return_tensors="pt")
338
+ else:
339
+ inputs = processor(images=image, return_tensors="pt")
340
+
341
+ inputs = inputs.to("cuda", torch.float16)
342
+
343
+ # Generate
344
+ generated_ids = model.generate(**inputs, max_new_tokens=100)
345
+ caption = processor.decode(generated_ids[0], skip_special_tokens=True)
346
+
347
+ return {"caption": caption}
348
+
349
+ @app.post("/batch_caption")
350
+ async def batch_caption(files: list[UploadFile] = File(...)):
351
+ images = []
352
+ for file in files:
353
+ contents = await file.read()
354
+ images.append(Image.open(io.BytesIO(contents)).convert("RGB"))
355
+
356
+ inputs = processor(images=images, return_tensors="pt", padding=True)
357
+ inputs = inputs.to("cuda", torch.float16)
358
+
359
+ generated_ids = model.generate(**inputs, max_new_tokens=100)
360
+ captions = processor.batch_decode(generated_ids, skip_special_tokens=True)
361
+
362
+ return {"captions": captions}
363
+
364
+ # Run: uvicorn server:app --host 0.0.0.0 --port 8000
365
+ ```
366
+
367
+ ### LangChain integration
368
+
369
+ ```python
370
+ from langchain.tools import BaseTool
371
+ from langchain.agents import initialize_agent, AgentType
372
+ from langchain.llms import OpenAI
373
+ import torch
374
+ from PIL import Image
375
+ from transformers import Blip2Processor, Blip2ForConditionalGeneration
376
+
377
+ class ImageCaptionTool(BaseTool):
378
+ name = "image_caption"
379
+ description = "Generate a caption for an image. Input should be an image file path."
380
+
381
+ def __init__(self):
382
+ super().__init__()
383
+ self.processor = Blip2Processor.from_pretrained("Salesforce/blip2-opt-2.7b")
384
+ self.model = Blip2ForConditionalGeneration.from_pretrained(
385
+ "Salesforce/blip2-opt-2.7b",
386
+ torch_dtype=torch.float16,
387
+ device_map="auto"
388
+ )
389
+
390
+ def _run(self, image_path: str) -> str:
391
+ image = Image.open(image_path).convert("RGB")
392
+ inputs = self.processor(images=image, return_tensors="pt").to("cuda", torch.float16)
393
+ generated_ids = self.model.generate(**inputs, max_new_tokens=50)
394
+ return self.processor.decode(generated_ids[0], skip_special_tokens=True)
395
+
396
+ class VisualQATool(BaseTool):
397
+ name = "visual_qa"
398
+ description = "Answer questions about an image. Input format: 'image_path|question'"
399
+
400
+ def __init__(self, processor, model):
401
+ super().__init__()
402
+ self.processor = processor
403
+ self.model = model
404
+
405
+ def _run(self, query: str) -> str:
406
+ image_path, question = query.split("|")
407
+ image = Image.open(image_path.strip()).convert("RGB")
408
+ inputs = self.processor(images=image, text=question.strip(), return_tensors="pt")
409
+ inputs = inputs.to("cuda", torch.float16)
410
+ generated_ids = self.model.generate(**inputs, max_new_tokens=50)
411
+ return self.processor.decode(generated_ids[0], skip_special_tokens=True)
412
+
413
+ # Use with agent
414
+ tools = [ImageCaptionTool(), VisualQATool(processor, model)]
415
+ agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION)
416
+ ```
417
+
418
+ ## ONNX Export and Deployment
419
+
420
+ ### Export to ONNX
421
+
422
+ ```python
423
+ import torch
424
+ from transformers import Blip2ForConditionalGeneration, Blip2Processor
425
+
426
+ model = Blip2ForConditionalGeneration.from_pretrained("Salesforce/blip2-opt-2.7b")
427
+ processor = Blip2Processor.from_pretrained("Salesforce/blip2-opt-2.7b")
428
+
429
+ # Example inputs
430
+ image = Image.open("example.jpg").convert("RGB")
431
+ inputs = processor(images=image, return_tensors="pt")
432
+
433
+ # Export vision encoder
434
+ torch.onnx.export(
435
+ model.vision_model,
436
+ inputs["pixel_values"],
437
+ "blip2_vision.onnx",
438
+ input_names=["pixel_values"],
439
+ output_names=["image_embeds"],
440
+ dynamic_axes={
441
+ "pixel_values": {0: "batch_size"},
442
+ "image_embeds": {0: "batch_size"}
443
+ },
444
+ opset_version=14
445
+ )
446
+ ```
447
+
448
+ ### TensorRT optimization
449
+
450
+ ```python
451
+ import tensorrt as trt
452
+ import pycuda.driver as cuda
453
+
454
+ def build_engine(onnx_path, engine_path):
455
+ logger = trt.Logger(trt.Logger.WARNING)
456
+ builder = trt.Builder(logger)
457
+ network = builder.create_network(1 << int(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH))
458
+ parser = trt.OnnxParser(network, logger)
459
+
460
+ with open(onnx_path, 'rb') as f:
461
+ parser.parse(f.read())
462
+
463
+ config = builder.create_builder_config()
464
+ config.set_flag(trt.BuilderFlag.FP16) # Enable FP16
465
+ config.max_workspace_size = 1 << 30 # 1GB
466
+
467
+ engine = builder.build_serialized_network(network, config)
468
+
469
+ with open(engine_path, 'wb') as f:
470
+ f.write(engine)
471
+
472
+ build_engine("blip2_vision.onnx", "blip2_vision.trt")
473
+ ```
474
+
475
+ ## Specialized Use Cases
476
+
477
+ ### Video captioning (frame-by-frame)
478
+
479
+ ```python
480
+ import cv2
481
+ import torch
482
+ from PIL import Image
483
+
484
+ def caption_video(video_path, sample_rate=30):
485
+ """Caption video by sampling frames."""
486
+ cap = cv2.VideoCapture(video_path)
487
+ fps = cap.get(cv2.CAP_PROP_FPS)
488
+ frame_interval = int(fps * sample_rate / 30) # Sample every N frames
489
+
490
+ captions = []
491
+ frame_count = 0
492
+
493
+ while cap.isOpened():
494
+ ret, frame = cap.read()
495
+ if not ret:
496
+ break
497
+
498
+ if frame_count % frame_interval == 0:
499
+ # Convert BGR to RGB
500
+ rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
501
+ image = Image.fromarray(rgb_frame)
502
+
503
+ # Caption
504
+ inputs = processor(images=image, return_tensors="pt").to("cuda", torch.float16)
505
+ generated_ids = model.generate(**inputs, max_new_tokens=50)
506
+ caption = processor.decode(generated_ids[0], skip_special_tokens=True)
507
+
508
+ timestamp = frame_count / fps
509
+ captions.append({"timestamp": timestamp, "caption": caption})
510
+
511
+ frame_count += 1
512
+
513
+ cap.release()
514
+ return captions
515
+
516
+ # Usage
517
+ captions = caption_video("video.mp4", sample_rate=1) # 1 frame per second
518
+ for c in captions:
519
+ print(f"[{c['timestamp']:.1f}s] {c['caption']}")
520
+ ```
521
+
522
+ ### Document understanding
523
+
524
+ ```python
525
+ def analyze_document(image_path):
526
+ """Extract information from document image."""
527
+ image = Image.open(image_path).convert("RGB")
528
+
529
+ questions = [
530
+ "What type of document is this?",
531
+ "What is the title of this document?",
532
+ "What are the main sections?",
533
+ "Summarize the key information."
534
+ ]
535
+
536
+ results = {}
537
+ for q in questions:
538
+ inputs = processor(images=image, text=q, return_tensors="pt").to("cuda", torch.float16)
539
+ generated_ids = model.generate(**inputs, max_new_tokens=100)
540
+ answer = processor.decode(generated_ids[0], skip_special_tokens=True)
541
+ results[q] = answer
542
+
543
+ return results
544
+
545
+ # Usage
546
+ doc_info = analyze_document("invoice.png")
547
+ for q, a in doc_info.items():
548
+ print(f"Q: {q}\nA: {a}\n")
549
+ ```
550
+
551
+ ### Medical image analysis
552
+
553
+ ```python
554
+ def analyze_medical_image(image_path, modality="xray"):
555
+ """Analyze medical images with specific prompts."""
556
+ image = Image.open(image_path).convert("RGB")
557
+
558
+ prompts = {
559
+ "xray": [
560
+ "Describe any abnormalities visible in this chest X-ray.",
561
+ "What anatomical structures are visible?",
562
+ "Is there any evidence of pathology?"
563
+ ],
564
+ "ct": [
565
+ "Describe the CT scan findings.",
566
+ "What organs are visible in this slice?",
567
+ "Are there any masses or lesions?"
568
+ ],
569
+ "mri": [
570
+ "Describe the MRI findings.",
571
+ "What tissues show abnormal signal intensity?",
572
+ "What is the most likely diagnosis?"
573
+ ]
574
+ }
575
+
576
+ results = []
577
+ for prompt in prompts.get(modality, prompts["xray"]):
578
+ inputs = processor(images=image, text=prompt, return_tensors="pt").to("cuda", torch.float16)
579
+ generated_ids = model.generate(**inputs, max_new_tokens=150)
580
+ answer = processor.decode(generated_ids[0], skip_special_tokens=True)
581
+ results.append({"question": prompt, "answer": answer})
582
+
583
+ return results
584
+
585
+ # Note: BLIP-2 is not trained on medical data - use specialized models for clinical use
586
+ ```
587
+
588
+ ## Evaluation
589
+
590
+ ### Caption evaluation metrics
591
+
592
+ ```python
593
+ from pycocoevalcap.bleu.bleu import Bleu
594
+ from pycocoevalcap.meteor.meteor import Meteor
595
+ from pycocoevalcap.rouge.rouge import Rouge
596
+ from pycocoevalcap.cider.cider import Cider
597
+
598
+ def evaluate_captions(predictions, references):
599
+ """
600
+ Evaluate generated captions against references.
601
+
602
+ Args:
603
+ predictions: dict {image_id: [caption]}
604
+ references: dict {image_id: [ref1, ref2, ...]}
605
+ """
606
+ scorers = [
607
+ (Bleu(4), ["Bleu_1", "Bleu_2", "Bleu_3", "Bleu_4"]),
608
+ (Meteor(), "METEOR"),
609
+ (Rouge(), "ROUGE_L"),
610
+ (Cider(), "CIDEr"),
611
+ ]
612
+
613
+ results = {}
614
+ for scorer, method in scorers:
615
+ score, _ = scorer.compute_score(references, predictions)
616
+ if isinstance(method, list):
617
+ for sc, m in zip(score, method):
618
+ results[m] = sc
619
+ else:
620
+ results[method] = score
621
+
622
+ return results
623
+
624
+ # Usage
625
+ preds = {0: ["a cat sitting on a mat"], 1: ["a dog running in the park"]}
626
+ refs = {0: ["a cat on a mat", "cat sitting"], 1: ["dog in park", "running dog"]}
627
+ scores = evaluate_captions(preds, refs)
628
+ print(scores)
629
+ ```
630
+
631
+ ### VQA evaluation
632
+
633
+ ```python
634
+ def vqa_accuracy(predictions, ground_truths):
635
+ """
636
+ VQA accuracy metric (soft accuracy from VQA challenge).
637
+
638
+ Args:
639
+ predictions: list of predicted answers
640
+ ground_truths: list of lists (multiple annotator answers)
641
+ """
642
+ def compute_accuracy(pred, gts):
643
+ pred = pred.lower().strip()
644
+ gts = [gt.lower().strip() for gt in gts]
645
+
646
+ # Count matches
647
+ matches = sum(1 for gt in gts if pred == gt)
648
+ return min(matches / 3, 1.0) # Cap at 1.0
649
+
650
+ accuracies = []
651
+ for pred, gts in zip(predictions, ground_truths):
652
+ accuracies.append(compute_accuracy(pred, gts))
653
+
654
+ return sum(accuracies) / len(accuracies)
655
+
656
+ # Usage
657
+ preds = ["yes", "a dog", "blue"]
658
+ gts = [["yes", "yes", "no"], ["dog", "a dog", "puppy"], ["blue", "light blue", "azure"]]
659
+ acc = vqa_accuracy(preds, gts)
660
+ print(f"VQA Accuracy: {acc:.2%}")
661
+ ```
662
+
663
+ ## Model Comparison
664
+
665
+ ### BLIP-2 variants benchmark
666
+
667
+ | Model | COCO Caption (CIDEr) | VQAv2 (Acc) | GQA (Acc) | VRAM |
668
+ |-------|---------------------|-------------|-----------|------|
669
+ | blip2-opt-2.7b | 129.7 | 52.6 | 41.3 | 8GB |
670
+ | blip2-opt-6.7b | 133.4 | 54.2 | 42.8 | 16GB |
671
+ | blip2-flan-t5-xl | 138.1 | 62.9 | 44.1 | 10GB |
672
+ | blip2-flan-t5-xxl | 145.8 | 65.0 | 45.9 | 26GB |
673
+
674
+ ### Comparison with other models
675
+
676
+ | Model | Architecture | Zero-shot VQA | Training Cost |
677
+ |-------|-------------|---------------|---------------|
678
+ | BLIP-2 | Q-Former + LLM | Excellent | Low (Q-Former only) |
679
+ | LLaVA | Linear + LLM | Good | Medium |
680
+ | Flamingo | Perceiver + LLM | Excellent | High |
681
+ | InstructBLIP | Q-Former + LLM | Best | Low |