orizu 0.5.19 → 0.5.21
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.
- package/README.md +23 -0
- package/dist/archive-artifacts-cli.d.ts +50 -0
- package/dist/archive-artifacts-cli.d.ts.map +1 -0
- package/dist/artifact-archive.d.ts +48 -0
- package/dist/artifact-archive.d.ts.map +1 -0
- package/dist/artifact-pull.d.ts +22 -0
- package/dist/artifact-pull.d.ts.map +1 -0
- package/dist/banner.d.ts +3 -0
- package/dist/banner.d.ts.map +1 -0
- package/dist/connectors-cli.d.ts +31 -0
- package/dist/connectors-cli.d.ts.map +1 -0
- package/dist/credentials.d.ts +46 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/csv.d.ts +49 -0
- package/dist/csv.d.ts.map +1 -0
- package/dist/dataset-download.d.ts +6 -0
- package/dist/dataset-download.d.ts.map +1 -0
- package/dist/dataset-edit-rows.d.ts +10 -0
- package/dist/dataset-edit-rows.d.ts.map +1 -0
- package/dist/dataset-upload-snapshot.d.ts +13 -0
- package/dist/dataset-upload-snapshot.d.ts.map +1 -0
- package/dist/daytona-slice-rehearsal.d.ts +89 -0
- package/dist/daytona-slice-rehearsal.d.ts.map +1 -0
- package/dist/daytona-slice.d.ts +106 -0
- package/dist/daytona-slice.d.ts.map +1 -0
- package/dist/deploy-key-merge-core.d.ts +121 -0
- package/dist/deploy-key-merge-core.d.ts.map +1 -0
- package/dist/diff-comments-cli.d.ts +12 -0
- package/dist/diff-comments-cli.d.ts.map +1 -0
- package/dist/diff-comments-cli.js +21 -2
- package/dist/egress-allowlist-cli.d.ts +23 -0
- package/dist/egress-allowlist-cli.d.ts.map +1 -0
- package/dist/egress-policy.d.ts +108 -0
- package/dist/egress-policy.d.ts.map +1 -0
- package/dist/error-response.d.ts +9 -0
- package/dist/error-response.d.ts.map +1 -0
- package/dist/file-parser.d.ts +5 -0
- package/dist/file-parser.d.ts.map +1 -0
- package/dist/gepa-engine-dispatch.d.ts +9 -0
- package/dist/gepa-engine-dispatch.d.ts.map +1 -0
- package/dist/gepa-engine-dispatch.js +307 -0
- package/dist/gepa-python-command.d.ts +6 -0
- package/dist/gepa-python-command.d.ts.map +1 -0
- package/dist/gepa-python-command.js +26 -0
- package/dist/gepa-python-paths.d.ts +6 -0
- package/dist/gepa-python-paths.d.ts.map +1 -0
- package/dist/gepa-python-paths.js +42 -0
- package/dist/git-credential.d.ts +69 -0
- package/dist/git-credential.d.ts.map +1 -0
- package/dist/git-recovery-environment.d.ts +31 -0
- package/dist/git-recovery-environment.d.ts.map +1 -0
- package/dist/github-setup.d.ts +122 -0
- package/dist/github-setup.d.ts.map +1 -0
- package/dist/global-flags.d.ts +12 -0
- package/dist/global-flags.d.ts.map +1 -0
- package/dist/help.d.ts +46 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +93 -25
- package/dist/hosted-boot.d.ts +273 -0
- package/dist/hosted-boot.d.ts.map +1 -0
- package/dist/hosted-bootstrap-rehearsal.d.ts +86 -0
- package/dist/hosted-bootstrap-rehearsal.d.ts.map +1 -0
- package/dist/hosted-bootstrap.d.ts +188 -0
- package/dist/hosted-bootstrap.d.ts.map +1 -0
- package/dist/hosted-broker-server.d.ts +50 -0
- package/dist/hosted-broker-server.d.ts.map +1 -0
- package/dist/hosted-git-http-server.d.ts +36 -0
- package/dist/hosted-git-http-server.d.ts.map +1 -0
- package/dist/hosted-harness-claude.d.ts +195 -0
- package/dist/hosted-harness-claude.d.ts.map +1 -0
- package/dist/hosted-harness-opencode.d.ts +227 -0
- package/dist/hosted-harness-opencode.d.ts.map +1 -0
- package/dist/hosted-harness.d.ts +118 -0
- package/dist/hosted-harness.d.ts.map +1 -0
- package/dist/hosted-harvest.d.ts +68 -0
- package/dist/hosted-harvest.d.ts.map +1 -0
- package/dist/hosted-headless.d.ts +72 -0
- package/dist/hosted-headless.d.ts.map +1 -0
- package/dist/hosted-loop-lifecycle.d.ts +206 -0
- package/dist/hosted-loop-lifecycle.d.ts.map +1 -0
- package/dist/hosted-loop.d.ts +170 -0
- package/dist/hosted-loop.d.ts.map +1 -0
- package/dist/hosted-run-event-sink.d.ts +222 -0
- package/dist/hosted-run-event-sink.d.ts.map +1 -0
- package/dist/hosted-runtime-assets.d.ts +186 -0
- package/dist/hosted-runtime-assets.d.ts.map +1 -0
- package/dist/hosted-session-cli.d.ts +258 -0
- package/dist/hosted-session-cli.d.ts.map +1 -0
- package/dist/hosted-skill-staging.d.ts +73 -0
- package/dist/hosted-skill-staging.d.ts.map +1 -0
- package/dist/http.d.ts +8 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -129
- package/dist/instruction-set-gepa-launch.d.ts +3 -0
- package/dist/instruction-set-gepa-launch.d.ts.map +1 -0
- package/dist/instruction-set-gepa-launch.js +15 -0
- package/dist/instruction-set-loader.d.ts +6 -0
- package/dist/instruction-set-loader.d.ts.map +1 -0
- package/dist/instruction-set-loader.js +59 -0
- package/dist/instruction-set-manifest.d.ts +14 -0
- package/dist/instruction-set-manifest.d.ts.map +1 -0
- package/dist/instruction-set-manifest.js +162 -0
- package/dist/instruction-sets-cli.d.ts +40 -0
- package/dist/instruction-sets-cli.d.ts.map +1 -0
- package/dist/instruction-sets-cli.js +361 -0
- package/dist/json-response.d.ts +4 -0
- package/dist/json-response.d.ts.map +1 -0
- package/dist/jsonl-stream.d.ts +8 -0
- package/dist/jsonl-stream.d.ts.map +1 -0
- package/dist/kill-switch-cli.d.ts +30 -0
- package/dist/kill-switch-cli.d.ts.map +1 -0
- package/dist/loopback-serve.d.ts +25 -0
- package/dist/loopback-serve.d.ts.map +1 -0
- package/dist/manifests-cli.d.ts +22 -0
- package/dist/manifests-cli.d.ts.map +1 -0
- package/dist/markdown-report-input.d.ts +7 -0
- package/dist/markdown-report-input.d.ts.map +1 -0
- package/dist/markdown-report-input.js +15 -1
- package/dist/merge-job.d.ts +155 -0
- package/dist/merge-job.d.ts.map +1 -0
- package/dist/model-configs-cli.d.ts +19 -0
- package/dist/model-configs-cli.d.ts.map +1 -0
- package/dist/model-configs-cli.js +104 -0
- package/dist/optimization-export-cli.d.ts +19 -0
- package/dist/optimization-export-cli.d.ts.map +1 -0
- package/dist/optimizations-list-cli.d.ts +20 -0
- package/dist/optimizations-list-cli.d.ts.map +1 -0
- package/dist/optimizations-promote-cli.d.ts +8 -0
- package/dist/optimizations-promote-cli.d.ts.map +1 -0
- package/dist/optimizations-promote-cli.js +34 -0
- package/dist/option-validation.d.ts +15 -0
- package/dist/option-validation.d.ts.map +1 -0
- package/dist/preview-runtime.d.ts +63 -0
- package/dist/preview-runtime.d.ts.map +1 -0
- package/dist/prompt-draft-push.d.ts +60 -0
- package/dist/prompt-draft-push.d.ts.map +1 -0
- package/dist/prompt-label-cli.d.ts +11 -0
- package/dist/prompt-label-cli.d.ts.map +1 -0
- package/dist/prompt-label-cli.js +29 -0
- package/dist/prompt-length-wire.d.ts +28 -0
- package/dist/prompt-length-wire.d.ts.map +1 -0
- package/dist/prompt-length-wire.js +2 -2
- package/dist/prompt-report-cli.d.ts +10 -0
- package/dist/prompt-report-cli.d.ts.map +1 -0
- package/dist/prompt-report-cli.js +2 -2
- package/dist/prompt-summary-table.d.ts +15 -0
- package/dist/prompt-summary-table.d.ts.map +1 -0
- package/dist/prompt-summary-table.js +6 -0
- package/dist/registration-tag-warning.d.ts +32 -0
- package/dist/registration-tag-warning.d.ts.map +1 -0
- package/dist/report-comments-cli.d.ts +16 -0
- package/dist/report-comments-cli.d.ts.map +1 -0
- package/dist/report-markdown-blankness.d.ts +2 -0
- package/dist/report-markdown-blankness.d.ts.map +1 -0
- package/dist/report-markdown-blankness.js +6 -0
- package/dist/report-replacement-warning.d.ts +17 -0
- package/dist/report-replacement-warning.d.ts.map +1 -0
- package/dist/report-replacement-warning.js +31 -0
- package/dist/repository-backup-core.d.ts +225 -0
- package/dist/repository-backup-core.d.ts.map +1 -0
- package/dist/repository-recovery-manifest.d.ts +83 -0
- package/dist/repository-recovery-manifest.d.ts.map +1 -0
- package/dist/run-event-digest.d.ts +74 -0
- package/dist/run-event-digest.d.ts.map +1 -0
- package/dist/runner-dir-verify.d.ts +66 -0
- package/dist/runner-dir-verify.d.ts.map +1 -0
- package/dist/runner-instruction-set-contract.d.ts +24 -0
- package/dist/runner-instruction-set-contract.d.ts.map +1 -0
- package/dist/runner-instruction-set-contract.js +50 -0
- package/dist/sandbox-hygiene.d.ts +45 -0
- package/dist/sandbox-hygiene.d.ts.map +1 -0
- package/dist/sandbox-provider.d.ts +193 -0
- package/dist/sandbox-provider.d.ts.map +1 -0
- package/dist/scorer-draft-push.d.ts +50 -0
- package/dist/scorer-draft-push.d.ts.map +1 -0
- package/dist/scorers-cli.d.ts +20 -0
- package/dist/scorers-cli.d.ts.map +1 -0
- package/dist/scorers-cli.js +22 -0
- package/dist/scorers-verify-parity-bridge.d.ts +16 -0
- package/dist/scorers-verify-parity-bridge.d.ts.map +1 -0
- package/dist/scorers-verify-parity-bridge.js +90 -0
- package/dist/scorers-verify-parity.d.ts +81 -0
- package/dist/scorers-verify-parity.d.ts.map +1 -0
- package/dist/scorers-verify-parity.js +502 -0
- package/dist/scores-accept-cli.d.ts +21 -0
- package/dist/scores-accept-cli.d.ts.map +1 -0
- package/dist/secret-redaction.d.ts +47 -0
- package/dist/secret-redaction.d.ts.map +1 -0
- package/dist/session-timeline.d.ts +54 -0
- package/dist/session-timeline.d.ts.map +1 -0
- package/dist/setup-prompt.d.ts +5 -0
- package/dist/setup-prompt.d.ts.map +1 -0
- package/dist/skill-installer.d.ts +68 -0
- package/dist/skill-installer.d.ts.map +1 -0
- package/dist/skilled-proposer-launch.d.ts +7 -0
- package/dist/skilled-proposer-launch.d.ts.map +1 -0
- package/dist/skilled-proposer-launch.js +60 -0
- package/dist/smoke.d.ts +102 -0
- package/dist/smoke.d.ts.map +1 -0
- package/dist/start-intent.d.ts +12 -0
- package/dist/start-intent.d.ts.map +1 -0
- package/dist/task-assignment-manifest.d.ts +15 -0
- package/dist/task-assignment-manifest.d.ts.map +1 -0
- package/dist/task-create-error.d.ts +18 -0
- package/dist/task-create-error.d.ts.map +1 -0
- package/dist/team-connectors-cli.d.ts +29 -0
- package/dist/team-connectors-cli.d.ts.map +1 -0
- package/dist/types.d.ts +39 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/vercel-sandbox-provider.d.ts +156 -0
- package/dist/vercel-sandbox-provider.d.ts.map +1 -0
- package/dist/workbench-cli.d.ts +233 -0
- package/dist/workbench-cli.d.ts.map +1 -0
- package/dist/workspace-sync.d.ts +207 -0
- package/dist/workspace-sync.d.ts.map +1 -0
- package/dist/workspace.d.ts +92 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/zip-draft-push.d.ts +55 -0
- package/dist/zip-draft-push.d.ts.map +1 -0
- package/package.json +15 -2
- package/requirements/README.md +138 -0
- package/requirements/skilled-proposer.in +66 -0
- package/requirements/skilled-proposer.lock +265 -0
- package/scripts/build-cli-dist.mjs +30 -0
- package/scripts/ensure-skilled-proposer-venv.mjs +5 -0
- package/scripts/orizu-source-checkout.d.mts +1 -0
- package/scripts/orizu-source-checkout.mjs +10 -0
- package/scripts/refresh-skilled-proposer-lock.mjs +256 -0
- package/scripts/vendor-gepa-python.mjs +187 -4
- package/src/diff-comments-cli.ts +41 -3
- package/src/gepa-engine-dispatch.ts +340 -0
- package/src/gepa-python-command.ts +31 -0
- package/src/gepa-python-paths.ts +56 -0
- package/src/help.ts +95 -25
- package/src/index.ts +131 -166
- package/src/instruction-set-gepa-launch.ts +28 -0
- package/src/instruction-set-loader.ts +37 -0
- package/src/instruction-set-manifest.ts +120 -0
- package/src/instruction-sets-cli.ts +306 -0
- package/src/markdown-report-input.ts +19 -1
- package/src/model-configs-cli.ts +119 -0
- package/src/optimizations-promote-cli.ts +41 -0
- package/src/prompt-label-cli.ts +55 -0
- package/src/prompt-length-wire.ts +1 -1
- package/src/prompt-report-cli.ts +2 -2
- package/src/prompt-summary-table.ts +12 -0
- package/src/report-markdown-blankness.ts +6 -0
- package/src/report-replacement-warning.ts +35 -0
- package/src/runner-instruction-set-contract.ts +64 -0
- package/src/scorers-cli.ts +40 -0
- package/src/scorers-verify-parity-bridge.ts +90 -0
- package/src/scorers-verify-parity.ts +564 -0
- package/src/skilled-proposer-launch.ts +89 -0
- package/src/skilled-proposer-venv-manager.mjs +757 -0
- package/tsconfig.json +2 -0
- package/vendor/gepa-python/LICENSE +7 -0
- package/vendor/gepa-python/manifest.json +107 -0
- package/vendor/gepa-python/src/gepa/__init__.py +22 -0
- package/vendor/gepa-python/src/gepa/adapters/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/adapters/anymaths_adapter/__init__.py +1 -0
- package/vendor/gepa-python/src/gepa/adapters/anymaths_adapter/anymaths_adapter.py +174 -0
- package/vendor/gepa-python/src/gepa/adapters/confidence_adapter/__init__.py +26 -0
- package/vendor/gepa-python/src/gepa/adapters/confidence_adapter/confidence_adapter.py +618 -0
- package/vendor/gepa-python/src/gepa/adapters/confidence_adapter/scoring.py +206 -0
- package/vendor/gepa-python/src/gepa/adapters/default_adapter/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/adapters/default_adapter/default_adapter.py +206 -0
- package/vendor/gepa-python/src/gepa/adapters/dspy_adapter/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/adapters/dspy_adapter/dspy_adapter.py +525 -0
- package/vendor/gepa-python/src/gepa/adapters/dspy_adapter/instruction_proposal.py +500 -0
- package/vendor/gepa-python/src/gepa/adapters/dspy_full_program_adapter/__init__.py +6 -0
- package/vendor/gepa-python/src/gepa/adapters/dspy_full_program_adapter/dspy_program_proposal_signature.py +137 -0
- package/vendor/gepa-python/src/gepa/adapters/dspy_full_program_adapter/full_program_adapter.py +269 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/__init__.py +56 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/evaluation_metrics.py +226 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/generic_rag_adapter.py +496 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/rag_pipeline.py +238 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/vector_store_interface.py +212 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/vector_stores/__init__.py +2 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/vector_stores/chroma_store.py +196 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/vector_stores/lancedb_store.py +422 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/vector_stores/milvus_store.py +409 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/vector_stores/qdrant_store.py +368 -0
- package/vendor/gepa-python/src/gepa/adapters/generic_rag_adapter/vector_stores/weaviate_store.py +418 -0
- package/vendor/gepa-python/src/gepa/adapters/langchain_adapter/__init__.py +11 -0
- package/vendor/gepa-python/src/gepa/adapters/langchain_adapter/langchain_adapter.py +261 -0
- package/vendor/gepa-python/src/gepa/adapters/mcp_adapter/__init__.py +37 -0
- package/vendor/gepa-python/src/gepa/adapters/mcp_adapter/mcp_adapter.py +693 -0
- package/vendor/gepa-python/src/gepa/adapters/mcp_adapter/mcp_client.py +364 -0
- package/vendor/gepa-python/src/gepa/adapters/optimize_anything_adapter/optimize_anything_adapter.py +879 -0
- package/vendor/gepa-python/src/gepa/adapters/terminal_bench_adapter/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/adapters/terminal_bench_adapter/terminal_bench_adapter.py +217 -0
- package/vendor/gepa-python/src/gepa/api.py +468 -0
- package/vendor/gepa-python/src/gepa/core/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/core/adapter.py +227 -0
- package/vendor/gepa-python/src/gepa/core/callbacks.py +551 -0
- package/vendor/gepa-python/src/gepa/core/data_loader.py +74 -0
- package/vendor/gepa-python/src/gepa/core/engine.py +1025 -0
- package/vendor/gepa-python/src/gepa/core/result.py +271 -0
- package/vendor/gepa-python/src/gepa/core/state.py +706 -0
- package/vendor/gepa-python/src/gepa/examples/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/examples/aime.py +24 -0
- package/vendor/gepa-python/src/gepa/examples/anymaths-bench/eval_default.py +111 -0
- package/vendor/gepa-python/src/gepa/examples/anymaths-bench/train_anymaths.py +177 -0
- package/vendor/gepa-python/src/gepa/examples/mcp_adapter/__init__.py +4 -0
- package/vendor/gepa-python/src/gepa/examples/mcp_adapter/mcp_optimization_example.py +456 -0
- package/vendor/gepa-python/src/gepa/examples/rag_adapter/__init__.py +9 -0
- package/vendor/gepa-python/src/gepa/examples/rag_adapter/rag_optimization.py +824 -0
- package/vendor/gepa-python/src/gepa/examples/terminal-bench/train_terminus.py +161 -0
- package/vendor/gepa-python/src/gepa/gepa_utils.py +117 -0
- package/vendor/gepa-python/src/gepa/gskill/__init__.py +1 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/cost_tracker.py +194 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/evaluate/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/evaluate/claude_code.py +1117 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/evaluate/claude_code_skills.py +613 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/evaluate/mini_swe_agent.py +440 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/experiment_logger.py +367 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/swe_fitness_fn.py +209 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/swe_harness.py +352 -0
- package/vendor/gepa-python/src/gepa/gskill/gskill/train_optimize_anything.py +830 -0
- package/vendor/gepa-python/src/gepa/image.py +104 -0
- package/vendor/gepa-python/src/gepa/lm.py +261 -0
- package/vendor/gepa-python/src/gepa/logging/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/logging/experiment_tracker.py +457 -0
- package/vendor/gepa-python/src/gepa/logging/logger.py +75 -0
- package/vendor/gepa-python/src/gepa/logging/utils.py +130 -0
- package/vendor/gepa-python/src/gepa/optimize_anything.py +1701 -0
- package/vendor/gepa-python/src/gepa/proposer/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/proposer/base.py +53 -0
- package/vendor/gepa-python/src/gepa/proposer/merge.py +403 -0
- package/vendor/gepa-python/src/gepa/proposer/reflective_mutation/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/proposer/reflective_mutation/base.py +64 -0
- package/vendor/gepa-python/src/gepa/proposer/reflective_mutation/reflection_lm.py +178 -0
- package/vendor/gepa-python/src/gepa/proposer/reflective_mutation/reflective_mutation.py +641 -0
- package/vendor/gepa-python/src/gepa/py.typed +0 -0
- package/vendor/gepa-python/src/gepa/strategies/__init__.py +0 -0
- package/vendor/gepa-python/src/gepa/strategies/acceptance.py +66 -0
- package/vendor/gepa-python/src/gepa/strategies/batch_sampler.py +103 -0
- package/vendor/gepa-python/src/gepa/strategies/candidate_selector.py +82 -0
- package/vendor/gepa-python/src/gepa/strategies/component_selector.py +36 -0
- package/vendor/gepa-python/src/gepa/strategies/eval_policy.py +64 -0
- package/vendor/gepa-python/src/gepa/strategies/instruction_proposal.py +153 -0
- package/vendor/gepa-python/src/gepa/strategies/proposal_sampling.py +128 -0
- package/vendor/gepa-python/src/gepa/strategies/proposal_selection.py +84 -0
- package/vendor/gepa-python/src/gepa/utils/__init__.py +63 -0
- package/vendor/gepa-python/src/gepa/utils/code_execution.py +626 -0
- package/vendor/gepa-python/src/gepa/utils/stdio_capture.py +145 -0
- package/vendor/gepa-python/src/gepa/utils/stop_condition.py +230 -0
- package/vendor/gepa-python/src/gepa/visualization.py +359 -0
- package/vendor/orizu-gepa/pyproject.toml +18 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/__init__.py +9 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/__main__.py +5 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/adapter.py +138 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/callbacks.py +666 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/cli.py +7 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/engine.py +269 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/instruction_set_loader.py +52 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/preflight.py +64 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/reflection.py +186 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/runtime.py +721 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/skilled_proposer_bridge.py +381 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/stop_conditions.py +55 -0
- package/vendor/orizu-gepa/src/orizu_gepa_connector/translator.py +203 -0
- package/vendor/orizu-gepa-python/pyproject.toml +1 -1
- package/vendor/orizu-gepa-python/src/orizu_gepa/cli.py +1 -0
- package/vendor/orizu-gepa-python/src/orizu_gepa/client.py +52 -7
- package/vendor/orizu-gepa-python/src/orizu_gepa/local_log.py +52 -0
- package/vendor/orizu-gepa-python/src/orizu_gepa/optimizer.py +10 -5
- package/vendor/orizu-gepa-python/src/orizu_gepa/reflection.py +323 -68
- package/vendor/orizu-gepa-python/src/orizu_gepa/runner.py +207 -13
- package/vendor/skills/orizu-cli/SKILL.md +3 -1
- package/vendor/skills/orizu-cli/references/cli-reference.md +85 -1
- package/vendor/skills/orizu-cli/references/migrate-existing-gepa-setup.md +303 -0
- package/vendor/skills/orizu-cli/references/optimization-reports.md +1 -1
- package/vendor/skills/orizu-cli/references/optimization-with-gepa.md +26 -1
- package/vendor/skills/orizu-cli/references/prompt-control-plane.md +113 -10
package/tsconfig.json
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Copyright © 2025 Lakshya A Agrawal
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
4
|
+
|
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
6
|
+
|
|
7
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "gepa-vendor.v1",
|
|
3
|
+
"upstream": {
|
|
4
|
+
"package": "gepa",
|
|
5
|
+
"version": "0.1.4",
|
|
6
|
+
"repositoryCommit": "8b0ce6cd99a234f6b74daf37558a2ac0ce18f975",
|
|
7
|
+
"wheel": {
|
|
8
|
+
"filename": "gepa-0.1.4-py3-none-any.whl",
|
|
9
|
+
"sha256": "12b971039599625c156d2231f6d72a29c31a22e9c237689459b5f1a3c353f532"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"files": {
|
|
13
|
+
"LICENSE": "10c47467a961feb40adf3294fe27dd9cba79d4d1b7cf27173b1c34586d4126c3",
|
|
14
|
+
"src/gepa/__init__.py": "61cdac47f24d1f24315b8beb8d65e834a67a2a7a6cf9b667ecf6c669ddc6f4a6",
|
|
15
|
+
"src/gepa/adapters/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
16
|
+
"src/gepa/adapters/anymaths_adapter/__init__.py": "121e49528d57b20e76150d409ed1a1ef8b0f08532fa0ad7dfd0a49263eb2fe71",
|
|
17
|
+
"src/gepa/adapters/anymaths_adapter/anymaths_adapter.py": "70dc1619f8447b1beb8de354cd6cbdf9cf39b913f5b36b9a365eacad9827c3d3",
|
|
18
|
+
"src/gepa/adapters/confidence_adapter/__init__.py": "d13275271f681d040c0905607bfac3fdf84f204fc8aebb5a144930b891e43223",
|
|
19
|
+
"src/gepa/adapters/confidence_adapter/confidence_adapter.py": "b4b7c24d495e40cae61fb9f4b17b2f7fa951837e38d2fcfedc41f62dabd57e5a",
|
|
20
|
+
"src/gepa/adapters/confidence_adapter/scoring.py": "e218f1dacf2497ab577e6f93fe39a98f7cd7cb66f14bae9b1f1c1845e5e82af2",
|
|
21
|
+
"src/gepa/adapters/default_adapter/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
22
|
+
"src/gepa/adapters/default_adapter/default_adapter.py": "9583ceb97990d2230450410913d748761fdbf9f279b9e6dcd7011200dec8063e",
|
|
23
|
+
"src/gepa/adapters/dspy_adapter/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
24
|
+
"src/gepa/adapters/dspy_adapter/dspy_adapter.py": "35d82248aef5a4ed9b6f88cfbe7fba9c04e8d653b4e49416158c3007dcce21d0",
|
|
25
|
+
"src/gepa/adapters/dspy_adapter/instruction_proposal.py": "de61058caf84610b7e87635b1fe3fc848ab65318ef95d1a1e5a807e39f5b292d",
|
|
26
|
+
"src/gepa/adapters/dspy_full_program_adapter/__init__.py": "93ca8fc801342d9f8a0181faf650cc0559d1d93ba6f475221f2f775ddec3bd42",
|
|
27
|
+
"src/gepa/adapters/dspy_full_program_adapter/dspy_program_proposal_signature.py": "bf28deb7752bf27eb27f7b2917ce6525b3c9d06b0462a59ac430fce42b79b743",
|
|
28
|
+
"src/gepa/adapters/dspy_full_program_adapter/full_program_adapter.py": "de8d2838d390aacbb8f0146625d7ba8778eb3dc6e9f4c96c968e6ea4823d0431",
|
|
29
|
+
"src/gepa/adapters/generic_rag_adapter/__init__.py": "f30f03f9ec9b4b25f88ab76ab9a664c8b234e983a326efec73ad98cc93f04c58",
|
|
30
|
+
"src/gepa/adapters/generic_rag_adapter/evaluation_metrics.py": "7fb9d73b48e9ed897ab52e9f03e1120c8b0eea23f5a489ca9a69d81721f06c34",
|
|
31
|
+
"src/gepa/adapters/generic_rag_adapter/generic_rag_adapter.py": "cbe1152a045770022aa34fe5e0743561c0c76f6c581f6f63a9cbe5250b93c597",
|
|
32
|
+
"src/gepa/adapters/generic_rag_adapter/rag_pipeline.py": "8dba4dc5fef4763d59f7f1f354f5a442738aef651dc15e7539e6974ae203eef7",
|
|
33
|
+
"src/gepa/adapters/generic_rag_adapter/vector_store_interface.py": "a5d8b0f7bcbdf7750ae1a9a769bff741ad4469ecd91a08e5e858414b457e2bf3",
|
|
34
|
+
"src/gepa/adapters/generic_rag_adapter/vector_stores/__init__.py": "25006b3989e8b257028019b128739692b2345c2fd17ce46469066fd73ba06afb",
|
|
35
|
+
"src/gepa/adapters/generic_rag_adapter/vector_stores/chroma_store.py": "b8d527b8562577daf3d7beb2521c2c419735d4834626f0072ddea09ddefb3dc6",
|
|
36
|
+
"src/gepa/adapters/generic_rag_adapter/vector_stores/lancedb_store.py": "31fc5919c5b9251de60675ad126844885959abadf46f203d0d031d09e40ca804",
|
|
37
|
+
"src/gepa/adapters/generic_rag_adapter/vector_stores/milvus_store.py": "40b82f6464dbdf1f2161f3c5b080b37721224cbd7b73b6f20fbf7caebb35f777",
|
|
38
|
+
"src/gepa/adapters/generic_rag_adapter/vector_stores/qdrant_store.py": "4bd98e1973f44cfb011f1ae0d5d6693516a0f7521285fec5ee68cd75a0c85f8e",
|
|
39
|
+
"src/gepa/adapters/generic_rag_adapter/vector_stores/weaviate_store.py": "75b1297a31964e6e392f181065a508b259d22afccb3a078fa3f5e5657024a80c",
|
|
40
|
+
"src/gepa/adapters/langchain_adapter/__init__.py": "d7de53a334ab4775ebf71be526ff946af29c7eec0f0cf86f8bee54bce6a1dd8e",
|
|
41
|
+
"src/gepa/adapters/langchain_adapter/langchain_adapter.py": "001ea36c4272a77add647fa2c4758c42b4590d001c02267a9b22a973c4d1f5db",
|
|
42
|
+
"src/gepa/adapters/mcp_adapter/__init__.py": "516969aa27da083b8abeddc190af410bd46458f286915c6249edb5a52f8a5400",
|
|
43
|
+
"src/gepa/adapters/mcp_adapter/mcp_adapter.py": "8366e013d5bcad90eb55b998aa6d2b81859c831c0d58b5d6eeb47c005ded2c65",
|
|
44
|
+
"src/gepa/adapters/mcp_adapter/mcp_client.py": "f420efcb09ac01a9d6ed85a205eb2ca8a90de0b641bece22444a873e1b0d8653",
|
|
45
|
+
"src/gepa/adapters/optimize_anything_adapter/optimize_anything_adapter.py": "36f27ae8fa7f96c550e1a298ba20d353fa846424cb457c727e2961a7aaf7e4d8",
|
|
46
|
+
"src/gepa/adapters/terminal_bench_adapter/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
47
|
+
"src/gepa/adapters/terminal_bench_adapter/terminal_bench_adapter.py": "7d87934f5ffca6740a630ea981158db2407c5f5f2ce68cdb3806aab70c9a72d8",
|
|
48
|
+
"src/gepa/api.py": "228c4f80c782dc36afc19492bbb023eba12f257aaa22b947009efc473c4572f9",
|
|
49
|
+
"src/gepa/core/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
50
|
+
"src/gepa/core/adapter.py": "51f47f94802987555202ba4bbe1f8dddf328fce822d1ec02b25a7a049320cef8",
|
|
51
|
+
"src/gepa/core/callbacks.py": "7f1e8a8a40546e659b900b2e769ab231cb05c38f35bc8bb164df5f99f2cc01d4",
|
|
52
|
+
"src/gepa/core/data_loader.py": "b1343c92ca654bca51d42819d1b2e4b0edfa3c40124e3316ed060297837810bd",
|
|
53
|
+
"src/gepa/core/engine.py": "ba361b477de74c20eb813b277b0fb85b6898ca534e09c8e878604fb1c8980c53",
|
|
54
|
+
"src/gepa/core/result.py": "5ee9ccfdf31e2d4d1262793c569e44ef7b39659a3e971e4f3dc7d656d69a1d85",
|
|
55
|
+
"src/gepa/core/state.py": "9ad128c981c7344ba0e89d053c2fe33e98a2d74d830679d620cb7cd0d7b1820c",
|
|
56
|
+
"src/gepa/examples/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
57
|
+
"src/gepa/examples/aime.py": "75bba7b19456748529eba34b28b34efe64390ac921a4ee10b336ef58591327b6",
|
|
58
|
+
"src/gepa/examples/anymaths-bench/eval_default.py": "8ba17775c96ff8e0c214f06c477b95854a53ace6b03a2344b8ac20fbb23b9322",
|
|
59
|
+
"src/gepa/examples/anymaths-bench/train_anymaths.py": "09210464ce712b70eb5494a46175ecb1a1d62fdf73905b549741c701ed3cf0e8",
|
|
60
|
+
"src/gepa/examples/mcp_adapter/__init__.py": "a1f9d400525fe9e53167a4c6446f89dc7c022bf5fcf0db76ee7b309f6ac4ffba",
|
|
61
|
+
"src/gepa/examples/mcp_adapter/mcp_optimization_example.py": "053d70352444c5a7fe6724d666b16154b2ca2e0117c0159fd0f98d28dfde22ed",
|
|
62
|
+
"src/gepa/examples/rag_adapter/__init__.py": "ec18895a1c95bda4ac9924ee9e38397372d037582577171990768da4652b7004",
|
|
63
|
+
"src/gepa/examples/rag_adapter/rag_optimization.py": "dd38b601bdd9cac81f9090976ddf4f8d492d588a57bcc3e457f1fb35d132089e",
|
|
64
|
+
"src/gepa/examples/terminal-bench/train_terminus.py": "682cfa266ce670bf5bcab108d46ab6159a4979fa759c32c90685c867d30626c3",
|
|
65
|
+
"src/gepa/gepa_utils.py": "60aca7024e31a3e273a01187a6329f381f297a77ec7b6add4b9c90b4d64e9b6c",
|
|
66
|
+
"src/gepa/gskill/__init__.py": "762995e85daa1619696e6084937ccc0ea7a408eaead55f93943f32b953e1f546",
|
|
67
|
+
"src/gepa/gskill/gskill/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
68
|
+
"src/gepa/gskill/gskill/cost_tracker.py": "e4b8d1856bd78a44ca5913948a7a1f6ff6f017c3ba8313b48fdb3cad67fcba74",
|
|
69
|
+
"src/gepa/gskill/gskill/evaluate/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
70
|
+
"src/gepa/gskill/gskill/evaluate/claude_code.py": "2d073fd336730288402f42fd42841fa3f03ca90d550fbb6df431168701067d71",
|
|
71
|
+
"src/gepa/gskill/gskill/evaluate/claude_code_skills.py": "29782c68162e407d27788b89db98b5b340826915749b96d6cf1d9445c9badb66",
|
|
72
|
+
"src/gepa/gskill/gskill/evaluate/mini_swe_agent.py": "da679ca79f70c8404966380cc01e422ec6b072fa20a7b9ce8b88732cb280ffb8",
|
|
73
|
+
"src/gepa/gskill/gskill/experiment_logger.py": "e03c78cf1ad4760753f89a22bdcf4e4888b9b1a643a1daf9dac5a43693725ce6",
|
|
74
|
+
"src/gepa/gskill/gskill/swe_fitness_fn.py": "6b8c6a7efd7696a60287371a8da98b6a5272a61925f3fac2a9d9b8c4e456c78f",
|
|
75
|
+
"src/gepa/gskill/gskill/swe_harness.py": "34e783289e5172a33638a2e153c0e58eaeaf0f93aff2990da9e45e2dfab56e4c",
|
|
76
|
+
"src/gepa/gskill/gskill/train_optimize_anything.py": "91c9750500fb733a24ea634bfab849bf3bc6130e2b8d138d25e5afe5d7d4b43f",
|
|
77
|
+
"src/gepa/image.py": "9a567eb78747c365742e945aa8279007d7d38c2bd9163cdfb35f2191fd13d919",
|
|
78
|
+
"src/gepa/lm.py": "ac3680ba1986a907b98b824165cfd9f6bdbb7c3e77caf76b5d97e029a82244d8",
|
|
79
|
+
"src/gepa/logging/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
80
|
+
"src/gepa/logging/experiment_tracker.py": "e6b6e54d18c9ced038c9c7d2f776183db7c9d928ba032673172504370b6d1dd2",
|
|
81
|
+
"src/gepa/logging/logger.py": "10977fa9f2b28a708ad2416f00d129dfdfb18200883bee1c5d6fe0a91b003d4a",
|
|
82
|
+
"src/gepa/logging/utils.py": "43f488abf884b363083d2f76b288cb517c30f03e893322321857a28aa9c2e536",
|
|
83
|
+
"src/gepa/optimize_anything.py": "bd021ab277c44d5f988cf19a186127b9087b88d59656f560bb07e654524a7f26",
|
|
84
|
+
"src/gepa/proposer/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
85
|
+
"src/gepa/proposer/base.py": "75242e6c71758444d97949fb5c38ff84cd52f2f77f5464c894f6229c9beb210c",
|
|
86
|
+
"src/gepa/proposer/merge.py": "cd0a3254927e399d0cae4a212076f7577161027b3c4ff19d03c3d2150408ee5a",
|
|
87
|
+
"src/gepa/proposer/reflective_mutation/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
88
|
+
"src/gepa/proposer/reflective_mutation/base.py": "f183a12536999004eca9e0d889b53f82bea7e159b4f1c013a3e762251fe3afc1",
|
|
89
|
+
"src/gepa/proposer/reflective_mutation/reflection_lm.py": "a7357585f90b9cae52c9930805c8020d982119489e4aaee853c3366df67bff85",
|
|
90
|
+
"src/gepa/proposer/reflective_mutation/reflective_mutation.py": "73eac4a18249fdf84e4cd048bf9527cf9084a565424887a470e004ba047a6a87",
|
|
91
|
+
"src/gepa/py.typed": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
92
|
+
"src/gepa/strategies/__init__.py": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
93
|
+
"src/gepa/strategies/acceptance.py": "a6234c188fdeab0f7181dd1f01d767fc91779512773ed4ad952df68855c1d3a4",
|
|
94
|
+
"src/gepa/strategies/batch_sampler.py": "9d009fb88a65663bf22681accfd198261d6689bf4a88931b74bbb76b6d1e2278",
|
|
95
|
+
"src/gepa/strategies/candidate_selector.py": "c2565e251d0cdc00d7548dde7fd0316190c97a64bc130ea86ea6e2fc8a232cfd",
|
|
96
|
+
"src/gepa/strategies/component_selector.py": "248cc6eb125eeddaa98f90b7780db2754ec0444a6143aeb1f97ff5660cf39568",
|
|
97
|
+
"src/gepa/strategies/eval_policy.py": "a54c5969ac47b82c5699e2bc0077ed09efbb046fa077661c10e8ed5f356055ce",
|
|
98
|
+
"src/gepa/strategies/instruction_proposal.py": "c3848586365c546afdbfb7ffd6f80b6f49def7575821ff352a29bbcf624bd977",
|
|
99
|
+
"src/gepa/strategies/proposal_sampling.py": "6a00c84708698adf24c207fa4ea5fdbd8a98a31009a84ecf3fffec5b2e5b3dac",
|
|
100
|
+
"src/gepa/strategies/proposal_selection.py": "8866ac697928ab0824653117876e08af7087d4cbfe24a4feaedb8ceef9b75b18",
|
|
101
|
+
"src/gepa/utils/__init__.py": "bc700cabd70b16ebce92ea16b579a256a0fdbb31900f226ddc3d0e9446f1f2da",
|
|
102
|
+
"src/gepa/utils/code_execution.py": "d21c5449193d8cb63a95593c9e3e7c450adea422b6f2453563eee9842efff8aa",
|
|
103
|
+
"src/gepa/utils/stdio_capture.py": "e2a24d14eb8dd79644554d32ff453ad83f13ffd937f0d97979c99f0d91dd778c",
|
|
104
|
+
"src/gepa/utils/stop_condition.py": "d33475e411a38353f34272b12b0b2a7af24bbbeca2c2e4fe6c204fa476e87fdb",
|
|
105
|
+
"src/gepa/visualization.py": "57261cff28ec8bdb2c00a3cd2b461ad24c60e69614c8f44721a95ab2065026ca"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright (c) 2025 Lakshya A Agrawal and the GEPA contributors
|
|
2
|
+
# https://github.com/gepa-ai/gepa
|
|
3
|
+
|
|
4
|
+
from . import (
|
|
5
|
+
optimize_anything, # expose submodule; use `from gepa.optimize_anything import optimize_anything` for the function
|
|
6
|
+
)
|
|
7
|
+
from .adapters import default_adapter
|
|
8
|
+
from .api import optimize
|
|
9
|
+
from .core.adapter import EvaluationBatch, GEPAAdapter
|
|
10
|
+
from .core.result import GEPAResult
|
|
11
|
+
from .examples import aime
|
|
12
|
+
from .image import Image
|
|
13
|
+
from .utils.stop_condition import (
|
|
14
|
+
CompositeStopper,
|
|
15
|
+
FileStopper,
|
|
16
|
+
MaxMetricCallsStopper,
|
|
17
|
+
NoImprovementStopper,
|
|
18
|
+
ScoreThresholdStopper,
|
|
19
|
+
SignalStopper,
|
|
20
|
+
StopperProtocol,
|
|
21
|
+
TimeoutStopCondition,
|
|
22
|
+
)
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .anymaths_adapter import AnyMathsAdapter
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
from typing import Any, TypedDict
|
|
2
|
+
|
|
3
|
+
import litellm
|
|
4
|
+
from pydantic import BaseModel, Field
|
|
5
|
+
|
|
6
|
+
from gepa.core.adapter import EvaluationBatch, GEPAAdapter
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class AnyMathsDataInst(TypedDict):
|
|
10
|
+
input: str
|
|
11
|
+
additional_context: dict[str, str]
|
|
12
|
+
answer: str
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class AnyMathsTrajectory(TypedDict):
|
|
16
|
+
data: AnyMathsDataInst
|
|
17
|
+
full_assistant_response: str
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class AnyMathsRolloutOutput(TypedDict):
|
|
21
|
+
full_assistant_response: str
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class AnyMathsStructuredOutput(BaseModel):
|
|
25
|
+
final_answer: str = Field(
|
|
26
|
+
..., description="The final answer to the mathematical problem (i.e., no units, no other text)"
|
|
27
|
+
)
|
|
28
|
+
solution_pad: str = Field(..., description="The solution pad containing the step-by-step solution to the problem.")
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class AnyMathsAdapter(GEPAAdapter[AnyMathsDataInst, AnyMathsTrajectory, AnyMathsRolloutOutput]):
|
|
32
|
+
"""AnyMaths Adapter is a GEPAAdapter for any dataset that contains mathematical word problems
|
|
33
|
+
of varying complexity and structure. It is designed to handle a wide range of mathematical
|
|
34
|
+
tasks, including arithmetic, algebra, and more.
|
|
35
|
+
|
|
36
|
+
Note: Ollama must be installed and configured to use this adapter.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
def __init__(
|
|
40
|
+
self,
|
|
41
|
+
model: str,
|
|
42
|
+
failure_score: float = 0.0,
|
|
43
|
+
api_base: str | None = "http://localhost:11434",
|
|
44
|
+
max_litellm_workers: int = 10,
|
|
45
|
+
) -> None:
|
|
46
|
+
import litellm
|
|
47
|
+
|
|
48
|
+
self.model = model
|
|
49
|
+
self.failure_score = failure_score
|
|
50
|
+
self.litellm = litellm
|
|
51
|
+
self.max_litellm_workers = max_litellm_workers
|
|
52
|
+
self.api_base = api_base
|
|
53
|
+
|
|
54
|
+
if self.model.startswith("ollama"):
|
|
55
|
+
assert self.api_base is not None, "API base URL must be provided when using Ollama."
|
|
56
|
+
|
|
57
|
+
if self.api_base is None or self.api_base == "":
|
|
58
|
+
self.api_base = None
|
|
59
|
+
|
|
60
|
+
def evaluate(
|
|
61
|
+
self,
|
|
62
|
+
batch: list[AnyMathsDataInst],
|
|
63
|
+
candidate: dict[str, str],
|
|
64
|
+
capture_traces: bool = False,
|
|
65
|
+
) -> EvaluationBatch[AnyMathsTrajectory, AnyMathsRolloutOutput]:
|
|
66
|
+
import ast
|
|
67
|
+
|
|
68
|
+
outputs: list[AnyMathsRolloutOutput] = []
|
|
69
|
+
scores: list[float] = []
|
|
70
|
+
trajectories: list[AnyMathsTrajectory] | None = [] if capture_traces else None
|
|
71
|
+
|
|
72
|
+
if not candidate:
|
|
73
|
+
raise ValueError("Candidate must contain at least one component text.")
|
|
74
|
+
|
|
75
|
+
system_content = next(iter(candidate.values()))
|
|
76
|
+
|
|
77
|
+
litellm_requests = []
|
|
78
|
+
|
|
79
|
+
for data in batch:
|
|
80
|
+
user_content = f"{data['input']}"
|
|
81
|
+
|
|
82
|
+
messages = [
|
|
83
|
+
{"role": "system", "content": system_content},
|
|
84
|
+
{"role": "user", "content": user_content},
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
litellm_requests.append(messages)
|
|
88
|
+
|
|
89
|
+
try:
|
|
90
|
+
responses = self.litellm.batch_completion(
|
|
91
|
+
model=self.model,
|
|
92
|
+
messages=litellm_requests,
|
|
93
|
+
api_base=self.api_base,
|
|
94
|
+
max_workers=self.max_litellm_workers,
|
|
95
|
+
format=AnyMathsStructuredOutput.model_json_schema(),
|
|
96
|
+
response_format={
|
|
97
|
+
"type": "json_object",
|
|
98
|
+
"response_schema": AnyMathsStructuredOutput.model_json_schema(),
|
|
99
|
+
"enforce_validation": True,
|
|
100
|
+
},
|
|
101
|
+
)
|
|
102
|
+
except litellm.exceptions.JSONSchemaValidationError as e:
|
|
103
|
+
raise e
|
|
104
|
+
|
|
105
|
+
for data, response in zip(batch, responses, strict=False):
|
|
106
|
+
correct_output_format = True
|
|
107
|
+
try:
|
|
108
|
+
assistant_response = ast.literal_eval(response.choices[0].message.content.strip())
|
|
109
|
+
except Exception:
|
|
110
|
+
assistant_response = "Assistant failed to respond with the correct answer or format."
|
|
111
|
+
correct_output_format = False
|
|
112
|
+
|
|
113
|
+
if correct_output_format:
|
|
114
|
+
structured_assistant_response = f"Assistant's Solution: {assistant_response['solution_pad']}\n"
|
|
115
|
+
structured_assistant_response += f"Final Answer: {assistant_response['final_answer']}"
|
|
116
|
+
output = {"full_assistant_response": structured_assistant_response}
|
|
117
|
+
score = 1.0 if data["answer"] in assistant_response["final_answer"] else self.failure_score
|
|
118
|
+
else:
|
|
119
|
+
output = {"full_assistant_response": assistant_response}
|
|
120
|
+
score = self.failure_score
|
|
121
|
+
|
|
122
|
+
outputs.append(output)
|
|
123
|
+
scores.append(score)
|
|
124
|
+
|
|
125
|
+
if capture_traces:
|
|
126
|
+
trajectories.append({"data": data, "full_assistant_response": output["full_assistant_response"]})
|
|
127
|
+
# Return results for the entire batch (not just the first item)
|
|
128
|
+
return EvaluationBatch(outputs=outputs, scores=scores, trajectories=trajectories)
|
|
129
|
+
|
|
130
|
+
def make_reflective_dataset(
|
|
131
|
+
self,
|
|
132
|
+
candidate: dict[str, str],
|
|
133
|
+
eval_batch: EvaluationBatch[AnyMathsTrajectory, AnyMathsRolloutOutput],
|
|
134
|
+
components_to_update: list[str],
|
|
135
|
+
) -> dict[str, list[dict[str, Any]]]:
|
|
136
|
+
ret_d: dict[str, list[dict[str, Any]]] = {}
|
|
137
|
+
|
|
138
|
+
assert len(components_to_update) == 1
|
|
139
|
+
comp = components_to_update[0]
|
|
140
|
+
|
|
141
|
+
items: list[dict[str, Any]] = []
|
|
142
|
+
trace_instances = list(zip(eval_batch.trajectories, eval_batch.scores, eval_batch.outputs, strict=False))
|
|
143
|
+
|
|
144
|
+
for trace_instance in trace_instances:
|
|
145
|
+
traj, score, _ = trace_instance
|
|
146
|
+
data = traj["data"]
|
|
147
|
+
generated_outputs = traj["full_assistant_response"]
|
|
148
|
+
|
|
149
|
+
if score > 0.0:
|
|
150
|
+
feedback = f"The generated response is correct. The final answer is: {data['answer']}."
|
|
151
|
+
else:
|
|
152
|
+
additional_context_str = "\n".join(f"{k}: {v}" for k, v in data["additional_context"].items())
|
|
153
|
+
if additional_context_str:
|
|
154
|
+
feedback = (
|
|
155
|
+
f"The generated response is incorrect. The correct answer is: {data['answer']}. "
|
|
156
|
+
"Ensure that the correct answer is included in the response exactly as it is. "
|
|
157
|
+
f"Here is some additional context that might be helpful:\n{additional_context_str}"
|
|
158
|
+
)
|
|
159
|
+
else:
|
|
160
|
+
feedback = (
|
|
161
|
+
f"The generated response is incorrect. The correct answer is: {data['answer']}. "
|
|
162
|
+
"Ensure that the correct answer is included in the response exactly as it is."
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
d = {"Inputs": data["input"], "Generated Outputs": generated_outputs, "Feedback": feedback}
|
|
166
|
+
|
|
167
|
+
items.append(d)
|
|
168
|
+
|
|
169
|
+
ret_d[comp] = items
|
|
170
|
+
|
|
171
|
+
if len(items) == 0:
|
|
172
|
+
raise Exception("No valid predictions found for any module.")
|
|
173
|
+
|
|
174
|
+
return ret_d
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright (c) 2025 Lakshya A Agrawal and the GEPA contributors
|
|
2
|
+
# https://github.com/gepa-ai/gepa
|
|
3
|
+
|
|
4
|
+
from .confidence_adapter import (
|
|
5
|
+
ConfidenceAdapter,
|
|
6
|
+
ConfidenceDataInst,
|
|
7
|
+
ConfidenceRolloutOutput,
|
|
8
|
+
ConfidenceTrajectory,
|
|
9
|
+
)
|
|
10
|
+
from .scoring import (
|
|
11
|
+
LinearBlendScoring,
|
|
12
|
+
ScoringStrategy,
|
|
13
|
+
SigmoidScoring,
|
|
14
|
+
ThresholdScoring,
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
__all__ = [
|
|
18
|
+
"ConfidenceAdapter",
|
|
19
|
+
"ConfidenceDataInst",
|
|
20
|
+
"ConfidenceRolloutOutput",
|
|
21
|
+
"ConfidenceTrajectory",
|
|
22
|
+
"LinearBlendScoring",
|
|
23
|
+
"ScoringStrategy",
|
|
24
|
+
"SigmoidScoring",
|
|
25
|
+
"ThresholdScoring",
|
|
26
|
+
]
|