DeepFabric 4.4.0__tar.gz → 4.5.1__tar.gz

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 (213) hide show
  1. {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/tools-sdk-docker.yml +3 -3
  2. {deepfabric-4.4.0 → deepfabric-4.5.1}/.gitignore +1 -0
  3. {deepfabric-4.4.0 → deepfabric-4.5.1}/CLAUDE.md +2 -1
  4. {deepfabric-4.4.0 → deepfabric-4.5.1}/PKG-INFO +6 -3
  5. {deepfabric-4.4.0 → deepfabric-4.5.1}/README.md +5 -2
  6. deepfabric-4.5.1/assets/df-demo.gif +0 -0
  7. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/builders_agent.py +16 -4
  8. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/cli.py +3 -3
  9. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/backends/__init__.py +2 -0
  10. deepfabric-4.5.1/deepfabric/evaluation/backends/llm_eval_backend.py +527 -0
  11. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/backends/ollama_backend.py +3 -3
  12. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/backends/tool_call_parsers.py +7 -7
  13. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/backends/transformers_backend.py +73 -16
  14. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluator.py +41 -7
  15. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/builtin/tool_calling.py +13 -8
  16. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/inference.py +77 -5
  17. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/metrics.py +4 -0
  18. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/cloud_reporter.py +1 -1
  19. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/generator.py +4 -0
  20. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/hf_hub.py +1 -1
  21. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/client.py +16 -2
  22. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/schemas.py +2 -2
  23. deepfabric-4.5.1/deepfabric/training/__init__.py +54 -0
  24. deepfabric-4.5.1/deepfabric/training/dataset_utils.py +223 -0
  25. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/index.md +6 -3
  26. deepfabric-4.5.1/docs/cli/upload-hf.md +89 -0
  27. deepfabric-4.5.1/docs/cli/upload-kaggle.md +82 -0
  28. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/evaluation/index.md +20 -1
  29. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/evaluation/running.md +129 -8
  30. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/index.md +41 -23
  31. deepfabric-4.5.1/docs/training/dataset-preparation.md +193 -0
  32. deepfabric-4.5.1/docs/training/frameworks.md +489 -0
  33. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/training/index.md +15 -6
  34. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/training/loading.md +30 -2
  35. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/agent-tools-multi.yaml +1 -1
  36. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/reasoning.yaml +3 -0
  37. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/blender/spin-blender.yaml +5 -4
  38. {deepfabric-4.4.0 → deepfabric-4.5.1}/mkdocs.yml +2 -1
  39. deepfabric-4.5.1/notebooks/dataset-compatibility-check.ipynb +616 -0
  40. deepfabric-4.5.1/notebooks/evaluations.ipynb +161 -0
  41. {deepfabric-4.4.0 → deepfabric-4.5.1}/pyproject.toml +1 -1
  42. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_cli.py +1 -1
  43. deepfabric-4.5.1/tests/unit/test_llm_eval_backend.py +471 -0
  44. {deepfabric-4.4.0 → deepfabric-4.5.1}/uv.lock +1 -1
  45. deepfabric-4.4.0/assets/df-demo.gif +0 -0
  46. deepfabric-4.4.0/deepfabric/training/__init__.py +0 -35
  47. deepfabric-4.4.0/docs/cli/upload.md +0 -153
  48. deepfabric-4.4.0/docs/training/frameworks.md +0 -155
  49. deepfabric-4.4.0/notebooks/trl_sft_training.ipynb +0 -602
  50. {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/config.yml +0 -0
  51. {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/dependabot.yml +0 -0
  52. {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/docs.yml +0 -0
  53. {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/integration.yml +0 -0
  54. {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/publish.yml +0 -0
  55. {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/test.yml +0 -0
  56. {deepfabric-4.4.0 → deepfabric-4.5.1}/LICENSE +0 -0
  57. {deepfabric-4.4.0 → deepfabric-4.5.1}/Makefile +0 -0
  58. {deepfabric-4.4.0 → deepfabric-4.5.1}/assets/logo-light-hols.png +0 -0
  59. {deepfabric-4.4.0 → deepfabric-4.5.1}/assets/logo-light.png +0 -0
  60. {deepfabric-4.4.0 → deepfabric-4.5.1}/assets/star.gif +0 -0
  61. {deepfabric-4.4.0 → deepfabric-4.5.1}/coverage.xml +0 -0
  62. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/__init__.py +0 -0
  63. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/__main__.py +0 -0
  64. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/auth.py +0 -0
  65. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/builders.py +0 -0
  66. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/config.py +0 -0
  67. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/config_manager.py +0 -0
  68. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/constants.py +0 -0
  69. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/dataset_manager.py +0 -0
  70. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/error_codes.py +0 -0
  71. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/__init__.py +0 -0
  72. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/__init__.py +0 -0
  73. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/base.py +0 -0
  74. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/builtin/__init__.py +0 -0
  75. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/registry.py +0 -0
  76. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/parser.py +0 -0
  77. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/__init__.py +0 -0
  78. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/base.py +0 -0
  79. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/file_reporter.py +0 -0
  80. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/multi_reporter.py +0 -0
  81. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/exceptions.py +0 -0
  82. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/factory.py +0 -0
  83. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/graph.py +0 -0
  84. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/kaggle_hub.py +0 -0
  85. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/__init__.py +0 -0
  86. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/api_key_verifier.py +0 -0
  87. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/errors.py +0 -0
  88. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/rate_limit_config.py +0 -0
  89. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/rate_limit_detector.py +0 -0
  90. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/retry_handler.py +0 -0
  91. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/metrics.py +0 -0
  92. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/progress.py +0 -0
  93. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/prompts.py +0 -0
  94. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/spin/__init__.py +0 -0
  95. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/spin/client.py +0 -0
  96. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/spin/models.py +0 -0
  97. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/stream_simulator.py +0 -0
  98. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tools/__init__.py +0 -0
  99. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tools/defaults.py +0 -0
  100. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tools/loader.py +0 -0
  101. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tools/mcp_client.py +0 -0
  102. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/topic_manager.py +0 -0
  103. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/topic_model.py +0 -0
  104. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/training/api_key_prompt.py +0 -0
  105. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/training/callback.py +0 -0
  106. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/training/metrics_sender.py +0 -0
  107. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tree.py +0 -0
  108. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tui.py +0 -0
  109. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/update_checker.py +0 -0
  110. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/utils.py +0 -0
  111. {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/validation.py +0 -0
  112. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/config.md +0 -0
  113. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/generator.md +0 -0
  114. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/graph.md +0 -0
  115. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/index.md +0 -0
  116. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/tree.md +0 -0
  117. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/format.md +0 -0
  118. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/generate.md +0 -0
  119. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/import-tools.md +0 -0
  120. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/validate.md +0 -0
  121. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/visualize.md +0 -0
  122. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/agent.md +0 -0
  123. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/basic.md +0 -0
  124. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/configuration.md +0 -0
  125. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/index.md +0 -0
  126. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/rate-limiting.md +0 -0
  127. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/reasoning.md +0 -0
  128. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/evaluation/metrics.md +0 -0
  129. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/getting-started/index.md +0 -0
  130. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/images/logo-light.png +0 -0
  131. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/custom.md +0 -0
  132. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/index.md +0 -0
  133. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/mcp.md +0 -0
  134. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/mock.md +0 -0
  135. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/spin.md +0 -0
  136. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/vfs.md +0 -0
  137. {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/training/chat-templates.md +0 -0
  138. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/agent-tools-single.yaml +0 -0
  139. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-anthropic.yaml +0 -0
  140. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-gemini.yaml +0 -0
  141. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-graph.yaml +0 -0
  142. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-ollama.yaml +0 -0
  143. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-openai.yaml +0 -0
  144. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-openrouter.yaml +0 -0
  145. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-tree.yaml +0 -0
  146. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/coding-agent.yaml +0 -0
  147. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/complete.yaml +0 -0
  148. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/custom-tools.yaml +0 -0
  149. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/github-mock-tools.yaml +0 -0
  150. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/spin-vfs-tools.yaml +0 -0
  151. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/blender/blender-mock-data.json +0 -0
  152. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/blender/load-blender-mock-data.sh +0 -0
  153. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/figma/figma-mock-data.json +0 -0
  154. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/figma/load-figma-mock-data.sh +0 -0
  155. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/figma/spin-figma.yaml +0 -0
  156. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/github/github-mock-data.json +0 -0
  157. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/github/load-github-mock-data.sh +0 -0
  158. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/github/spin-github-tools.yaml +0 -0
  159. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/kubernetes/kubernetes-mock-data.json +0 -0
  160. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/kubernetes/load-kubernetes-mock-data.sh +0 -0
  161. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/kubernetes/spin-kubernetes.yaml +0 -0
  162. {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/kubernetes/tools.json +0 -0
  163. {deepfabric-4.4.0 → deepfabric-4.5.1}/misc/test_update_manual.py +0 -0
  164. {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/01-alpaca.txt +0 -0
  165. {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/01-chatml.txt +0 -0
  166. {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/01-grpo.txt +0 -0
  167. {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/01-xlam_v2.txt +0 -0
  168. {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/02-trl2.txt +0 -0
  169. {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/02-xlam_v2.txt +0 -0
  170. {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/04-agent-tool-conversations.jsnl +0 -0
  171. {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/04-single-agent-tools +0 -0
  172. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/__init__.py +0 -0
  173. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/integration/__init__.py +0 -0
  174. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/integration/test_tree_integration.py +0 -0
  175. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/__init__.py +0 -0
  176. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/conftest.py +0 -0
  177. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_api_key_validation.py +0 -0
  178. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_config.py +0 -0
  179. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_error_codes.py +0 -0
  180. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_gemini_schema.py +0 -0
  181. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_generator.py +0 -0
  182. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_hf_hub.py +0 -0
  183. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_kaggle_hub.py +0 -0
  184. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_modular_config.py +0 -0
  185. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_rate_limiting.py +0 -0
  186. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_schemas.py +0 -0
  187. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_tool_call_parsers.py +0 -0
  188. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_topic_graph.py +0 -0
  189. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_training_callback.py +0 -0
  190. {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_update_checker.py +0 -0
  191. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools/extract_messages.py +0 -0
  192. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools/function.py +0 -0
  193. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools/yaml_to_openai_tools.py +0 -0
  194. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/.dockerignore +0 -0
  195. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/Dockerfile +0 -0
  196. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/README.md +0 -0
  197. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/README.md +0 -0
  198. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/app.py +0 -0
  199. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/github.wasm +0 -0
  200. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/pyproject.toml +0 -0
  201. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/requirements.txt +0 -0
  202. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/spin.toml +0 -0
  203. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/uv.lock +0 -0
  204. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/mock/Cargo.lock +0 -0
  205. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/mock/Cargo.toml +0 -0
  206. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/mock/README.md +0 -0
  207. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/mock/src/lib.rs +0 -0
  208. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/vfs/Cargo.lock +0 -0
  209. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/vfs/Cargo.toml +0 -0
  210. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/vfs/src/lib.rs +0 -0
  211. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/docker-compose.yaml +0 -0
  212. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/runtime-config.toml +0 -0
  213. {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/spin.toml +0 -0
@@ -42,7 +42,7 @@ jobs:
42
42
  uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
43
43
 
44
44
  - name: Set up Docker Buildx
45
- uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
45
+ uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
46
46
 
47
47
  - name: Log in to Container Registry
48
48
  if: github.event_name != 'pull_request'
@@ -98,14 +98,14 @@ jobs:
98
98
 
99
99
  steps:
100
100
  - name: Download digests
101
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
101
+ uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
102
102
  with:
103
103
  path: /tmp/digests
104
104
  pattern: digests-*
105
105
  merge-multiple: true
106
106
 
107
107
  - name: Set up Docker Buildx
108
- uses: docker/setup-buildx-action@b5ca514318bd6ebac0fb2aedd5d36ec1b5c232a2 # v3.10.0
108
+ uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3.12.0
109
109
 
110
110
  - name: Log in to Container Registry
111
111
  uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
@@ -133,3 +133,4 @@ formats/*
133
133
  # coverage files
134
134
  .coverage.*
135
135
  tools-sdk/.spin/*
136
+ notebooks/lora-output/*
@@ -97,4 +97,5 @@ deepfabric start config.yaml --model gpt-4 --temperature 0.8 --hf-repo user/data
97
97
  - Bandit for security analysis
98
98
  - Python 3.11+ required
99
99
  - Google-style docstrings preferred
100
- - do not place imports anywhere but the top of the file
100
+ - do not place imports anywhere but the top of the file
101
+ - When updating `docs/` documentation, if new Markdown files are added or removed, consider updating `mkdocs.yml`.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: DeepFabric
3
- Version: 4.4.0
3
+ Version: 4.5.1
4
4
  Summary: Curate High Quality Datasets, Train, Evaluate and Ship
5
5
  Author-email: Luke Hinds <luke@alwaysfurther.ai>
6
6
  License-File: LICENSE
@@ -77,6 +77,9 @@ Description-Content-Type: text/markdown
77
77
  <a href="https://discord.gg/pPcjYzGvbS">
78
78
  <img src="https://img.shields.io/discord/1384081906773131274?color=7289da&label=Discord&logo=discord&logoColor=white" alt="Discord"/>
79
79
  </a>
80
+ <a href="https://www.reddit.com/r/deepfabric/">
81
+ <img src="https://img.shields.io/badge/Reddit-r%2Fdeepfabric-FF4500?logo=reddit&logoColor=white" alt="Reddit"/>
82
+ </a>
80
83
  </p>
81
84
  </div>
82
85
 
@@ -86,7 +89,7 @@ What sets DeepFabric apart from other dataset generation tools is its ability to
86
89
 
87
90
  <img src="/assets/df-demo.gif" width="100%" height="100%"/>
88
91
 
89
- Constrained decoding and response validation, along with real tool executions within isolated webassembly environments, ensure that generated samples strictly adhere to structured schema, variable constraints, and execution correctness, ensuring datasets have exact syntax and structure for use in model training pipelines. Tool definations can be either directly imported from MCP (Model Context Protocol) server schemas and automatically mocked, real life interfaces along with a standard set of common tools (`list_files()`, 'read_file()` etc)
92
+ Constrained decoding and response validation, along with real tool executions within isolated webassembly environments, ensure that generated samples strictly adhere to structured schema, variable constraints, and execution correctness, ensuring datasets have exact syntax and structure for use in model training pipelines. Tool definations can be either directly imported from MCP (Model Context Protocol) server schemas and automatically mocked, real life interfaces along with a standard set of common tools (`list_files()`, `'read_file()` etc)
90
93
 
91
94
  Once your dataset is generated, it can be automatically uploaded to Hugging Face and directly imported into popular training frameworks like TRL, Unsloth, and Axolotl.
92
95
 
@@ -215,7 +218,7 @@ deepfabric generate config.yaml --output-save-as dataset.jsonl
215
218
  Or upload to HuggingFace Hub:
216
219
 
217
220
  ```bash
218
- deepfabric upload dataset.jsonl --repo your-username/my-dataset
221
+ deepfabric upload-hf dataset.jsonl --repo your-username/my-dataset
219
222
  ```
220
223
 
221
224
  ### 2. Load and Split for Training
@@ -33,6 +33,9 @@
33
33
  <a href="https://discord.gg/pPcjYzGvbS">
34
34
  <img src="https://img.shields.io/discord/1384081906773131274?color=7289da&label=Discord&logo=discord&logoColor=white" alt="Discord"/>
35
35
  </a>
36
+ <a href="https://www.reddit.com/r/deepfabric/">
37
+ <img src="https://img.shields.io/badge/Reddit-r%2Fdeepfabric-FF4500?logo=reddit&logoColor=white" alt="Reddit"/>
38
+ </a>
36
39
  </p>
37
40
  </div>
38
41
 
@@ -42,7 +45,7 @@ What sets DeepFabric apart from other dataset generation tools is its ability to
42
45
 
43
46
  <img src="/assets/df-demo.gif" width="100%" height="100%"/>
44
47
 
45
- Constrained decoding and response validation, along with real tool executions within isolated webassembly environments, ensure that generated samples strictly adhere to structured schema, variable constraints, and execution correctness, ensuring datasets have exact syntax and structure for use in model training pipelines. Tool definations can be either directly imported from MCP (Model Context Protocol) server schemas and automatically mocked, real life interfaces along with a standard set of common tools (`list_files()`, 'read_file()` etc)
48
+ Constrained decoding and response validation, along with real tool executions within isolated webassembly environments, ensure that generated samples strictly adhere to structured schema, variable constraints, and execution correctness, ensuring datasets have exact syntax and structure for use in model training pipelines. Tool definations can be either directly imported from MCP (Model Context Protocol) server schemas and automatically mocked, real life interfaces along with a standard set of common tools (`list_files()`, `'read_file()` etc)
46
49
 
47
50
  Once your dataset is generated, it can be automatically uploaded to Hugging Face and directly imported into popular training frameworks like TRL, Unsloth, and Axolotl.
48
51
 
@@ -171,7 +174,7 @@ deepfabric generate config.yaml --output-save-as dataset.jsonl
171
174
  Or upload to HuggingFace Hub:
172
175
 
173
176
  ```bash
174
- deepfabric upload dataset.jsonl --repo your-username/my-dataset
177
+ deepfabric upload-hf dataset.jsonl --repo your-username/my-dataset
175
178
  ```
176
179
 
177
180
  ### 2. Load and Split for Training
Binary file
@@ -763,8 +763,14 @@ Remember: You have access to the tools listed above and have used them in this c
763
763
  # Insert system message if configured
764
764
  self._insert_system_message_if_configured(messages)
765
765
 
766
- # Convert tools to OpenAI format
767
- tools_openai = [tool.to_openai() for tool in self.tool_registry.tools]
766
+ # Convert tools to OpenAI format, filtering based on inclusion strategy
767
+ if self.config.tool_inclusion_strategy == "used_only" and tool_results:
768
+ used_names = {te.function_name for te in tool_results}
769
+ tools_openai = [
770
+ tool.to_openai() for tool in self.tool_registry.tools if tool.name in used_names
771
+ ]
772
+ else:
773
+ tools_openai = [tool.to_openai() for tool in self.tool_registry.tools]
768
774
 
769
775
  return Conversation(
770
776
  messages=messages,
@@ -1291,8 +1297,14 @@ Is the user's original task/goal from the scenario fully completed?
1291
1297
  # Insert system message if configured
1292
1298
  self._insert_system_message_if_configured(messages)
1293
1299
 
1294
- # Convert tools to OpenAI format
1295
- tools_openai = [tool.to_openai() for tool in self.tool_registry.tools]
1300
+ # Convert tools to OpenAI format, filtering based on inclusion strategy
1301
+ if self.config.tool_inclusion_strategy == "used_only" and all_executions:
1302
+ used_names = {te.function_name for te in all_executions}
1303
+ tools_openai = [
1304
+ tool.to_openai() for tool in self.tool_registry.tools if tool.name in used_names
1305
+ ]
1306
+ else:
1307
+ tools_openai = [tool.to_openai() for tool in self.tool_registry.tools]
1296
1308
 
1297
1309
  return Conversation(
1298
1310
  messages=messages,
@@ -557,7 +557,7 @@ def generate( # noqa: PLR0913
557
557
  sys.exit(1)
558
558
 
559
559
 
560
- @cli.command()
560
+ @cli.command("upload-hf")
561
561
  @click.argument("dataset_file", type=click.Path(exists=True))
562
562
  @click.option(
563
563
  "--repo",
@@ -573,14 +573,14 @@ def generate( # noqa: PLR0913
573
573
  multiple=True,
574
574
  help="Tags for the dataset (can be specified multiple times)",
575
575
  )
576
- def upload(
576
+ def upload_hf(
577
577
  dataset_file: str,
578
578
  repo: str,
579
579
  token: str | None = None,
580
580
  tags: list[str] | None = None,
581
581
  ) -> None:
582
582
  """Upload a dataset to Hugging Face Hub."""
583
- trace("cli_upload", {"has_tags": len(tags) > 0 if tags else False})
583
+ trace("cli_upload_hf", {"has_tags": len(tags) > 0 if tags else False})
584
584
 
585
585
  try:
586
586
  # Get token from CLI arg or env var
@@ -1,5 +1,6 @@
1
1
  """Inference backend implementations."""
2
2
 
3
+ from .llm_eval_backend import LLMEvalBackend
3
4
  from .ollama_backend import OllamaBackend
4
5
  from .tool_call_parsers import (
5
6
  GenericToolCallParser,
@@ -18,6 +19,7 @@ from .transformers_backend import TransformersBackend
18
19
  __all__ = [
19
20
  "TransformersBackend",
20
21
  "OllamaBackend",
22
+ "LLMEvalBackend",
21
23
  # Tool call parsers
22
24
  "ToolCallParser",
23
25
  "ToolCallParserRegistry",