From 08e56035fb97a1509743062db8439a5d5994a322 Mon Sep 17 00:00:00 2001 From: tazlin Date: Tue, 12 Dec 2023 18:25:33 -0500 Subject: [PATCH 1/3] fix: include latest data models (Dec 12 2023) --- .../example_payloads/_v2_generate_async_post.json | 3 ++- .../example_payloads/_v2_generate_pop_post.json | 2 +- .../example_payloads/_v2_generate_text_async_post.json | 6 ++++-- .../example_payloads/_v2_generate_text_pop_post.json | 2 +- .../example_payloads/_v2_interrogate_pop_post.json | 2 +- .../example_payloads/_v2_users_user_id_put.json | 5 ++++- .../example_responses/_v2_find_user_get_200.json | 2 ++ .../example_responses/_v2_generate_text_pop_post_200.json | 1 + .../ai_horde_api/example_responses/_v2_users_get_200.json | 2 ++ .../example_responses/_v2_users_user_id_get_200.json | 2 ++ .../example_responses/_v2_users_user_id_put_200.json | 4 +++- .../ai_horde_api/example_responses/_v2_workers_get_200.json | 2 +- .../example_responses/_v2_workers_worker_id_get_200.json | 2 +- 13 files changed, 25 insertions(+), 10 deletions(-) diff --git a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_async_post.json b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_async_post.json index fbe195c..0a1f4b8 100644 --- a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_async_post.json +++ b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_async_post.json @@ -59,5 +59,6 @@ "r2": true, "shared": false, "replacement_filter": true, - "dry_run": false + "dry_run": false, + "proxied_account": "" } diff --git a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_pop_post.json b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_pop_post.json index 093071e..852efec 100644 --- a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_pop_post.json +++ b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_pop_post.json @@ -8,7 +8,7 @@ "aaa" ], "bridge_version": 1, - "bridge_agent": "AI Horde Worker:11:https://github.com/db0/AI-Horde-Worker", + "bridge_agent": "AI Horde Worker:24:https://github.com/db0/AI-Horde-Worker", "threads": 1, "require_upfront_kudos": false, "max_pixels": 262144, diff --git a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_text_async_post.json b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_text_async_post.json index 83293f1..fcfa88f 100644 --- a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_text_async_post.json +++ b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_text_async_post.json @@ -24,7 +24,8 @@ "use_default_badwordsids": true, "stop_sequence": [ "" - ] + ], + "min_p": 0.0 }, "softprompt": "a", "trusted_workers": false, @@ -36,5 +37,6 @@ "models": [ "" ], - "dry_run": false + "dry_run": false, + "proxied_account": "" } diff --git a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_text_pop_post.json b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_text_pop_post.json index 190bd9a..a406025 100644 --- a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_text_pop_post.json +++ b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_text_pop_post.json @@ -8,7 +8,7 @@ "aaa" ], "bridge_version": 1, - "bridge_agent": "AI Horde Worker:11:https://github.com/db0/AI-Horde-Worker", + "bridge_agent": "AI Horde Worker:24:https://github.com/db0/AI-Horde-Worker", "threads": 1, "require_upfront_kudos": false, "max_length": 512, diff --git a/tests/test_data/ai_horde_api/example_payloads/_v2_interrogate_pop_post.json b/tests/test_data/ai_horde_api/example_payloads/_v2_interrogate_pop_post.json index f7d0f2f..5e1626d 100644 --- a/tests/test_data/ai_horde_api/example_payloads/_v2_interrogate_pop_post.json +++ b/tests/test_data/ai_horde_api/example_payloads/_v2_interrogate_pop_post.json @@ -8,7 +8,7 @@ ], "amount": 1, "bridge_version": 1, - "bridge_agent": "AI Horde Worker:11:https://github.com/db0/AI-Horde-Worker", + "bridge_agent": "AI Horde Worker:24:https://github.com/db0/AI-Horde-Worker", "threads": 1, "max_tiles": 16 } diff --git a/tests/test_data/ai_horde_api/example_payloads/_v2_users_user_id_put.json b/tests/test_data/ai_horde_api/example_payloads/_v2_users_user_id_put.json index 4788c83..1e4ddc1 100644 --- a/tests/test_data/ai_horde_api/example_payloads/_v2_users_user_id_put.json +++ b/tests/test_data/ai_horde_api/example_payloads/_v2_users_user_id_put.json @@ -11,7 +11,10 @@ "flagged": false, "customizer": false, "vpn": false, + "service": false, "special": false, + "filtered": false, "reset_suspicion": false, - "contact": "email@example.com" + "contact": "email@example.com", + "admin_comment": "User is sus" } diff --git a/tests/test_data/ai_horde_api/example_responses/_v2_find_user_get_200.json b/tests/test_data/ai_horde_api/example_responses/_v2_find_user_get_200.json index 36a695f..a49f466 100644 --- a/tests/test_data/ai_horde_api/example_responses/_v2_find_user_get_200.json +++ b/tests/test_data/ai_horde_api/example_responses/_v2_find_user_get_200.json @@ -28,10 +28,12 @@ "trusted": false, "flagged": false, "vpn": false, + "service": false, "special": false, "suspicious": 0, "pseudonymous": false, "contact": "email@example.com", + "admin_comment": "User is sus", "account_age": 60, "usage": { "megapixelsteps": 0.0, diff --git a/tests/test_data/ai_horde_api/example_responses/_v2_generate_text_pop_post_200.json b/tests/test_data/ai_horde_api/example_responses/_v2_generate_text_pop_post_200.json index 0f2b55f..3c14023 100644 --- a/tests/test_data/ai_horde_api/example_responses/_v2_generate_text_pop_post_200.json +++ b/tests/test_data/ai_horde_api/example_responses/_v2_generate_text_pop_post_200.json @@ -24,6 +24,7 @@ "stop_sequence": [ "" ], + "min_p": 0.0, "prompt": "" }, "id": "", diff --git a/tests/test_data/ai_horde_api/example_responses/_v2_users_get_200.json b/tests/test_data/ai_horde_api/example_responses/_v2_users_get_200.json index 36a695f..a49f466 100644 --- a/tests/test_data/ai_horde_api/example_responses/_v2_users_get_200.json +++ b/tests/test_data/ai_horde_api/example_responses/_v2_users_get_200.json @@ -28,10 +28,12 @@ "trusted": false, "flagged": false, "vpn": false, + "service": false, "special": false, "suspicious": 0, "pseudonymous": false, "contact": "email@example.com", + "admin_comment": "User is sus", "account_age": 60, "usage": { "megapixelsteps": 0.0, diff --git a/tests/test_data/ai_horde_api/example_responses/_v2_users_user_id_get_200.json b/tests/test_data/ai_horde_api/example_responses/_v2_users_user_id_get_200.json index 36a695f..a49f466 100644 --- a/tests/test_data/ai_horde_api/example_responses/_v2_users_user_id_get_200.json +++ b/tests/test_data/ai_horde_api/example_responses/_v2_users_user_id_get_200.json @@ -28,10 +28,12 @@ "trusted": false, "flagged": false, "vpn": false, + "service": false, "special": false, "suspicious": 0, "pseudonymous": false, "contact": "email@example.com", + "admin_comment": "User is sus", "account_age": 60, "usage": { "megapixelsteps": 0.0, diff --git a/tests/test_data/ai_horde_api/example_responses/_v2_users_user_id_put_200.json b/tests/test_data/ai_horde_api/example_responses/_v2_users_user_id_put_200.json index 61d2359..2a3b3d4 100644 --- a/tests/test_data/ai_horde_api/example_responses/_v2_users_user_id_put_200.json +++ b/tests/test_data/ai_horde_api/example_responses/_v2_users_user_id_put_200.json @@ -11,7 +11,9 @@ "flagged": false, "customizer": false, "vpn": false, + "service": false, "special": false, "new_suspicion": 0, - "contact": "email@example.com" + "contact": "email@example.com", + "admin_comment": "User is sus" } diff --git a/tests/test_data/ai_horde_api/example_responses/_v2_workers_get_200.json b/tests/test_data/ai_horde_api/example_responses/_v2_workers_get_200.json index 5bfda26..7993430 100644 --- a/tests/test_data/ai_horde_api/example_responses/_v2_workers_get_200.json +++ b/tests/test_data/ai_horde_api/example_responses/_v2_workers_get_200.json @@ -34,7 +34,7 @@ "id": "" }, "contact": "email@example.com", - "bridge_agent": "AI Horde Worker:11:https://github.com/db0/AI-Horde-Worker", + "bridge_agent": "AI Horde Worker:24:https://github.com/db0/AI-Horde-Worker", "max_pixels": 262144, "megapixelsteps_generated": 0.0, "img2img": false, diff --git a/tests/test_data/ai_horde_api/example_responses/_v2_workers_worker_id_get_200.json b/tests/test_data/ai_horde_api/example_responses/_v2_workers_worker_id_get_200.json index ed3ccd5..b739ea7 100644 --- a/tests/test_data/ai_horde_api/example_responses/_v2_workers_worker_id_get_200.json +++ b/tests/test_data/ai_horde_api/example_responses/_v2_workers_worker_id_get_200.json @@ -33,7 +33,7 @@ "id": "" }, "contact": "email@example.com", - "bridge_agent": "AI Horde Worker:11:https://github.com/db0/AI-Horde-Worker", + "bridge_agent": "AI Horde Worker:24:https://github.com/db0/AI-Horde-Worker", "max_pixels": 262144, "megapixelsteps_generated": 0.0, "img2img": false, From 7d4ea497570c14d701c0a09da4356f4be8d01146 Mon Sep 17 00:00:00 2001 From: tazlin Date: Thu, 14 Dec 2023 07:53:00 -0500 Subject: [PATCH 2/3] fix: don't show error on seed 0 during job submit --- horde_sdk/ai_horde_api/apimodels/generate/_submit.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/horde_sdk/ai_horde_api/apimodels/generate/_submit.py b/horde_sdk/ai_horde_api/apimodels/generate/_submit.py index 50b14fd..f04457e 100644 --- a/horde_sdk/ai_horde_api/apimodels/generate/_submit.py +++ b/horde_sdk/ai_horde_api/apimodels/generate/_submit.py @@ -37,11 +37,11 @@ class ImageGenerationJobSubmitRequest(BaseAIHordeRequest, JobRequestMixin, APIKe def validate_generation(self) -> ImageGenerationJobSubmitRequest: if self.generation == "": logger.error("Generation cannot be an empty string.") - logger.error(self) + logger.error(self.log_safe_model_dump()) if self.seed == 0: - logger.error("Seed cannot be 0.") - logger.error(self) + logger.debug(f"Seed is 0 for {self.id_}. That might not be intended.") + logger.debug(self.log_safe_model_dump()) return self From ac672cc1e120abab0ee6a17bb99f4555320dae41 Mon Sep 17 00:00:00 2001 From: db0 Date: Tue, 26 Dec 2023 17:30:32 +0100 Subject: [PATCH 3/3] feat: support for lora is_version --- horde_sdk/ai_horde_api/apimodels/base.py | 2 ++ .../ai_horde_api/example_payloads/_v2_generate_async_post.json | 3 ++- .../example_responses/_v2_generate_pop_post_200.json | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/horde_sdk/ai_horde_api/apimodels/base.py b/horde_sdk/ai_horde_api/apimodels/base.py index fab9ebc..551ca8d 100644 --- a/horde_sdk/ai_horde_api/apimodels/base.py +++ b/horde_sdk/ai_horde_api/apimodels/base.py @@ -74,6 +74,8 @@ class LorasPayloadEntry(BaseModel): """The strength of the LoRa against the clip model.""" inject_trigger: str | None = Field(default=None, min_length=1, max_length=30) """Any trigger required to activate the LoRa model.""" + is_version: bool = Field(default=False) + """If true, will treat the lora name as a version ID.""" class TIPayloadEntry(BaseModel): diff --git a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_async_post.json b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_async_post.json index 0a1f4b8..7adc708 100644 --- a/tests/test_data/ai_horde_api/example_payloads/_v2_generate_async_post.json +++ b/tests/test_data/ai_horde_api/example_payloads/_v2_generate_async_post.json @@ -24,7 +24,8 @@ "name": "GlowingRunesAIV6", "model": 1.0, "clip": 1.0, - "inject_trigger": "a" + "inject_trigger": "a", + "is_version": false } ], "tis": [ diff --git a/tests/test_data/ai_horde_api/example_responses/_v2_generate_pop_post_200.json b/tests/test_data/ai_horde_api/example_responses/_v2_generate_pop_post_200.json index 139498a..ea18405 100644 --- a/tests/test_data/ai_horde_api/example_responses/_v2_generate_pop_post_200.json +++ b/tests/test_data/ai_horde_api/example_responses/_v2_generate_pop_post_200.json @@ -23,7 +23,8 @@ "name": "GlowingRunesAIV6", "model": 1.0, "clip": 1.0, - "inject_trigger": "a" + "inject_trigger": "a", + "is_version": false } ], "tis": [