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.
- {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/tools-sdk-docker.yml +3 -3
- {deepfabric-4.4.0 → deepfabric-4.5.1}/.gitignore +1 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/CLAUDE.md +2 -1
- {deepfabric-4.4.0 → deepfabric-4.5.1}/PKG-INFO +6 -3
- {deepfabric-4.4.0 → deepfabric-4.5.1}/README.md +5 -2
- deepfabric-4.5.1/assets/df-demo.gif +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/builders_agent.py +16 -4
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/cli.py +3 -3
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/backends/__init__.py +2 -0
- deepfabric-4.5.1/deepfabric/evaluation/backends/llm_eval_backend.py +527 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/backends/ollama_backend.py +3 -3
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/backends/tool_call_parsers.py +7 -7
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/backends/transformers_backend.py +73 -16
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluator.py +41 -7
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/builtin/tool_calling.py +13 -8
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/inference.py +77 -5
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/metrics.py +4 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/cloud_reporter.py +1 -1
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/generator.py +4 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/hf_hub.py +1 -1
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/client.py +16 -2
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/schemas.py +2 -2
- deepfabric-4.5.1/deepfabric/training/__init__.py +54 -0
- deepfabric-4.5.1/deepfabric/training/dataset_utils.py +223 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/index.md +6 -3
- deepfabric-4.5.1/docs/cli/upload-hf.md +89 -0
- deepfabric-4.5.1/docs/cli/upload-kaggle.md +82 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/evaluation/index.md +20 -1
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/evaluation/running.md +129 -8
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/index.md +41 -23
- deepfabric-4.5.1/docs/training/dataset-preparation.md +193 -0
- deepfabric-4.5.1/docs/training/frameworks.md +489 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/training/index.md +15 -6
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/training/loading.md +30 -2
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/agent-tools-multi.yaml +1 -1
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/reasoning.yaml +3 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/blender/spin-blender.yaml +5 -4
- {deepfabric-4.4.0 → deepfabric-4.5.1}/mkdocs.yml +2 -1
- deepfabric-4.5.1/notebooks/dataset-compatibility-check.ipynb +616 -0
- deepfabric-4.5.1/notebooks/evaluations.ipynb +161 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/pyproject.toml +1 -1
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_cli.py +1 -1
- deepfabric-4.5.1/tests/unit/test_llm_eval_backend.py +471 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/uv.lock +1 -1
- deepfabric-4.4.0/assets/df-demo.gif +0 -0
- deepfabric-4.4.0/deepfabric/training/__init__.py +0 -35
- deepfabric-4.4.0/docs/cli/upload.md +0 -153
- deepfabric-4.4.0/docs/training/frameworks.md +0 -155
- deepfabric-4.4.0/notebooks/trl_sft_training.ipynb +0 -602
- {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/config.yml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/dependabot.yml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/docs.yml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/integration.yml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/publish.yml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/.github/workflows/test.yml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/LICENSE +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/Makefile +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/assets/logo-light-hols.png +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/assets/logo-light.png +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/assets/star.gif +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/coverage.xml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/__main__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/auth.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/builders.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/config.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/config_manager.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/constants.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/dataset_manager.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/error_codes.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/base.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/builtin/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/evaluators/registry.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/parser.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/base.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/file_reporter.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/evaluation/reporters/multi_reporter.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/exceptions.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/factory.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/graph.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/kaggle_hub.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/api_key_verifier.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/errors.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/rate_limit_config.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/rate_limit_detector.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/llm/retry_handler.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/metrics.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/progress.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/prompts.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/spin/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/spin/client.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/spin/models.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/stream_simulator.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tools/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tools/defaults.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tools/loader.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tools/mcp_client.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/topic_manager.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/topic_model.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/training/api_key_prompt.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/training/callback.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/training/metrics_sender.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tree.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/tui.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/update_checker.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/utils.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/deepfabric/validation.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/config.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/generator.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/graph.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/index.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/api/tree.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/format.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/generate.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/import-tools.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/validate.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/cli/visualize.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/agent.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/basic.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/configuration.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/index.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/rate-limiting.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/dataset-generation/reasoning.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/evaluation/metrics.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/getting-started/index.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/images/logo-light.png +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/custom.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/index.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/mcp.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/mock.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/spin.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/tools/vfs.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/docs/training/chat-templates.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/agent-tools-single.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-anthropic.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-gemini.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-graph.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-ollama.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-openai.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-openrouter.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/basic-tree.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/coding-agent.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/complete.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/custom-tools.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/github-mock-tools.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/spin-vfs-tools.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/blender/blender-mock-data.json +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/blender/load-blender-mock-data.sh +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/figma/figma-mock-data.json +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/figma/load-figma-mock-data.sh +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/figma/spin-figma.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/github/github-mock-data.json +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/github/load-github-mock-data.sh +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/github/spin-github-tools.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/kubernetes/kubernetes-mock-data.json +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/kubernetes/load-kubernetes-mock-data.sh +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/kubernetes/spin-kubernetes.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/examples/tools-sdk-examples/kubernetes/tools.json +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/misc/test_update_manual.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/01-alpaca.txt +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/01-chatml.txt +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/01-grpo.txt +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/01-xlam_v2.txt +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/02-trl2.txt +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/02-xlam_v2.txt +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/04-agent-tool-conversations.jsnl +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/test-run/04-single-agent-tools +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/integration/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/integration/test_tree_integration.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/__init__.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/conftest.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_api_key_validation.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_config.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_error_codes.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_gemini_schema.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_generator.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_hf_hub.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_kaggle_hub.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_modular_config.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_rate_limiting.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_schemas.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_tool_call_parsers.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_topic_graph.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_training_callback.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tests/unit/test_update_checker.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools/extract_messages.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools/function.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools/yaml_to_openai_tools.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/.dockerignore +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/Dockerfile +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/README.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/README.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/app.py +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/github.wasm +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/pyproject.toml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/requirements.txt +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/spin.toml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/github/uv.lock +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/mock/Cargo.lock +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/mock/Cargo.toml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/mock/README.md +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/mock/src/lib.rs +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/vfs/Cargo.lock +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/vfs/Cargo.toml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/components/vfs/src/lib.rs +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/docker-compose.yaml +0 -0
- {deepfabric-4.4.0 → deepfabric-4.5.1}/tools-sdk/runtime-config.toml +0 -0
- {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@
|
|
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@
|
|
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@
|
|
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
|
|
@@ -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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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("
|
|
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",
|