horde-model-reference 2.1.3__tar.gz → 3.0.0__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.
- horde_model_reference-3.0.0/.env.example +514 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.env.primary.example +6 -6
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.github/workflows/codeql.yml +1 -1
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.github/workflows/docker-validation.yml +16 -8
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.github/workflows/lint.yml +9 -11
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.github/workflows/maintests.yml +32 -8
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.github/workflows/prtests.yml +39 -20
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.github/workflows/release.yml +1 -1
- horde_model_reference-3.0.0/.hadolint.yaml +10 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.pre-commit-config.yaml +2 -1
- horde_model_reference-2.1.3/.CONTRIBUTING.md → horde_model_reference-3.0.0/CONTRIBUTING.md +43 -11
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/DEPLOYMENT.md +6 -6
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/Dockerfile +2 -1
- {horde_model_reference-2.1.3/src/horde_model_reference.egg-info → horde_model_reference-3.0.0}/PKG-INFO +99 -21
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/README.md +94 -17
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docker-compose.redis.yml +6 -6
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docker-compose.sync.example.yml +1 -1
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docker-compose.yml +1 -1
- horde_model_reference-3.0.0/docs/.pages +6 -0
- horde_model_reference-3.0.0/docs/concepts/.pages +9 -0
- horde_model_reference-3.0.0/docs/concepts/analytics_pipeline.md +116 -0
- horde_model_reference-3.0.0/docs/concepts/architecture_overview.md +94 -0
- horde_model_reference-3.0.0/docs/concepts/canonical_format.md +181 -0
- horde_model_reference-3.0.0/docs/concepts/design_decisions.md +46 -0
- horde_model_reference-3.0.0/docs/concepts/integrations.md +90 -0
- horde_model_reference-3.0.0/docs/concepts/request_lifecycle.md +152 -0
- horde_model_reference-3.0.0/docs/concepts/sync_system.md +98 -0
- horde_model_reference-3.0.0/docs/guides/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/base_cache.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/cache_hydrator.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/constants.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/deletion_risk_analysis.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/deletion_risk_cache.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/filter_presets.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/statistics.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/statistics_cache.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/text_model_grouping.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/analytics/text_model_parser.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/audit/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/audit/events.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/audit/reader.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/audit/replay.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/audit/writer.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/cli/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/data/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/diff_service.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/http_retry.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/integrations/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/integrations/data_merger.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/integrations/horde_api_integration.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/integrations/horde_api_models.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/legacy/text_csv_utils.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/legacy/validation/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/model_consts/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/model_consts/image.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/model_consts/shared.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/model_consts/text.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/model_kind_validation.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/pending_queue/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/pending_queue/apply.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/pending_queue/audit_events.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/pending_queue/audit_view.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/pending_queue/diff_utils.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/pending_queue/models.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/pending_queue/service.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/pending_queue/store.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/query.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/query_fields.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/registries.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/pending_queue/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/pending_queue/audit_router.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/pending_queue/dependencies.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/pending_queue/router.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/statistics/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/statistics/routers/deletion_risk.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/statistics/routers/statistics.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v1/routers/pending_queue.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v1/routers/pending_queue_audit.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v1/routers/write_validations.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v2/routers/.pages +1 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v2/routers/pending_queue.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v2/routers/pending_queue_audit.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v2/routers/search.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v2/routers/text_utils.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v2/routers/user.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/service/v2/routers/write_validations.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/sync/legacy_text_validator.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/sync/text_generation_serializer.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/text_backend_names.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/text_model_duplicates.md +2 -0
- horde_model_reference-3.0.0/docs/horde_model_reference/text_model_write_processor.md +2 -0
- horde_model_reference-3.0.0/docs/index.md +40 -0
- horde_model_reference-3.0.0/docs/reference/.pages +9 -0
- horde_model_reference-3.0.0/docs/reference/audit_trail.md +93 -0
- {horde_model_reference-2.1.3/docs → horde_model_reference-3.0.0/docs/reference}/model_reference_backend.md +69 -7
- horde_model_reference-3.0.0/docs/reference/model_reference_records.md +85 -0
- horde_model_reference-3.0.0/docs/reference/pending_queue.md +212 -0
- {horde_model_reference-2.1.3/docs → horde_model_reference-3.0.0/docs/reference}/primary_deployments.md +6 -4
- {horde_model_reference-2.1.3/docs → horde_model_reference-3.0.0/docs/reference}/replica_backend_base.md +71 -5
- horde_model_reference-3.0.0/docs/tutorials/.pages +5 -0
- horde_model_reference-3.0.0/docs/tutorials/configuration_and_troubleshooting.md +168 -0
- horde_model_reference-3.0.0/docs/tutorials/getting_started.md +118 -0
- horde_model_reference-3.0.0/docs/tutorials/querying_models.md +298 -0
- horde_model_reference-3.0.0/docs/tutorials/working_with_records.md +186 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/pyproject.toml +6 -4
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/schemas/stable_diffusion.schema.json +14 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/legacy_text/convert.py +7 -7
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/legacy_text/reverse_convert.py +19 -10
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/sync/README.md +7 -7
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/sync/github_app_auth_example.md +4 -4
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/sync/sync_github_references.py +156 -35
- horde_model_reference-3.0.0/scripts/verify_query_fields.py +105 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/__init__.py +237 -22
- horde_model_reference-3.0.0/src/horde_model_reference/_version.py +24 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/analytics/__init__.py +16 -10
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/analytics/base_cache.py +144 -45
- horde_model_reference-3.0.0/src/horde_model_reference/analytics/cache_hydrator.py +373 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/analytics/constants.py +2 -2
- horde_model_reference-2.1.3/src/horde_model_reference/analytics/audit_analysis.py → horde_model_reference-3.0.0/src/horde_model_reference/analytics/deletion_risk_analysis.py +223 -109
- horde_model_reference-2.1.3/src/horde_model_reference/analytics/audit_cache.py → horde_model_reference-3.0.0/src/horde_model_reference/analytics/deletion_risk_cache.py +25 -23
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/analytics/filter_presets.py +42 -33
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/analytics/statistics.py +1 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/analytics/statistics_cache.py +8 -6
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/analytics/text_model_grouping.py +76 -44
- horde_model_reference-3.0.0/src/horde_model_reference/analytics/text_model_parser.py +555 -0
- horde_model_reference-3.0.0/src/horde_model_reference/audit/__init__.py +17 -0
- horde_model_reference-3.0.0/src/horde_model_reference/audit/events.py +137 -0
- horde_model_reference-3.0.0/src/horde_model_reference/audit/reader.py +118 -0
- horde_model_reference-3.0.0/src/horde_model_reference/audit/replay.py +109 -0
- horde_model_reference-3.0.0/src/horde_model_reference/audit/writer.py +111 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/backends/__init__.py +16 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/backends/base.py +94 -8
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/backends/filesystem_backend.py +433 -132
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/backends/github_backend.py +107 -220
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/backends/http_backend.py +97 -98
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/backends/redis_backend.py +56 -18
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/backends/replica_backend_base.py +19 -2
- horde_model_reference-3.0.0/src/horde_model_reference/data/defaults.json +8 -0
- horde_model_reference-3.0.0/src/horde_model_reference/data/generation_params.json +30 -0
- horde_model_reference-3.0.0/src/horde_model_reference/diff_service.py +244 -0
- horde_model_reference-3.0.0/src/horde_model_reference/http_retry.py +247 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/integrations/data_merger.py +21 -1
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/integrations/horde_api_integration.py +142 -23
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/integrations/horde_api_models.py +19 -5
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/legacy/classes/legacy_converters.py +13 -8
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/legacy/classes/legacy_models.py +5 -3
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/legacy/convert_all_legacy_dbs.py +13 -0
- horde_model_reference-3.0.0/src/horde_model_reference/legacy/text_csv_utils.py +353 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/legacy/validate_sd.py +7 -4
- horde_model_reference-3.0.0/src/horde_model_reference/meta_consts.py +413 -0
- horde_model_reference-3.0.0/src/horde_model_reference/model_consts/__init__.py +1 -0
- horde_model_reference-3.0.0/src/horde_model_reference/model_consts/image.py +296 -0
- horde_model_reference-3.0.0/src/horde_model_reference/model_consts/shared.py +71 -0
- horde_model_reference-3.0.0/src/horde_model_reference/model_consts/text.py +41 -0
- horde_model_reference-3.0.0/src/horde_model_reference/model_kind_validation.py +78 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/model_reference_manager.py +421 -44
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/model_reference_metadata.py +33 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/model_reference_records.py +178 -66
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/path_consts.py +52 -22
- horde_model_reference-3.0.0/src/horde_model_reference/pending_queue/__init__.py +79 -0
- horde_model_reference-3.0.0/src/horde_model_reference/pending_queue/apply.py +364 -0
- horde_model_reference-3.0.0/src/horde_model_reference/pending_queue/audit_events.py +134 -0
- horde_model_reference-3.0.0/src/horde_model_reference/pending_queue/audit_view.py +560 -0
- horde_model_reference-3.0.0/src/horde_model_reference/pending_queue/diff_utils.py +230 -0
- horde_model_reference-3.0.0/src/horde_model_reference/pending_queue/models.py +218 -0
- horde_model_reference-3.0.0/src/horde_model_reference/pending_queue/service.py +405 -0
- horde_model_reference-3.0.0/src/horde_model_reference/pending_queue/store.py +377 -0
- horde_model_reference-3.0.0/src/horde_model_reference/query.py +777 -0
- horde_model_reference-3.0.0/src/horde_model_reference/query_fields.py +283 -0
- horde_model_reference-3.0.0/src/horde_model_reference/registries.py +156 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/app.py +151 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/pending_queue/__init__.py +1 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/pending_queue/audit_router.py +221 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/pending_queue/dependencies.py +17 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/pending_queue/router.py +658 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/shared.py +468 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/statistics/__init__.py +1 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/statistics/routers/__init__.py +1 -0
- horde_model_reference-2.1.3/src/horde_model_reference/service/statistics/routers/audit.py → horde_model_reference-3.0.0/src/horde_model_reference/service/statistics/routers/deletion_risk.py +121 -81
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/statistics/routers/statistics.py +12 -7
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v1/routers/create_update.py +150 -89
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v1/routers/metadata.py +11 -7
- horde_model_reference-3.0.0/src/horde_model_reference/service/v1/routers/pending_queue.py +8 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/v1/routers/pending_queue_audit.py +5 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v1/routers/references.py +29 -3
- horde_model_reference-3.0.0/src/horde_model_reference/service/v1/routers/shared.py +319 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/v1/routers/write_validations.py +9 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/v2/models.py +78 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v2/routers/metadata.py +7 -7
- horde_model_reference-3.0.0/src/horde_model_reference/service/v2/routers/pending_queue.py +8 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/v2/routers/pending_queue_audit.py +5 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v2/routers/references.py +493 -230
- horde_model_reference-3.0.0/src/horde_model_reference/service/v2/routers/search.py +270 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/v2/routers/text_utils.py +540 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/v2/routers/user.py +46 -0
- horde_model_reference-3.0.0/src/horde_model_reference/service/v2/routers/write_validations.py +11 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/showcase/README.md +1 -1
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/sync/__init__.py +3 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/sync/comparator.py +1 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/sync/config.py +5 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/sync/github_client.py +181 -71
- horde_model_reference-3.0.0/src/horde_model_reference/sync/legacy_text_validator.py +118 -0
- horde_model_reference-3.0.0/src/horde_model_reference/sync/text_generation_serializer.py +464 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/sync/watch_mode.py +21 -25
- horde_model_reference-3.0.0/src/horde_model_reference/text_backend_names.py +115 -0
- horde_model_reference-3.0.0/src/horde_model_reference/text_model_duplicates.py +139 -0
- horde_model_reference-3.0.0/src/horde_model_reference/text_model_write_processor.py +372 -0
- horde_model_reference-3.0.0/src/horde_model_reference/util.py +38 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0/src/horde_model_reference.egg-info}/PKG-INFO +99 -21
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference.egg-info/SOURCES.txt +164 -12
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference.egg-info/requires.txt +4 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/README.md +3 -3
- horde_model_reference-3.0.0/tests/backends/test_backends_init.py +20 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/backends/test_http_backend.py +1 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/backends/test_primary_mode.py +8 -8
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/backends/test_redis_backend.py +7 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/conftest.py +64 -23
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/create_example_json.py +3 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/horde_api/conftest.py +3 -3
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/horde_api/test_data_merger.py +37 -0
- horde_model_reference-2.1.3/tests/horde_api/test_audit_analysis_live.py → horde_model_reference-3.0.0/tests/horde_api/test_deletion_risk_analysis_live.py +46 -46
- horde_model_reference-2.1.3/tests/horde_api/test_audit_worker_count.py → horde_model_reference-3.0.0/tests/horde_api/test_deletion_risk_worker_count.py +2 -2
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/horde_api/test_horde_api_integration.py +164 -73
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/horde_api/test_horde_api_integration_live.py +1 -1
- horde_model_reference-3.0.0/tests/pending_queue/test_apply.py +562 -0
- horde_model_reference-3.0.0/tests/pending_queue/test_audit_view.py +95 -0
- horde_model_reference-3.0.0/tests/pending_queue/test_diff_service.py +113 -0
- horde_model_reference-3.0.0/tests/pending_queue/test_service.py +316 -0
- horde_model_reference-3.0.0/tests/pending_queue/test_store.py +191 -0
- horde_model_reference-3.0.0/tests/service/test_api_design_phase4.py +387 -0
- horde_model_reference-3.0.0/tests/service/test_pending_queue_audit_endpoints.py +181 -0
- horde_model_reference-3.0.0/tests/service/test_shared_allowlists.py +167 -0
- horde_model_reference-3.0.0/tests/service/test_shared_auth.py +100 -0
- horde_model_reference-3.0.0/tests/service/test_text_utils.py +259 -0
- horde_model_reference-3.0.0/tests/service/test_user_roles_endpoint.py +25 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/service/test_v1_api.py +227 -41
- horde_model_reference-3.0.0/tests/service/test_v2_api.py +1812 -0
- horde_model_reference-3.0.0/tests/service/test_v2_search.py +491 -0
- horde_model_reference-3.0.0/tests/statistics_and_audit/test_cache_hydrator.py +830 -0
- horde_model_reference-2.1.3/tests/statistics_and_audit/test_audit_analysis.py → horde_model_reference-3.0.0/tests/statistics_and_audit/test_deletion_risk_analysis.py +192 -187
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/statistics_and_audit/test_statistics_cache.py +5 -13
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/statistics_and_audit/test_text_model_grouping.py +95 -49
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/statistics_and_audit/test_text_model_parser.py +124 -9
- horde_model_reference-3.0.0/tests/sync/test_github_client.py +242 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/sync/test_legacy_text_validator.py +13 -22
- horde_model_reference-3.0.0/tests/sync/test_text_generation_serializer.py +1291 -0
- horde_model_reference-3.0.0/tests/test_audit_replay.py +248 -0
- horde_model_reference-3.0.0/tests/test_audit_trail.py +202 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_broken_tutu_grouping.py +4 -4
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_canonical_format.py +35 -36
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_consts.py +8 -0
- horde_model_reference-3.0.0/tests/test_csv_rows_to_legacy_dict.py +734 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_metadata.py +7 -7
- horde_model_reference-3.0.0/tests/test_model_kind_validation.py +42 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_model_reference_manager.py +176 -89
- horde_model_reference-3.0.0/tests/test_query.py +1143 -0
- horde_model_reference-3.0.0/tests/test_records.py +175 -0
- horde_model_reference-3.0.0/tests/test_registries.py +689 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_text_generation_csv_conversion.py +1 -0
- horde_model_reference-3.0.0/tests/test_text_model_duplicates.py +116 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_text_model_group.py +5 -5
- horde_model_reference-3.0.0/tests/test_text_model_write_processor.py +333 -0
- horde_model_reference-3.0.0/uv.lock +2797 -0
- horde_model_reference-2.1.3/.env.example +0 -181
- horde_model_reference-2.1.3/docs/index.md +0 -1
- horde_model_reference-2.1.3/src/horde_model_reference/_version.py +0 -34
- horde_model_reference-2.1.3/src/horde_model_reference/analytics/text_model_parser.py +0 -308
- horde_model_reference-2.1.3/src/horde_model_reference/legacy/text_csv_utils.py +0 -129
- horde_model_reference-2.1.3/src/horde_model_reference/meta_consts.py +0 -423
- horde_model_reference-2.1.3/src/horde_model_reference/service/app.py +0 -58
- horde_model_reference-2.1.3/src/horde_model_reference/service/shared.py +0 -200
- horde_model_reference-2.1.3/src/horde_model_reference/service/statistics/__init__.py +0 -1
- horde_model_reference-2.1.3/src/horde_model_reference/service/statistics/routers/__init__.py +0 -1
- horde_model_reference-2.1.3/src/horde_model_reference/service/v1/routers/shared.py +0 -99
- horde_model_reference-2.1.3/src/horde_model_reference/service/v2/models.py +0 -25
- horde_model_reference-2.1.3/src/horde_model_reference/sync/legacy_text_validator.py +0 -428
- horde_model_reference-2.1.3/src/horde_model_reference/util.py +0 -15
- horde_model_reference-2.1.3/tests/service/test_v2_api.py +0 -597
- horde_model_reference-2.1.3/tests/test_records.py +0 -85
- horde_model_reference-2.1.3/uv.lock +0 -3609
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.dockerignore +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.env.sync.example +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.gitignore +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.gitmodules +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.readthedocs.yaml +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/LICENSE +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/MANIFEST.in +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/build_docs.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/_version.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/backends/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/backends/base.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/backends/filesystem_backend.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/backends/github_backend.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/backends/http_backend.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/backends/redis_backend.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/backends/replica_backend_base.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/legacy/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/legacy/classes/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/legacy/classes/legacy_converters.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/legacy/classes/legacy_models.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/legacy/convert_all_legacy_dbs.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/legacy/validate_sd.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/meta_consts.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/model_reference_manager.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/model_reference_metadata.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/model_reference_records.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/path_consts.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/app.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/shared.md +0 -0
- {horde_model_reference-2.1.3/docs/horde_model_reference/service/v1 → horde_model_reference-3.0.0/docs/horde_model_reference/service/statistics}/routers/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v1/.pages +0 -0
- {horde_model_reference-2.1.3/docs/horde_model_reference/service/v2 → horde_model_reference-3.0.0/docs/horde_model_reference/service/v1}/routers/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v1/routers/create_update.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v1/routers/metadata.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v1/routers/references.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v1/routers/shared.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v2/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v2/models.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v2/routers/metadata.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/service/v2/routers/references.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/showcase/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/sync/.pages +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/sync/comparator.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/sync/config.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/sync/github_client.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/sync/watch_mode.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/horde_model_reference/util.md +0 -0
- {horde_model_reference-2.1.3/docs → horde_model_reference-3.0.0/docs/reference}/legacy_csv_conversion.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/docs/stylesheets/extra.css +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/mkdocs.yml +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/schemas/stable_diffusion.example.json +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/README.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/get_all_names.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/legacy_text/defaults.json +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/scripts/legacy_text/generation_params.json +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/setup.cfg +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/integrations/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/legacy/README.md +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/legacy/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/legacy/classes/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/py.typed +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v1/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v1/routers/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v2/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference/service/v2/routers/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference.egg-info/dependency_links.txt +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference.egg-info/entry_points.txt +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/src/horde_model_reference.egg-info/top_level.txt +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/test_endpoint.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/backends/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/check_model_ref_type_blocks.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/create_env_file_example.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/helpers.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/horde_api/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/horde_api/test_indexed_horde_types.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/integrations/test_stats_aggregation.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/service/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/service/test_replica_backend_base.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/statistics_and_audit/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/statistics_and_audit/test_statistics.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/sync/__init__.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/sync/test_comparator.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/sync/test_comparator_integration.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/sync/test_config.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_combined_model_statistics.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_convert_legacy_database.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_converters.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_env_example.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_examples.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_scripts.py +0 -0
- {horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/tests/test_text_generation_file_paths.py +0 -0
|
@@ -0,0 +1,514 @@
|
|
|
1
|
+
# Auto-generated example environment file for Horde Model Reference
|
|
2
|
+
# This file is generated by the settings_doc package.
|
|
3
|
+
# Do not edit this file manually.
|
|
4
|
+
|
|
5
|
+
# Generated on (UTC): 2026-03-26 22:29:13
|
|
6
|
+
|
|
7
|
+
# DEPLOYMENT QUICK START GUIDE
|
|
8
|
+
|
|
9
|
+
# Choose your deployment scenario and uncomment the relevant settings below:
|
|
10
|
+
|
|
11
|
+
# 1. REPLICA MODE (Default) - Client/Worker nodes
|
|
12
|
+
# - Uses GitHub or PRIMARY API to fetch model references
|
|
13
|
+
# - Set: HORDE_MODEL_REFERENCE_REPLICATE_MODE=REPLICA
|
|
14
|
+
# - Optionally set: HORDE_MODEL_REFERENCE_PRIMARY_API_URL=<your-primary-url>
|
|
15
|
+
|
|
16
|
+
# 2. PRIMARY MODE - Single Worker (No Redis)
|
|
17
|
+
# - Authoritative source for model references
|
|
18
|
+
# - Set: HORDE_MODEL_REFERENCE_REPLICATE_MODE=PRIMARY
|
|
19
|
+
# - No Redis configuration needed
|
|
20
|
+
# - Ideal for: Development, testing, low-traffic deployments
|
|
21
|
+
|
|
22
|
+
# 3. PRIMARY MODE - Multi-Worker (With Redis)
|
|
23
|
+
# - Authoritative source with distributed caching
|
|
24
|
+
# - Set: HORDE_MODEL_REFERENCE_REPLICATE_MODE=PRIMARY
|
|
25
|
+
# - Configure all HORDE_MODEL_REFERENCE_REDIS_* settings
|
|
26
|
+
# - Ideal for: Production, high-traffic deployments
|
|
27
|
+
|
|
28
|
+
# For detailed deployment instructions, see:
|
|
29
|
+
# - Docker: docker-compose.yml (single-worker)
|
|
30
|
+
# - Docker + Redis: docker-compose.redis.yml (multi-worker)
|
|
31
|
+
# - Non-Docker: DEPLOYMENT.md
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
################################################################################
|
|
35
|
+
# Horde Model Reference Settings
|
|
36
|
+
################################################################################
|
|
37
|
+
|
|
38
|
+
# Indicates if copies of the model reference are canonical or replicated. Clients should always be replicas.
|
|
39
|
+
# Possible values:
|
|
40
|
+
# `PRIMARY`, `REPLICA`
|
|
41
|
+
# HORDE_MODEL_REFERENCE_REPLICATE_MODE=REPLICA
|
|
42
|
+
|
|
43
|
+
# Whether to create the default model reference folders on initialization.
|
|
44
|
+
# HORDE_MODEL_REFERENCE_MAKE_FOLDERS=False
|
|
45
|
+
|
|
46
|
+
# The GitHub owner of the repository.
|
|
47
|
+
# HORDE_MODEL_REFERENCE_IMAGE_GITHUB_REPO__OWNER=Haidra-Org
|
|
48
|
+
|
|
49
|
+
# The name of the GitHub repository used for image model references.
|
|
50
|
+
# HORDE_MODEL_REFERENCE_IMAGE_GITHUB_REPO__NAME=AI-Horde-image-model-reference
|
|
51
|
+
|
|
52
|
+
# The GitHub branch of the repository.
|
|
53
|
+
# HORDE_MODEL_REFERENCE_IMAGE_GITHUB_REPO__BRANCH=main
|
|
54
|
+
|
|
55
|
+
# Settings for the GitHub proxy, if any.
|
|
56
|
+
# HORDE_MODEL_REFERENCE_IMAGE_GITHUB_REPO__PROXY_SETTINGS=
|
|
57
|
+
|
|
58
|
+
# The GitHub owner of the repository.
|
|
59
|
+
# HORDE_MODEL_REFERENCE_TEXT_GITHUB_REPO__OWNER=Haidra-Org
|
|
60
|
+
|
|
61
|
+
# The name of the GitHub repository used for text model references.
|
|
62
|
+
# HORDE_MODEL_REFERENCE_TEXT_GITHUB_REPO__NAME=AI-Horde-text-model-reference
|
|
63
|
+
|
|
64
|
+
# The GitHub branch of the repository.
|
|
65
|
+
# HORDE_MODEL_REFERENCE_TEXT_GITHUB_REPO__BRANCH=main
|
|
66
|
+
|
|
67
|
+
# Settings for the GitHub proxy, if any.
|
|
68
|
+
# HORDE_MODEL_REFERENCE_TEXT_GITHUB_REPO__PROXY_SETTINGS=
|
|
69
|
+
|
|
70
|
+
# The time-to-live for in memory caches of model reference files, in seconds.
|
|
71
|
+
# HORDE_MODEL_REFERENCE_CACHE_TTL_SECONDS=60
|
|
72
|
+
|
|
73
|
+
# The maximum number of attempts to retry downloading a legacy model reference file.
|
|
74
|
+
# HORDE_MODEL_REFERENCE_LEGACY_DOWNLOAD_RETRY_MAX_ATTEMPTS=3
|
|
75
|
+
|
|
76
|
+
# The backoff time in seconds between retry attempts when downloading a legacy model reference file.
|
|
77
|
+
# HORDE_MODEL_REFERENCE_LEGACY_DOWNLOAD_RETRY_BACKOFF_SECONDS=2
|
|
78
|
+
|
|
79
|
+
# Whether to use Redis for distributed caching. Only should be used in PRIMARY mode.
|
|
80
|
+
# HORDE_MODEL_REFERENCE_REDIS__USE_REDIS=False
|
|
81
|
+
|
|
82
|
+
# Redis connection URL. Format: redis://[:password]@host:port/db
|
|
83
|
+
# HORDE_MODEL_REFERENCE_REDIS__URL=redis://localhost:6379/0
|
|
84
|
+
|
|
85
|
+
# Connection pool size for Redis connections.
|
|
86
|
+
# HORDE_MODEL_REFERENCE_REDIS__POOL_SIZE=10
|
|
87
|
+
|
|
88
|
+
# Socket timeout in seconds for Redis operations.
|
|
89
|
+
# HORDE_MODEL_REFERENCE_REDIS__SOCKET_TIMEOUT=5
|
|
90
|
+
|
|
91
|
+
# Connection timeout in seconds when establishing Redis connection.
|
|
92
|
+
# HORDE_MODEL_REFERENCE_REDIS__SOCKET_CONNECT_TIMEOUT=5
|
|
93
|
+
|
|
94
|
+
# Maximum number of retry attempts for failed Redis operations.
|
|
95
|
+
# HORDE_MODEL_REFERENCE_REDIS__RETRY_MAX_ATTEMPTS=3
|
|
96
|
+
|
|
97
|
+
# Backoff time in seconds between retry attempts for Redis operations.
|
|
98
|
+
# HORDE_MODEL_REFERENCE_REDIS__RETRY_BACKOFF_SECONDS=0.5
|
|
99
|
+
|
|
100
|
+
# Prefix for all Redis keys to namespace model reference data.
|
|
101
|
+
# HORDE_MODEL_REFERENCE_REDIS__KEY_PREFIX=horde:model_ref
|
|
102
|
+
|
|
103
|
+
# TTL for cached entries in seconds. If None, uses cache_ttl_seconds from main settings.
|
|
104
|
+
# HORDE_MODEL_REFERENCE_REDIS__TTL_SECONDS=
|
|
105
|
+
|
|
106
|
+
# Enable pub/sub for cache invalidation across multiple PRIMARY workers.
|
|
107
|
+
# HORDE_MODEL_REFERENCE_REDIS__USE_PUBSUB=True
|
|
108
|
+
|
|
109
|
+
# URL of PRIMARY server API for REPLICA clients to fetch model references from. If None, REPLICA clients will only use GitHub. Example: https://stablehorde.net/api/model_references/
|
|
110
|
+
# HORDE_MODEL_REFERENCE_PRIMARY_API_URL=https://stablehorde.net/api/model_references/
|
|
111
|
+
|
|
112
|
+
# Timeout in seconds for HTTP requests to PRIMARY API.
|
|
113
|
+
# HORDE_MODEL_REFERENCE_PRIMARY_API_TIMEOUT=10
|
|
114
|
+
|
|
115
|
+
# Whether REPLICA clients should fallback to GitHub if PRIMARY API is unavailable.
|
|
116
|
+
# HORDE_MODEL_REFERENCE_ENABLE_GITHUB_FALLBACK=True
|
|
117
|
+
|
|
118
|
+
# Whether PRIMARY mode should seed from GitHub on first initialization if local files don't exist. Only used in PRIMARY mode. If True, will download and convert legacy references once on startup.
|
|
119
|
+
# HORDE_MODEL_REFERENCE_GITHUB_SEED_ENABLED=False
|
|
120
|
+
|
|
121
|
+
# Which format is the canonical source of truth. Controls which API has write access. 'v2' (default): v2 API has CRUD, v1 API is read-only (converts from v2 to legacy). 'LEGACY': v1 API has CRUD, v2 API is read-only (converts from legacy to v2).
|
|
122
|
+
# Possible values:
|
|
123
|
+
# `LEGACY`, `v2`
|
|
124
|
+
# HORDE_MODEL_REFERENCE_CANONICAL_FORMAT=v2
|
|
125
|
+
|
|
126
|
+
# Timeout in seconds for Horde API requests to fetch model status, statistics, and worker information.
|
|
127
|
+
# HORDE_MODEL_REFERENCE_HORDE_API_TIMEOUT=30
|
|
128
|
+
|
|
129
|
+
# Cache TTL in seconds for Horde API responses. Uses Redis if available, otherwise in-memory caching.
|
|
130
|
+
# HORDE_MODEL_REFERENCE_HORDE_API_CACHE_TTL=60
|
|
131
|
+
|
|
132
|
+
# Cache TTL in seconds for category statistics. Uses Redis if available, otherwise in-memory caching.
|
|
133
|
+
# HORDE_MODEL_REFERENCE_STATISTICS_CACHE_TTL=300
|
|
134
|
+
|
|
135
|
+
# Cache TTL in seconds for category audit results. Uses Redis if available, otherwise in-memory caching.
|
|
136
|
+
# HORDE_MODEL_REFERENCE_AUDIT_CACHE_TTL=300
|
|
137
|
+
|
|
138
|
+
# Enable background pre-computation of statistics. Currently not implemented (future feature).
|
|
139
|
+
# HORDE_MODEL_REFERENCE_ENABLE_STATISTICS_PRECOMPUTE=False
|
|
140
|
+
|
|
141
|
+
# Preferred file hosts for deletion risk analysis in audit endpoints.
|
|
142
|
+
# HORDE_MODEL_REFERENCE_PREFERRED_FILE_HOSTS=
|
|
143
|
+
|
|
144
|
+
# Percentage threshold for low usage flag in audit analysis. Default 0.0065% flags bottom ~10% of models. Set lower (e.g., 0.005%) to flag fewer models or higher (e.g., 0.01%) to flag more models.
|
|
145
|
+
# HORDE_MODEL_REFERENCE_LOW_USAGE_THRESHOLD_PERCENTAGE=0.0065
|
|
146
|
+
|
|
147
|
+
# Low usage threshold for text_generation models (2% - more lenient than image models at 0.65%).
|
|
148
|
+
# HORDE_MODEL_REFERENCE_TEXT_GEN_LOW_USAGE_THRESHOLD_PERCENTAGE=0.02
|
|
149
|
+
|
|
150
|
+
# Skip download host validation for text_generation models completely.
|
|
151
|
+
# HORDE_MODEL_REFERENCE_TEXT_GEN_IGNORE_DOWNLOAD_HOSTS=True
|
|
152
|
+
|
|
153
|
+
# Minimum monthly usage for text_generation to be flagged as critical (allows some usage).
|
|
154
|
+
# HORDE_MODEL_REFERENCE_TEXT_GEN_CRITICAL_USAGE_THRESHOLD=10
|
|
155
|
+
|
|
156
|
+
# Minimum worker count for text_generation to be flagged as critical (allows some workers).
|
|
157
|
+
# HORDE_MODEL_REFERENCE_TEXT_GEN_CRITICAL_WORKER_THRESHOLD=1
|
|
158
|
+
|
|
159
|
+
# Whether audit trail writes are enabled in PRIMARY deployments.
|
|
160
|
+
# HORDE_MODEL_REFERENCE_AUDIT__ENABLED=True
|
|
161
|
+
|
|
162
|
+
# Maximum size in bytes for each JSONL segment before rolling over to a new file.
|
|
163
|
+
# HORDE_MODEL_REFERENCE_AUDIT__MAX_SEGMENT_BYTES=5242880
|
|
164
|
+
|
|
165
|
+
# Subdirectory name (relative to cache home) for storing audit logs when no override is provided.
|
|
166
|
+
# HORDE_MODEL_REFERENCE_AUDIT__RELATIVE_SUBDIR=audit
|
|
167
|
+
|
|
168
|
+
# Absolute path override for audit log storage. When set, relative_subdir is ignored.
|
|
169
|
+
# HORDE_MODEL_REFERENCE_AUDIT__ROOT_PATH_OVERRIDE=
|
|
170
|
+
|
|
171
|
+
# Whether the pending queue workflow is enabled (PRIMARY deployments only).
|
|
172
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__ENABLED=True
|
|
173
|
+
|
|
174
|
+
# Relative folder under cache home used for queue persistence when no override is set.
|
|
175
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__RELATIVE_SUBDIR=pending_queue
|
|
176
|
+
|
|
177
|
+
# Absolute path override for queue persistence. When set, relative_subdir is ignored.
|
|
178
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__ROOT_PATH_OVERRIDE=
|
|
179
|
+
|
|
180
|
+
# Horde user IDs allowed to submit pending changes.
|
|
181
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__REQUESTOR_IDS=
|
|
182
|
+
|
|
183
|
+
# Horde user IDs allowed to approve/reject pending batches (superset of requestors).
|
|
184
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__APPROVER_IDS=
|
|
185
|
+
|
|
186
|
+
# Reserved for future rotation support (matches audit defaults).
|
|
187
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__MAX_SEGMENT_BYTES=5242880
|
|
188
|
+
|
|
189
|
+
# Enable background cache hydration to keep audit/statistics caches warm. When enabled, caches are proactively refreshed before TTL expiry so clients always get fast cached responses.
|
|
190
|
+
# HORDE_MODEL_REFERENCE_CACHE_HYDRATION_ENABLED=False
|
|
191
|
+
|
|
192
|
+
# Interval in seconds between cache hydration refreshes. Should be less than cache TTLs (statistics_cache_ttl, audit_cache_ttl) to ensure caches stay warm. Default 240s (4 min) with 300s TTLs.
|
|
193
|
+
# HORDE_MODEL_REFERENCE_CACHE_HYDRATION_INTERVAL_SECONDS=240
|
|
194
|
+
|
|
195
|
+
# Maximum age in seconds before stale cached data is discarded. While hydration is running, clients receive stale data instead of waiting for fresh data. Default 1 hour.
|
|
196
|
+
# HORDE_MODEL_REFERENCE_CACHE_HYDRATION_STALE_TTL_SECONDS=3600
|
|
197
|
+
|
|
198
|
+
# Delay in seconds before first hydration run after service startup. Allows service to fully initialize before background tasks begin.
|
|
199
|
+
# HORDE_MODEL_REFERENCE_CACHE_HYDRATION_STARTUP_DELAY_SECONDS=5
|
|
200
|
+
|
|
201
|
+
# List of allowed origins for CORS. Warns if unset or empty, as it falls back to the FastAPI default behavior. See https://fastapi.tiangolo.com/tutorial/cors/#use-corsmiddleware for details.
|
|
202
|
+
# HORDE_MODEL_REFERENCE_CORS_ALLOWED_ORIGINS=
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
################################################################################
|
|
207
|
+
# AI Horde Client+Worker Settings
|
|
208
|
+
################################################################################
|
|
209
|
+
|
|
210
|
+
# Alternative API endpoints for the AI Horde. These should all lead to the same logical AI Horde.
|
|
211
|
+
# ALT_HORDE_URLS=[HttpUrl('https://stablehorde.net/api/')]
|
|
212
|
+
|
|
213
|
+
# The API key used for authenticating requests to the AI Horde.
|
|
214
|
+
# API_KEY=**********
|
|
215
|
+
|
|
216
|
+
# The API endpoint for AI Horde ratings.
|
|
217
|
+
# RATINGS_URL=https://ratings.aihorde.net/api/
|
|
218
|
+
|
|
219
|
+
# The folder where application logs are stored.
|
|
220
|
+
# LOGS_FOLDER=./logs
|
|
221
|
+
|
|
222
|
+
# The folder where AI worker (or client) files are stored, most notably models and checkpoints.
|
|
223
|
+
# AIWORKER_CACHE_HOME=./models
|
|
224
|
+
|
|
225
|
+
# The hugging face home directory.
|
|
226
|
+
# HF_HOME=~/.cache/huggingface
|
|
227
|
+
|
|
228
|
+
# The standard XDG cache directory.
|
|
229
|
+
# XDG_CACHE_HOME=~/.cache/
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
################################################################################
|
|
234
|
+
# Github Proxying Settings
|
|
235
|
+
################################################################################
|
|
236
|
+
|
|
237
|
+
# The base URL for a http(s) GitHub proxy. If None, no proxy is used. This is intended for users where github may be blocked.
|
|
238
|
+
# GITHUB_PROXY_URL_BASE=
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
################################################################################
|
|
243
|
+
# AI Horde CI Settings
|
|
244
|
+
################################################################################
|
|
245
|
+
|
|
246
|
+
# Indicates if any CI/CD pipeline is ongoing.
|
|
247
|
+
# TESTS_ONGOING=False
|
|
248
|
+
|
|
249
|
+
# Indicates if the hordelib CI/CD pipeline is ongoing.
|
|
250
|
+
# HORDELIB_CI_ONGOING=False
|
|
251
|
+
|
|
252
|
+
# Indicates if the AI Horde SDK is currently being tested.
|
|
253
|
+
# HORDE_SDK_TESTING=False
|
|
254
|
+
|
|
255
|
+
# Indicates if the AI Horde is currently being tested.
|
|
256
|
+
# AI_HORDE_TESTING=False
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
# Auto-generated example environment file for Horde Model Reference
|
|
260
|
+
# This file is generated by the settings_doc package.
|
|
261
|
+
# Do not edit this file manually.
|
|
262
|
+
|
|
263
|
+
# Generated on (UTC): 2026-03-26 22:29:13
|
|
264
|
+
|
|
265
|
+
# DEPLOYMENT QUICK START GUIDE
|
|
266
|
+
|
|
267
|
+
# Choose your deployment scenario and uncomment the relevant settings below:
|
|
268
|
+
|
|
269
|
+
# 1. REPLICA MODE (Default) - Client/Worker nodes
|
|
270
|
+
# - Uses GitHub or PRIMARY API to fetch model references
|
|
271
|
+
# - Set: HORDE_MODEL_REFERENCE_REPLICATE_MODE=REPLICA
|
|
272
|
+
# - Optionally set: HORDE_MODEL_REFERENCE_PRIMARY_API_URL=<your-primary-url>
|
|
273
|
+
|
|
274
|
+
# 2. PRIMARY MODE - Single Worker (No Redis)
|
|
275
|
+
# - Authoritative source for model references
|
|
276
|
+
# - Set: HORDE_MODEL_REFERENCE_REPLICATE_MODE=PRIMARY
|
|
277
|
+
# - No Redis configuration needed
|
|
278
|
+
# - Ideal for: Development, testing, low-traffic deployments
|
|
279
|
+
|
|
280
|
+
# 3. PRIMARY MODE - Multi-Worker (With Redis)
|
|
281
|
+
# - Authoritative source with distributed caching
|
|
282
|
+
# - Set: HORDE_MODEL_REFERENCE_REPLICATE_MODE=PRIMARY
|
|
283
|
+
# - Configure all HORDE_MODEL_REFERENCE_REDIS_* settings
|
|
284
|
+
# - Ideal for: Production, high-traffic deployments
|
|
285
|
+
|
|
286
|
+
# For detailed deployment instructions, see:
|
|
287
|
+
# - Docker: docker-compose.yml (single-worker)
|
|
288
|
+
# - Docker + Redis: docker-compose.redis.yml (multi-worker)
|
|
289
|
+
# - Non-Docker: DEPLOYMENT.md
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
################################################################################
|
|
293
|
+
# Horde Model Reference Settings
|
|
294
|
+
################################################################################
|
|
295
|
+
|
|
296
|
+
# Indicates if copies of the model reference are canonical or replicated. Clients should always be replicas.
|
|
297
|
+
# Possible values:
|
|
298
|
+
# `PRIMARY`, `REPLICA`
|
|
299
|
+
# HORDE_MODEL_REFERENCE_REPLICATE_MODE=REPLICA
|
|
300
|
+
|
|
301
|
+
# Whether to create the default model reference folders on initialization.
|
|
302
|
+
# HORDE_MODEL_REFERENCE_MAKE_FOLDERS=False
|
|
303
|
+
|
|
304
|
+
# The GitHub owner of the repository.
|
|
305
|
+
# HORDE_MODEL_REFERENCE_IMAGE_GITHUB_REPO__OWNER=Haidra-Org
|
|
306
|
+
|
|
307
|
+
# The name of the GitHub repository used for image model references.
|
|
308
|
+
# HORDE_MODEL_REFERENCE_IMAGE_GITHUB_REPO__NAME=AI-Horde-image-model-reference
|
|
309
|
+
|
|
310
|
+
# The GitHub branch of the repository.
|
|
311
|
+
# HORDE_MODEL_REFERENCE_IMAGE_GITHUB_REPO__BRANCH=main
|
|
312
|
+
|
|
313
|
+
# Settings for the GitHub proxy, if any.
|
|
314
|
+
# HORDE_MODEL_REFERENCE_IMAGE_GITHUB_REPO__PROXY_SETTINGS=
|
|
315
|
+
|
|
316
|
+
# The GitHub owner of the repository.
|
|
317
|
+
# HORDE_MODEL_REFERENCE_TEXT_GITHUB_REPO__OWNER=Haidra-Org
|
|
318
|
+
|
|
319
|
+
# The name of the GitHub repository used for text model references.
|
|
320
|
+
# HORDE_MODEL_REFERENCE_TEXT_GITHUB_REPO__NAME=AI-Horde-text-model-reference
|
|
321
|
+
|
|
322
|
+
# The GitHub branch of the repository.
|
|
323
|
+
# HORDE_MODEL_REFERENCE_TEXT_GITHUB_REPO__BRANCH=main
|
|
324
|
+
|
|
325
|
+
# Settings for the GitHub proxy, if any.
|
|
326
|
+
# HORDE_MODEL_REFERENCE_TEXT_GITHUB_REPO__PROXY_SETTINGS=
|
|
327
|
+
|
|
328
|
+
# The time-to-live for in memory caches of model reference files, in seconds.
|
|
329
|
+
# HORDE_MODEL_REFERENCE_CACHE_TTL_SECONDS=60
|
|
330
|
+
|
|
331
|
+
# The maximum number of attempts to retry downloading a legacy model reference file.
|
|
332
|
+
# HORDE_MODEL_REFERENCE_LEGACY_DOWNLOAD_RETRY_MAX_ATTEMPTS=3
|
|
333
|
+
|
|
334
|
+
# The backoff time in seconds between retry attempts when downloading a legacy model reference file.
|
|
335
|
+
# HORDE_MODEL_REFERENCE_LEGACY_DOWNLOAD_RETRY_BACKOFF_SECONDS=2
|
|
336
|
+
|
|
337
|
+
# Whether to use Redis for distributed caching. Only should be used in PRIMARY mode.
|
|
338
|
+
# HORDE_MODEL_REFERENCE_REDIS__USE_REDIS=False
|
|
339
|
+
|
|
340
|
+
# Redis connection URL. Format: redis://[:password]@host:port/db
|
|
341
|
+
# HORDE_MODEL_REFERENCE_REDIS__URL=redis://localhost:6379/0
|
|
342
|
+
|
|
343
|
+
# Connection pool size for Redis connections.
|
|
344
|
+
# HORDE_MODEL_REFERENCE_REDIS__POOL_SIZE=10
|
|
345
|
+
|
|
346
|
+
# Socket timeout in seconds for Redis operations.
|
|
347
|
+
# HORDE_MODEL_REFERENCE_REDIS__SOCKET_TIMEOUT=5
|
|
348
|
+
|
|
349
|
+
# Connection timeout in seconds when establishing Redis connection.
|
|
350
|
+
# HORDE_MODEL_REFERENCE_REDIS__SOCKET_CONNECT_TIMEOUT=5
|
|
351
|
+
|
|
352
|
+
# Maximum number of retry attempts for failed Redis operations.
|
|
353
|
+
# HORDE_MODEL_REFERENCE_REDIS__RETRY_MAX_ATTEMPTS=3
|
|
354
|
+
|
|
355
|
+
# Backoff time in seconds between retry attempts for Redis operations.
|
|
356
|
+
# HORDE_MODEL_REFERENCE_REDIS__RETRY_BACKOFF_SECONDS=0.5
|
|
357
|
+
|
|
358
|
+
# Prefix for all Redis keys to namespace model reference data.
|
|
359
|
+
# HORDE_MODEL_REFERENCE_REDIS__KEY_PREFIX=horde:model_ref
|
|
360
|
+
|
|
361
|
+
# TTL for cached entries in seconds. If None, uses cache_ttl_seconds from main settings.
|
|
362
|
+
# HORDE_MODEL_REFERENCE_REDIS__TTL_SECONDS=
|
|
363
|
+
|
|
364
|
+
# Enable pub/sub for cache invalidation across multiple PRIMARY workers.
|
|
365
|
+
# HORDE_MODEL_REFERENCE_REDIS__USE_PUBSUB=True
|
|
366
|
+
|
|
367
|
+
# URL of PRIMARY server API for REPLICA clients to fetch model references from. If None, REPLICA clients will only use GitHub. Example: https://stablehorde.net/api/model_references/
|
|
368
|
+
# HORDE_MODEL_REFERENCE_PRIMARY_API_URL=https://stablehorde.net/api/model_references/
|
|
369
|
+
|
|
370
|
+
# Timeout in seconds for HTTP requests to PRIMARY API.
|
|
371
|
+
# HORDE_MODEL_REFERENCE_PRIMARY_API_TIMEOUT=10
|
|
372
|
+
|
|
373
|
+
# Whether REPLICA clients should fallback to GitHub if PRIMARY API is unavailable.
|
|
374
|
+
# HORDE_MODEL_REFERENCE_ENABLE_GITHUB_FALLBACK=True
|
|
375
|
+
|
|
376
|
+
# Whether PRIMARY mode should seed from GitHub on first initialization if local files don't exist. Only used in PRIMARY mode. If True, will download and convert legacy references once on startup.
|
|
377
|
+
# HORDE_MODEL_REFERENCE_GITHUB_SEED_ENABLED=False
|
|
378
|
+
|
|
379
|
+
# Which format is the canonical source of truth. Controls which API has write access. 'v2' (default): v2 API has CRUD, v1 API is read-only (converts from v2 to legacy). 'LEGACY': v1 API has CRUD, v2 API is read-only (converts from legacy to v2).
|
|
380
|
+
# Possible values:
|
|
381
|
+
# `LEGACY`, `v2`
|
|
382
|
+
# HORDE_MODEL_REFERENCE_CANONICAL_FORMAT=v2
|
|
383
|
+
|
|
384
|
+
# Timeout in seconds for Horde API requests to fetch model status, statistics, and worker information.
|
|
385
|
+
# HORDE_MODEL_REFERENCE_HORDE_API_TIMEOUT=30
|
|
386
|
+
|
|
387
|
+
# Cache TTL in seconds for Horde API responses. Uses Redis if available, otherwise in-memory caching.
|
|
388
|
+
# HORDE_MODEL_REFERENCE_HORDE_API_CACHE_TTL=60
|
|
389
|
+
|
|
390
|
+
# Cache TTL in seconds for category statistics. Uses Redis if available, otherwise in-memory caching.
|
|
391
|
+
# HORDE_MODEL_REFERENCE_STATISTICS_CACHE_TTL=300
|
|
392
|
+
|
|
393
|
+
# Cache TTL in seconds for category audit results. Uses Redis if available, otherwise in-memory caching.
|
|
394
|
+
# HORDE_MODEL_REFERENCE_AUDIT_CACHE_TTL=300
|
|
395
|
+
|
|
396
|
+
# Enable background pre-computation of statistics. Currently not implemented (future feature).
|
|
397
|
+
# HORDE_MODEL_REFERENCE_ENABLE_STATISTICS_PRECOMPUTE=False
|
|
398
|
+
|
|
399
|
+
# Preferred file hosts for deletion risk analysis in audit endpoints.
|
|
400
|
+
# HORDE_MODEL_REFERENCE_PREFERRED_FILE_HOSTS=
|
|
401
|
+
|
|
402
|
+
# Percentage threshold for low usage flag in audit analysis. Default 0.0065% flags bottom ~10% of models. Set lower (e.g., 0.005%) to flag fewer models or higher (e.g., 0.01%) to flag more models.
|
|
403
|
+
# HORDE_MODEL_REFERENCE_LOW_USAGE_THRESHOLD_PERCENTAGE=0.0065
|
|
404
|
+
|
|
405
|
+
# Low usage threshold for text_generation models (2% - more lenient than image models at 0.65%).
|
|
406
|
+
# HORDE_MODEL_REFERENCE_TEXT_GEN_LOW_USAGE_THRESHOLD_PERCENTAGE=0.02
|
|
407
|
+
|
|
408
|
+
# Skip download host validation for text_generation models completely.
|
|
409
|
+
# HORDE_MODEL_REFERENCE_TEXT_GEN_IGNORE_DOWNLOAD_HOSTS=True
|
|
410
|
+
|
|
411
|
+
# Minimum monthly usage for text_generation to be flagged as critical (allows some usage).
|
|
412
|
+
# HORDE_MODEL_REFERENCE_TEXT_GEN_CRITICAL_USAGE_THRESHOLD=10
|
|
413
|
+
|
|
414
|
+
# Minimum worker count for text_generation to be flagged as critical (allows some workers).
|
|
415
|
+
# HORDE_MODEL_REFERENCE_TEXT_GEN_CRITICAL_WORKER_THRESHOLD=1
|
|
416
|
+
|
|
417
|
+
# Whether audit trail writes are enabled in PRIMARY deployments.
|
|
418
|
+
# HORDE_MODEL_REFERENCE_AUDIT__ENABLED=True
|
|
419
|
+
|
|
420
|
+
# Maximum size in bytes for each JSONL segment before rolling over to a new file.
|
|
421
|
+
# HORDE_MODEL_REFERENCE_AUDIT__MAX_SEGMENT_BYTES=5242880
|
|
422
|
+
|
|
423
|
+
# Subdirectory name (relative to cache home) for storing audit logs when no override is provided.
|
|
424
|
+
# HORDE_MODEL_REFERENCE_AUDIT__RELATIVE_SUBDIR=audit
|
|
425
|
+
|
|
426
|
+
# Absolute path override for audit log storage. When set, relative_subdir is ignored.
|
|
427
|
+
# HORDE_MODEL_REFERENCE_AUDIT__ROOT_PATH_OVERRIDE=
|
|
428
|
+
|
|
429
|
+
# Whether the pending queue workflow is enabled (PRIMARY deployments only).
|
|
430
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__ENABLED=True
|
|
431
|
+
|
|
432
|
+
# Relative folder under cache home used for queue persistence when no override is set.
|
|
433
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__RELATIVE_SUBDIR=pending_queue
|
|
434
|
+
|
|
435
|
+
# Absolute path override for queue persistence. When set, relative_subdir is ignored.
|
|
436
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__ROOT_PATH_OVERRIDE=
|
|
437
|
+
|
|
438
|
+
# Horde user IDs allowed to submit pending changes.
|
|
439
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__REQUESTOR_IDS=
|
|
440
|
+
|
|
441
|
+
# Horde user IDs allowed to approve/reject pending batches (superset of requestors).
|
|
442
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__APPROVER_IDS=
|
|
443
|
+
|
|
444
|
+
# Reserved for future rotation support (matches audit defaults).
|
|
445
|
+
# HORDE_MODEL_REFERENCE_PENDING_QUEUE__MAX_SEGMENT_BYTES=5242880
|
|
446
|
+
|
|
447
|
+
# Enable background cache hydration to keep audit/statistics caches warm. When enabled, caches are proactively refreshed before TTL expiry so clients always get fast cached responses.
|
|
448
|
+
# HORDE_MODEL_REFERENCE_CACHE_HYDRATION_ENABLED=False
|
|
449
|
+
|
|
450
|
+
# Interval in seconds between cache hydration refreshes. Should be less than cache TTLs (statistics_cache_ttl, audit_cache_ttl) to ensure caches stay warm. Default 240s (4 min) with 300s TTLs.
|
|
451
|
+
# HORDE_MODEL_REFERENCE_CACHE_HYDRATION_INTERVAL_SECONDS=240
|
|
452
|
+
|
|
453
|
+
# Maximum age in seconds before stale cached data is discarded. While hydration is running, clients receive stale data instead of waiting for fresh data. Default 1 hour.
|
|
454
|
+
# HORDE_MODEL_REFERENCE_CACHE_HYDRATION_STALE_TTL_SECONDS=3600
|
|
455
|
+
|
|
456
|
+
# Delay in seconds before first hydration run after service startup. Allows service to fully initialize before background tasks begin.
|
|
457
|
+
# HORDE_MODEL_REFERENCE_CACHE_HYDRATION_STARTUP_DELAY_SECONDS=5
|
|
458
|
+
|
|
459
|
+
# List of allowed origins for CORS. Warns if unset or empty, as it falls back to the FastAPI default behavior. See https://fastapi.tiangolo.com/tutorial/cors/#use-corsmiddleware for details.
|
|
460
|
+
# HORDE_MODEL_REFERENCE_CORS_ALLOWED_ORIGINS=
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
################################################################################
|
|
465
|
+
# AI Horde Client+Worker Settings
|
|
466
|
+
################################################################################
|
|
467
|
+
|
|
468
|
+
# Alternative API endpoints for the AI Horde. These should all lead to the same logical AI Horde.
|
|
469
|
+
# ALT_HORDE_URLS=[HttpUrl('https://stablehorde.net/api/')]
|
|
470
|
+
|
|
471
|
+
# The API key used for authenticating requests to the AI Horde.
|
|
472
|
+
# API_KEY=**********
|
|
473
|
+
|
|
474
|
+
# The API endpoint for AI Horde ratings.
|
|
475
|
+
# RATINGS_URL=https://ratings.aihorde.net/api/
|
|
476
|
+
|
|
477
|
+
# The folder where application logs are stored.
|
|
478
|
+
# LOGS_FOLDER=./logs
|
|
479
|
+
|
|
480
|
+
# The folder where AI worker (or client) files are stored, most notably models and checkpoints.
|
|
481
|
+
# AIWORKER_CACHE_HOME=./models
|
|
482
|
+
|
|
483
|
+
# The hugging face home directory.
|
|
484
|
+
# HF_HOME=~/.cache/huggingface
|
|
485
|
+
|
|
486
|
+
# The standard XDG cache directory.
|
|
487
|
+
# XDG_CACHE_HOME=~/.cache/
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
################################################################################
|
|
492
|
+
# Github Proxying Settings
|
|
493
|
+
################################################################################
|
|
494
|
+
|
|
495
|
+
# The base URL for a http(s) GitHub proxy. If None, no proxy is used. This is intended for users where github may be blocked.
|
|
496
|
+
# GITHUB_PROXY_URL_BASE=
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
################################################################################
|
|
501
|
+
# AI Horde CI Settings
|
|
502
|
+
################################################################################
|
|
503
|
+
|
|
504
|
+
# Indicates if any CI/CD pipeline is ongoing.
|
|
505
|
+
# TESTS_ONGOING=False
|
|
506
|
+
|
|
507
|
+
# Indicates if the hordelib CI/CD pipeline is ongoing.
|
|
508
|
+
# HORDELIB_CI_ONGOING=False
|
|
509
|
+
|
|
510
|
+
# Indicates if the AI Horde SDK is currently being tested.
|
|
511
|
+
# HORDE_SDK_TESTING=False
|
|
512
|
+
|
|
513
|
+
# Indicates if the AI Horde is currently being tested.
|
|
514
|
+
# AI_HORDE_TESTING=False
|
|
@@ -22,7 +22,7 @@ HORDE_MODEL_REFERENCE_CACHE_TTL_SECONDS=60
|
|
|
22
22
|
# - 'legacy': v1 API has CRUD, v2 API is read-only (converts from legacy to v2)
|
|
23
23
|
# - 'v2': v2 API has CRUD, v1 API is read-only (converts from v2 to legacy)
|
|
24
24
|
# Default is 'v2' but set to 'legacy' during transition period
|
|
25
|
-
HORDE_MODEL_REFERENCE_CANONICAL_FORMAT=
|
|
25
|
+
HORDE_MODEL_REFERENCE_CANONICAL_FORMAT=LEGACY
|
|
26
26
|
|
|
27
27
|
# ============================================================================
|
|
28
28
|
# GitHub Seeding (First-Time Setup)
|
|
@@ -37,19 +37,19 @@ HORDE_MODEL_REFERENCE_GITHUB_SEED_ENABLED=false
|
|
|
37
37
|
# ============================================================================
|
|
38
38
|
|
|
39
39
|
# Enable Redis for distributed caching (required for multi-worker setups)
|
|
40
|
-
#
|
|
40
|
+
# HORDE_MODEL_REFERENCE_REDIS__USE_REDIS=true
|
|
41
41
|
|
|
42
42
|
# Redis connection URL
|
|
43
|
-
#
|
|
43
|
+
# HORDE_MODEL_REFERENCE_REDIS__URL=redis://redis:6379/0
|
|
44
44
|
|
|
45
45
|
# Redis connection pool size
|
|
46
|
-
#
|
|
46
|
+
# HORDE_MODEL_REFERENCE_REDIS__POOL_SIZE=10
|
|
47
47
|
|
|
48
48
|
# Redis TTL (uses cache_ttl_seconds if not specified)
|
|
49
|
-
#
|
|
49
|
+
# HORDE_MODEL_REFERENCE_REDIS__TTL_SECONDS=60
|
|
50
50
|
|
|
51
51
|
# Enable pub/sub for cache invalidation across workers
|
|
52
|
-
#
|
|
52
|
+
# HORDE_MODEL_REFERENCE_REDIS__USE_PUBSUB=true
|
|
53
53
|
|
|
54
54
|
# ============================================================================
|
|
55
55
|
# Data Directory
|
{horde_model_reference-2.1.3 → horde_model_reference-3.0.0}/.github/workflows/docker-validation.yml
RENAMED
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
runs-on: ubuntu-latest
|
|
25
25
|
steps:
|
|
26
26
|
- name: Checkout repository
|
|
27
|
-
uses: actions/checkout@
|
|
27
|
+
uses: actions/checkout@v6
|
|
28
28
|
|
|
29
29
|
- name: Run hadolint
|
|
30
30
|
uses: hadolint/hadolint-action@v3.1.0
|
|
@@ -35,6 +35,14 @@ jobs:
|
|
|
35
35
|
output-file: hadolint-results.sarif
|
|
36
36
|
no-fail: false
|
|
37
37
|
|
|
38
|
+
- name: Ensure valid SARIF file
|
|
39
|
+
if: always()
|
|
40
|
+
run: |
|
|
41
|
+
if [ ! -s hadolint-results.sarif ] || ! python3 -c "import json,sys; json.load(open(sys.argv[1]))" hadolint-results.sarif 2>/dev/null; then
|
|
42
|
+
rm -f hadolint-results.sarif
|
|
43
|
+
echo '{"version":"2.1.0","$schema":"https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json","runs":[{"tool":{"driver":{"name":"hadolint","rules":[]}},"results":[]}]}' > hadolint-results.sarif
|
|
44
|
+
fi
|
|
45
|
+
|
|
38
46
|
- name: Upload hadolint SARIF results
|
|
39
47
|
if: always()
|
|
40
48
|
uses: github/codeql-action/upload-sarif@v3
|
|
@@ -47,7 +55,7 @@ jobs:
|
|
|
47
55
|
runs-on: ubuntu-latest
|
|
48
56
|
steps:
|
|
49
57
|
- name: Checkout repository
|
|
50
|
-
uses: actions/checkout@
|
|
58
|
+
uses: actions/checkout@v6
|
|
51
59
|
|
|
52
60
|
- name: Set up Docker Buildx
|
|
53
61
|
uses: docker/setup-buildx-action@v3
|
|
@@ -99,7 +107,7 @@ jobs:
|
|
|
99
107
|
- docker-compose.redis.yml
|
|
100
108
|
steps:
|
|
101
109
|
- name: Checkout repository
|
|
102
|
-
uses: actions/checkout@
|
|
110
|
+
uses: actions/checkout@v6
|
|
103
111
|
|
|
104
112
|
- name: Validate ${{ matrix.compose-file }}
|
|
105
113
|
run: |
|
|
@@ -125,7 +133,7 @@ jobs:
|
|
|
125
133
|
- 6379:6379
|
|
126
134
|
steps:
|
|
127
135
|
- name: Checkout repository
|
|
128
|
-
uses: actions/checkout@
|
|
136
|
+
uses: actions/checkout@v6
|
|
129
137
|
|
|
130
138
|
- name: Set up Docker Buildx
|
|
131
139
|
uses: docker/setup-buildx-action@v3
|
|
@@ -240,10 +248,10 @@ jobs:
|
|
|
240
248
|
runs-on: ubuntu-latest
|
|
241
249
|
steps:
|
|
242
250
|
- name: Checkout repository
|
|
243
|
-
uses: actions/checkout@
|
|
251
|
+
uses: actions/checkout@v6
|
|
244
252
|
|
|
245
253
|
- name: Run Trivy vulnerability scanner on Dockerfile
|
|
246
|
-
uses: aquasecurity/trivy-action@0.
|
|
254
|
+
uses: aquasecurity/trivy-action@0.35.0
|
|
247
255
|
with:
|
|
248
256
|
scan-type: 'config'
|
|
249
257
|
scan-ref: 'Dockerfile'
|
|
@@ -263,7 +271,7 @@ jobs:
|
|
|
263
271
|
needs: docker-build-check
|
|
264
272
|
steps:
|
|
265
273
|
- name: Checkout repository
|
|
266
|
-
uses: actions/checkout@
|
|
274
|
+
uses: actions/checkout@v6
|
|
267
275
|
|
|
268
276
|
- name: Set up Docker Buildx
|
|
269
277
|
uses: docker/setup-buildx-action@v3
|
|
@@ -279,7 +287,7 @@ jobs:
|
|
|
279
287
|
cache-from: type=gha
|
|
280
288
|
|
|
281
289
|
- name: Run Trivy vulnerability scanner on image
|
|
282
|
-
uses: aquasecurity/trivy-action@0.
|
|
290
|
+
uses: aquasecurity/trivy-action@0.35.0
|
|
283
291
|
with:
|
|
284
292
|
scan-type: 'image'
|
|
285
293
|
image-ref: 'horde-model-reference:scan'
|