From 40a725d24135395657ed4097ebe408a154ea84ff Mon Sep 17 00:00:00 2001 From: Believethehype Date: Fri, 15 Dec 2023 10:32:26 +0100 Subject: [PATCH 1/3] cleanup --- nostr_dvm/tasks/convert_media.py | 2 +- nostr_dvm/tasks/imagegeneration_replicate_sdxl.py | 2 +- nostr_dvm/tasks/textgeneration_llmlite.py | 2 +- nostr_dvm/tasks/translation_libretranslate.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nostr_dvm/tasks/convert_media.py b/nostr_dvm/tasks/convert_media.py index b52217c..ef1666c 100644 --- a/nostr_dvm/tasks/convert_media.py +++ b/nostr_dvm/tasks/convert_media.py @@ -14,7 +14,7 @@ from nostr_dvm.utils.output_utils import upload_media_to_hoster """ -This File contains a Module to call Google Translate Services locally on the DVM Machine +This File contains a Module convert media locally Accepted Inputs: Text, Events, Jobs (Text Extraction, Summary, Translation) Outputs: Text containing the TranslationGoogle in the desired language. diff --git a/nostr_dvm/tasks/imagegeneration_replicate_sdxl.py b/nostr_dvm/tasks/imagegeneration_replicate_sdxl.py index c16e275..4cc8948 100644 --- a/nostr_dvm/tasks/imagegeneration_replicate_sdxl.py +++ b/nostr_dvm/tasks/imagegeneration_replicate_sdxl.py @@ -17,7 +17,7 @@ from nostr_dvm.utils.output_utils import upload_media_to_hoster from nostr_dvm.utils.zap_utils import get_price_per_sat """ -This File contains a Module to transform Text input on NOVA-Server and receive results back. +This File contains a Module to generate an Image on replicate and receive results back. Accepted Inputs: Prompt (text) Outputs: An url to an Image diff --git a/nostr_dvm/tasks/textgeneration_llmlite.py b/nostr_dvm/tasks/textgeneration_llmlite.py index adf7a9c..01a3548 100644 --- a/nostr_dvm/tasks/textgeneration_llmlite.py +++ b/nostr_dvm/tasks/textgeneration_llmlite.py @@ -13,7 +13,7 @@ from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag """ -This File contains a Module to generate Text, based on a prompt using a LLM (local or API) +This File contains a Module to generate Text, based on a prompt using a LLM (local or API) (Ollama, custom model, chatgpt) Accepted Inputs: Prompt (text) Outputs: Generated text diff --git a/nostr_dvm/tasks/translation_libretranslate.py b/nostr_dvm/tasks/translation_libretranslate.py index 0b7ebc1..850f924 100644 --- a/nostr_dvm/tasks/translation_libretranslate.py +++ b/nostr_dvm/tasks/translation_libretranslate.py @@ -15,7 +15,7 @@ from nostr_dvm.utils.nostr_utils import get_referenced_event_by_id, get_event_by """ -This File contains a Module to call Google Translate Services locally on the DVM Machine +This File contains a Module to call Libre Translate Services Accepted Inputs: Text, Events, Jobs (Text Extraction, Summary, Translation) Outputs: Text containing the Translation with LibreTranslation in the desired language. From 9f8580906a3898b2c63887ff7ec47ef863d95fe6 Mon Sep 17 00:00:00 2001 From: Believethehype Date: Fri, 15 Dec 2023 10:36:51 +0100 Subject: [PATCH 2/3] cleanup --- nostr_dvm/tasks/advanced_search.py | 5 ++--- nostr_dvm/tasks/discovery_inactive_follows.py | 6 ++---- nostr_dvm/tasks/imagegeneration_openai_dalle.py | 8 +++----- nostr_dvm/tasks/translation_libretranslate.py | 4 ++-- nostr_dvm/tasks/videogeneration_replicate_svd.py | 15 +++++++-------- 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/nostr_dvm/tasks/advanced_search.py b/nostr_dvm/tasks/advanced_search.py index 79b51be..793d304 100644 --- a/nostr_dvm/tasks/advanced_search.py +++ b/nostr_dvm/tasks/advanced_search.py @@ -170,10 +170,9 @@ def build_example(name, identifier, admin_config): } nip89config = NIP89Config() - nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) - + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) + return AdvancedSearch(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config) diff --git a/nostr_dvm/tasks/discovery_inactive_follows.py b/nostr_dvm/tasks/discovery_inactive_follows.py index 9db7260..08a0aeb 100644 --- a/nostr_dvm/tasks/discovery_inactive_follows.py +++ b/nostr_dvm/tasks/discovery_inactive_follows.py @@ -191,12 +191,10 @@ def build_example(name, identifier, admin_config): } } } - nip89config = NIP89Config() - nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) - + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) + return DiscoverInactiveFollows(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config) diff --git a/nostr_dvm/tasks/imagegeneration_openai_dalle.py b/nostr_dvm/tasks/imagegeneration_openai_dalle.py index 52a2636..920bfa0 100644 --- a/nostr_dvm/tasks/imagegeneration_openai_dalle.py +++ b/nostr_dvm/tasks/imagegeneration_openai_dalle.py @@ -16,7 +16,6 @@ from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag from nostr_dvm.utils.output_utils import upload_media_to_hoster from nostr_dvm.utils.zap_utils import get_price_per_sat - """ This File contains a Module to transform Text input on OpenAI's servers with DALLE-3 and receive results back. @@ -120,6 +119,7 @@ class ImageGenerationDALLE(DVMTaskInterface): print("Error in Module") raise Exception(e) + # We build an example here that we can call by either calling this file directly from the main directory, # or by adding it to our playground. You can call the example and adjust it to your needs or redefine it in the # playground or elsewhere @@ -144,12 +144,10 @@ def build_example(name, identifier, admin_config): } } - nip89config = NIP89Config() - nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) - # We add an optional AdminConfig for this one, and tell the dvm to rebroadcast its NIP89 + return ImageGenerationDALLE(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config) diff --git a/nostr_dvm/tasks/translation_libretranslate.py b/nostr_dvm/tasks/translation_libretranslate.py index 850f924..55ab201 100644 --- a/nostr_dvm/tasks/translation_libretranslate.py +++ b/nostr_dvm/tasks/translation_libretranslate.py @@ -136,9 +136,9 @@ def build_example(name, identifier, admin_config): } } nip89config = NIP89Config() - nip89config.DTAG = nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) + return TranslationLibre(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config, options=options) diff --git a/nostr_dvm/tasks/videogeneration_replicate_svd.py b/nostr_dvm/tasks/videogeneration_replicate_svd.py index 5331cbc..9114446 100644 --- a/nostr_dvm/tasks/videogeneration_replicate_svd.py +++ b/nostr_dvm/tasks/videogeneration_replicate_svd.py @@ -53,9 +53,9 @@ class VideoGenerationReplicateSVD(DVMTaskInterface): length = "25_frames_with_svd_xt" else: length = "14_frames_with_svd" - sizing_strategy = "maintain_aspect_ratio" #crop_to_16_9, use_image_dimensions + sizing_strategy = "maintain_aspect_ratio" # crop_to_16_9, use_image_dimensions frames_per_second = 6 - motion_bucket_id = 127 #Increase overall motion in the generated video + motion_bucket_id = 127 # Increase overall motion in the generated video cond_aug = 0.02 # Amount of noise to add to input image for tag in event.tags(): @@ -63,7 +63,7 @@ class VideoGenerationReplicateSVD(DVMTaskInterface): input_type = tag.as_vec()[2] if input_type == "url": url = tag.as_vec()[1] - #TODO add params as defined above + # TODO add params as defined above options = { "url": url, @@ -107,6 +107,7 @@ class VideoGenerationReplicateSVD(DVMTaskInterface): print("Error in Module") raise Exception(e) + # We build an example here that we can call by either calling this file directly from the main directory, # or by adding it to our playground. You can call the example and adjust it to your needs or redefine it in the # playground or elsewhere @@ -126,14 +127,12 @@ def build_example(name, identifier, admin_config): "nip90Params": {} } - nip89config = NIP89Config() - nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) - # We add an optional AdminConfig for this one, and tell the dvm to rebroadcast its NIP89 - return VideoGenerationReplicateSVD(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config) + return VideoGenerationReplicateSVD(name=name, dvm_config=dvm_config, nip89config=nip89config, + admin_config=admin_config) if __name__ == '__main__': From dca65f2f7db72eb94235fe9672c66f84d0f93c75 Mon Sep 17 00:00:00 2001 From: Believethehype Date: Fri, 15 Dec 2023 10:37:05 +0100 Subject: [PATCH 3/3] cleanup --- nostr_dvm/tasks/imagegeneration_replicate_sdxl.py | 11 +++++------ nostr_dvm/tasks/textextraction_google.py | 4 ++-- nostr_dvm/tasks/textgeneration_llmlite.py | 9 ++++----- nostr_dvm/tasks/translation_google.py | 4 ++-- nostr_dvm/tasks/trending_notes_nostrband.py | 12 +++--------- 5 files changed, 16 insertions(+), 24 deletions(-) diff --git a/nostr_dvm/tasks/imagegeneration_replicate_sdxl.py b/nostr_dvm/tasks/imagegeneration_replicate_sdxl.py index 4cc8948..480d0ba 100644 --- a/nostr_dvm/tasks/imagegeneration_replicate_sdxl.py +++ b/nostr_dvm/tasks/imagegeneration_replicate_sdxl.py @@ -59,7 +59,6 @@ class ImageGenerationReplicateSDXL(DVMTaskInterface): width = "1024" height = "1024" - for tag in event.tags(): if tag.as_vec()[0] == 'i': input_type = tag.as_vec()[2] @@ -116,6 +115,7 @@ class ImageGenerationReplicateSDXL(DVMTaskInterface): print("Error in Module") raise Exception(e) + # We build an example here that we can call by either calling this file directly from the main directory, # or by adding it to our playground. You can call the example and adjust it to your needs or redefine it in the # playground or elsewhere @@ -139,13 +139,12 @@ def build_example(name, identifier, admin_config): } } - nip89config = NIP89Config() - nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) - # We add an optional AdminConfig for this one, and tell the dvm to rebroadcast its NIP89 - return ImageGenerationReplicateSDXL(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config) + + return ImageGenerationReplicateSDXL(name=name, dvm_config=dvm_config, nip89config=nip89config, + admin_config=admin_config) if __name__ == '__main__': diff --git a/nostr_dvm/tasks/textextraction_google.py b/nostr_dvm/tasks/textextraction_google.py index a226558..cbae2c3 100644 --- a/nostr_dvm/tasks/textextraction_google.py +++ b/nostr_dvm/tasks/textextraction_google.py @@ -150,9 +150,9 @@ def build_example(name, identifier, admin_config): } } nip89config = NIP89Config() - nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) + return SpeechToTextGoogle(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config, options=options) diff --git a/nostr_dvm/tasks/textgeneration_llmlite.py b/nostr_dvm/tasks/textgeneration_llmlite.py index 01a3548..0a692e7 100644 --- a/nostr_dvm/tasks/textgeneration_llmlite.py +++ b/nostr_dvm/tasks/textgeneration_llmlite.py @@ -102,6 +102,8 @@ def build_example(name, identifier, admin_config): dvm_config = build_default_config(identifier) admin_config.LUD16 = dvm_config.LN_ADDRESS + options = {'default_model': "ollama/llama2-uncensored", 'server': "http://localhost:11434"} + nip89info = { "name": name, "image": "https://image.nostr.build/c33ca6fc4cc038ca4adb46fdfdfda34951656f87ee364ef59095bae1495ce669.jpg", @@ -116,13 +118,10 @@ def build_example(name, identifier, admin_config): } } - options = {'default_model': "ollama/llama2-uncensored", 'server': "http://localhost:11434"} - nip89config = NIP89Config() - nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) - # We add an optional AdminConfig for this one, and tell the dvm to rebroadcast its NIP89 + return TextGenerationOLLAMA(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config, options=options) diff --git a/nostr_dvm/tasks/translation_google.py b/nostr_dvm/tasks/translation_google.py index 73b5462..642cf49 100644 --- a/nostr_dvm/tasks/translation_google.py +++ b/nostr_dvm/tasks/translation_google.py @@ -136,9 +136,9 @@ def build_example(name, identifier, admin_config): } } nip89config = NIP89Config() - nip89config.DTAG = nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) + return TranslationGoogle(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config) if __name__ == '__main__': diff --git a/nostr_dvm/tasks/trending_notes_nostrband.py b/nostr_dvm/tasks/trending_notes_nostrband.py index 82d48f7..480de1f 100644 --- a/nostr_dvm/tasks/trending_notes_nostrband.py +++ b/nostr_dvm/tasks/trending_notes_nostrband.py @@ -82,10 +82,6 @@ class TrendingNotesNostrBand(DVMTaskInterface): except: return "error" - - - - def post_process(self, result, event): """Overwrite the interface function to return a social client readable format, if requested""" for tag in event.tags(): @@ -114,14 +110,12 @@ def build_example(name, identifier, admin_config): "cashuAccepted": True, "nip90Params": {} } - nip89config = NIP89Config() - nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, - nip89info["image"]) - + nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"]) nip89config.CONTENT = json.dumps(nip89info) + return TrendingNotesNostrBand(name=name, dvm_config=dvm_config, nip89config=nip89config, - admin_config=admin_config) + admin_config=admin_config) if __name__ == '__main__':