mirror of
https://github.com/believethehype/nostrdvm.git
synced 2025-10-11 13:03:28 +02:00
unify venv calling, add basic huggingchat module
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -174,3 +174,4 @@ backends/nserver/venv
|
|||||||
backends/nserver/cache
|
backends/nserver/cache
|
||||||
backends/nserver/modules/image_upscale/weights
|
backends/nserver/modules/image_upscale/weights
|
||||||
cache/
|
cache/
|
||||||
|
cookies_snapshot/satoshi2077@protonmail.com.json
|
||||||
|
6
main.py
6
main.py
@@ -7,7 +7,7 @@ from nostr_dvm.bot import Bot
|
|||||||
from nostr_dvm.tasks import videogeneration_replicate_svd, imagegeneration_replicate_sdxl, textgeneration_llmlite, \
|
from nostr_dvm.tasks import videogeneration_replicate_svd, imagegeneration_replicate_sdxl, textgeneration_llmlite, \
|
||||||
trending_notes_nostrband, discovery_inactive_follows, translation_google, textextraction_pdf, \
|
trending_notes_nostrband, discovery_inactive_follows, translation_google, textextraction_pdf, \
|
||||||
translation_libretranslate, textextraction_google, convert_media, imagegeneration_openai_dalle, texttospeech, \
|
translation_libretranslate, textextraction_google, convert_media, imagegeneration_openai_dalle, texttospeech, \
|
||||||
imagegeneration_sd21_mlx, advanced_search
|
imagegeneration_sd21_mlx, advanced_search, textgeneration_huggingchat
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.backend_utils import keep_alive
|
from nostr_dvm.utils.backend_utils import keep_alive
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
@@ -156,6 +156,10 @@ def playground():
|
|||||||
mlx.run()
|
mlx.run()
|
||||||
|
|
||||||
|
|
||||||
|
hugginchat = textgeneration_huggingchat.build_example("Huggingchat", "hugginchat", admin_config)
|
||||||
|
bot_config.SUPPORTED_DVMS.append(hugginchat)
|
||||||
|
hugginchat.run()
|
||||||
|
|
||||||
# Run the bot
|
# Run the bot
|
||||||
Bot(bot_config)
|
Bot(bot_config)
|
||||||
# Keep the main function alive for libraries that require it, like openai
|
# Keep the main function alive for libraries that require it, like openai
|
||||||
|
@@ -1,6 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import time
|
||||||
from subprocess import run
|
from subprocess import run
|
||||||
import sys
|
import sys
|
||||||
from sys import platform
|
from sys import platform
|
||||||
@@ -9,7 +10,7 @@ from venv import create
|
|||||||
from nostr_sdk import Keys
|
from nostr_sdk import Keys
|
||||||
from nostr_dvm.dvm import DVM
|
from nostr_dvm.dvm import DVM
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
||||||
from nostr_dvm.utils.output_utils import post_process_result
|
from nostr_dvm.utils.output_utils import post_process_result
|
||||||
|
|
||||||
@@ -134,3 +135,11 @@ class DVMTaskInterface:
|
|||||||
with open(os.path.abspath(output), 'w') as f:
|
with open(os.path.abspath(output), 'w') as f:
|
||||||
f.write(result)
|
f.write(result)
|
||||||
# f.close()
|
# f.close()
|
||||||
|
|
||||||
|
|
||||||
|
def process_venv(identifier):
|
||||||
|
args = DVMTaskInterface.process_args()
|
||||||
|
dvm_config = build_default_config(args.identifier)
|
||||||
|
dvm = identifier(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
||||||
|
result = dvm.process(json.loads(args.request))
|
||||||
|
DVMTaskInterface.write_output(result, args.output)
|
||||||
|
@@ -3,7 +3,7 @@ import os
|
|||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from nostr_sdk import Client, Timestamp, PublicKey, Tag, Keys, Options, SecretKey
|
from nostr_sdk import Client, Timestamp, PublicKey, Tag, Keys, Options, SecretKey
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -176,13 +176,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config)
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = AdvancedSearch(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(AdvancedSearch)
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -101,13 +101,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config)
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = MediaConverter(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(MediaConverter)
|
||||||
|
@@ -5,7 +5,7 @@ from threading import Thread
|
|||||||
|
|
||||||
from nostr_sdk import Client, Timestamp, PublicKey, Tag, Keys, Options, SecretKey
|
from nostr_sdk import Client, Timestamp, PublicKey, Tag, Keys, Options, SecretKey
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -205,13 +205,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config)
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = DiscoverInactiveFollows(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(DiscoverInactiveFollows)
|
||||||
|
@@ -6,7 +6,7 @@ from io import BytesIO
|
|||||||
import requests
|
import requests
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -152,17 +152,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
return ImageGenerationDALLE(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config)
|
return ImageGenerationDALLE(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = ImageGenerationDALLE(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = ""
|
|
||||||
while result == "":
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
time.sleep(10)
|
|
||||||
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(ImageGenerationDALLE)
|
||||||
|
@@ -4,7 +4,7 @@ from io import BytesIO
|
|||||||
import requests
|
import requests
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -145,13 +145,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config)
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = ImageGenerationReplicateSDXL(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(ImageGenerationReplicateSDXL)
|
||||||
|
@@ -3,7 +3,7 @@ import os
|
|||||||
from PIL import Image
|
from PIL import Image
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -174,13 +174,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config)
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = ImageGenerationMLX(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(ImageGenerationMLX)
|
||||||
|
@@ -2,7 +2,7 @@ import json
|
|||||||
from multiprocessing.pool import ThreadPool
|
from multiprocessing.pool import ThreadPool
|
||||||
|
|
||||||
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server
|
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
||||||
@@ -194,13 +194,5 @@ def build_example(name, identifier, admin_config, server_address, default_model=
|
|||||||
admin_config=admin_config, options=options)
|
admin_config=admin_config, options=options)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = ImageGenerationSDXL(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(ImageGenerationSDXL)
|
||||||
|
@@ -2,7 +2,7 @@ import json
|
|||||||
from multiprocessing.pool import ThreadPool
|
from multiprocessing.pool import ThreadPool
|
||||||
|
|
||||||
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server
|
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
||||||
@@ -223,13 +223,5 @@ def build_example(name, identifier, admin_config, server_address, default_lora="
|
|||||||
admin_config=admin_config, options=options)
|
admin_config=admin_config, options=options)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = ImageGenerationSDXLIMG2IMG(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(ImageGenerationSDXLIMG2IMG)
|
||||||
|
@@ -2,7 +2,7 @@ import json
|
|||||||
from multiprocessing.pool import ThreadPool
|
from multiprocessing.pool import ThreadPool
|
||||||
|
|
||||||
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server
|
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
||||||
@@ -137,13 +137,5 @@ def build_example(name, identifier, admin_config, server_address):
|
|||||||
admin_config=admin_config, options=options)
|
admin_config=admin_config, options=options)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = ImageInterrogator(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(ImageInterrogator)
|
||||||
|
@@ -2,7 +2,7 @@ import json
|
|||||||
from multiprocessing.pool import ThreadPool
|
from multiprocessing.pool import ThreadPool
|
||||||
|
|
||||||
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server
|
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
from nostr_dvm.utils.nip89_utils import NIP89Config, check_and_set_d_tag
|
||||||
@@ -129,13 +129,5 @@ def build_example(name, identifier, admin_config, server_address):
|
|||||||
admin_config=admin_config, options=options)
|
admin_config=admin_config, options=options)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = ImageUpscale(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(ImageUpscale)
|
||||||
|
@@ -2,7 +2,7 @@ import json
|
|||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
from nostr_dvm.utils.mediasource_utils import organize_input_media_data
|
from nostr_dvm.utils.mediasource_utils import organize_input_media_data
|
||||||
@@ -156,13 +156,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config, options=options)
|
admin_config=admin_config, options=options)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = SpeechToTextGoogle(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(SpeechToTextGoogle)
|
||||||
|
@@ -2,7 +2,7 @@ import json
|
|||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -112,13 +112,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config)
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = TextExtractionPDF(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(TextExtractionPDF)
|
||||||
|
@@ -3,7 +3,7 @@ import os
|
|||||||
import time
|
import time
|
||||||
from multiprocessing.pool import ThreadPool
|
from multiprocessing.pool import ThreadPool
|
||||||
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server, send_file_to_server
|
from nostr_dvm.backends.nova_server.utils import check_server_status, send_request_to_server, send_file_to_server
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
from nostr_dvm.utils.mediasource_utils import organize_input_media_data
|
from nostr_dvm.utils.mediasource_utils import organize_input_media_data
|
||||||
@@ -181,13 +181,5 @@ def build_example(name, identifier, admin_config, server_address):
|
|||||||
admin_config=admin_config, options=options)
|
admin_config=admin_config, options=options)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = SpeechToTextWhisperX(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(SpeechToTextWhisperX)
|
||||||
|
108
nostr_dvm/tasks/textgeneration_huggingchat.py
Normal file
108
nostr_dvm/tasks/textgeneration_huggingchat.py
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
|
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) (Ollama, custom model, chatgpt)
|
||||||
|
|
||||||
|
Accepted Inputs: Prompt (text)
|
||||||
|
Outputs: Generated text
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
class TextGenerationHuggingChat(DVMTaskInterface):
|
||||||
|
KIND: int = EventDefinitions.KIND_NIP90_GENERATE_TEXT
|
||||||
|
TASK: str = "text-to-text"
|
||||||
|
FIX_COST: float = 0
|
||||||
|
dependencies = [("nostr-dvm", "nostr-dvm"),
|
||||||
|
("hugchat", "hugchat")]
|
||||||
|
|
||||||
|
def __init__(self, name, dvm_config: DVMConfig, nip89config: NIP89Config,
|
||||||
|
admin_config: AdminConfig = None, options=None):
|
||||||
|
dvm_config.SCRIPT = os.path.abspath(__file__)
|
||||||
|
super().__init__(name, dvm_config, nip89config, admin_config, options)
|
||||||
|
|
||||||
|
def is_input_supported(self, tags, client=None, dvm_config=None):
|
||||||
|
for tag in tags:
|
||||||
|
if tag.as_vec()[0] == 'i':
|
||||||
|
input_value = tag.as_vec()[1]
|
||||||
|
input_type = tag.as_vec()[2]
|
||||||
|
if input_type != "text":
|
||||||
|
return False
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
def create_request_from_nostr_event(self, event, client=None, dvm_config=None):
|
||||||
|
request_form = {"jobID": event.id().to_hex() + "_" + self.NAME.replace(" ", "")}
|
||||||
|
prompt = ""
|
||||||
|
|
||||||
|
for tag in event.tags():
|
||||||
|
if tag.as_vec()[0] == 'i':
|
||||||
|
input_type = tag.as_vec()[2]
|
||||||
|
if input_type == "text":
|
||||||
|
prompt = tag.as_vec()[1]
|
||||||
|
|
||||||
|
options = {
|
||||||
|
"prompt": prompt,
|
||||||
|
}
|
||||||
|
request_form['options'] = json.dumps(options)
|
||||||
|
|
||||||
|
return request_form
|
||||||
|
|
||||||
|
def process(self, request_form):
|
||||||
|
from hugchat import hugchat
|
||||||
|
from hugchat.login import Login
|
||||||
|
sign = Login(os.getenv("HUGGINGFACE_EMAIL"), os.getenv("HUGGINGFACE_PASSWORD"))
|
||||||
|
cookie_path_dir = "./cookies_snapshot"
|
||||||
|
try:
|
||||||
|
cookies = sign.loadCookiesFromDir(
|
||||||
|
cookie_path_dir) # This will detect if the JSON file exists, return cookies if it does and raise an Exception if it's not.
|
||||||
|
except:
|
||||||
|
cookies = sign.login()
|
||||||
|
sign.saveCookiesToDir(cookie_path_dir)
|
||||||
|
|
||||||
|
|
||||||
|
options = DVMTaskInterface.set_options(request_form)
|
||||||
|
|
||||||
|
try:
|
||||||
|
chatbot = hugchat.ChatBot(cookies=cookies.get_dict()) # or cookie_path="usercookies/<email>.json"
|
||||||
|
query_result = chatbot.query(options["prompt"])
|
||||||
|
print(query_result["text"]) # or query_result.text or query_result["text"]
|
||||||
|
return str(query_result["text"]).lstrip()
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print("Error in Module: " + str(e))
|
||||||
|
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
|
||||||
|
def build_example(name, identifier, admin_config):
|
||||||
|
dvm_config = build_default_config(identifier)
|
||||||
|
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||||
|
|
||||||
|
nip89info = {
|
||||||
|
"name": name,
|
||||||
|
"image": "https://image.nostr.build/c33ca6fc4cc038ca4adb46fdfdfda34951656f87ee364ef59095bae1495ce669.jpg",
|
||||||
|
"about": "I use a LLM connected via Huggingchat",
|
||||||
|
"encryptionSupported": True,
|
||||||
|
"cashuAccepted": True,
|
||||||
|
"nip90Params": {}
|
||||||
|
}
|
||||||
|
|
||||||
|
nip89config = NIP89Config()
|
||||||
|
nip89config.DTAG = check_and_set_d_tag(identifier, name, dvm_config.PRIVATE_KEY, nip89info["image"])
|
||||||
|
nip89config.CONTENT = json.dumps(nip89info)
|
||||||
|
|
||||||
|
return TextGenerationHuggingChat(name=name, dvm_config=dvm_config, nip89config=nip89config,
|
||||||
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
process_venv(TextGenerationHuggingChat)
|
@@ -1,7 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -43,11 +43,11 @@ class TextGenerationLLMLite(DVMTaskInterface):
|
|||||||
if self.options.get("default_model") and self.options.get("default_model") != "":
|
if self.options.get("default_model") and self.options.get("default_model") != "":
|
||||||
model = self.options['default_model']
|
model = self.options['default_model']
|
||||||
else:
|
else:
|
||||||
model = "gpt-3.5-turbo" #"gpt-4-1106-preview" # This will call chatgpt and requires an OpenAI API Key set in .env
|
model = "gpt-3.5-turbo" # "gpt-4-1106-preview" # This will call chatgpt and requires an OpenAI API Key set in .env
|
||||||
if self.options.get("server") and self.options.get("server") != "":
|
if self.options.get("server") and self.options.get("server") != "":
|
||||||
server = self.options['server']
|
server = self.options['server']
|
||||||
else:
|
else:
|
||||||
server = "http://localhost:11434" #default ollama server. This will only be used for ollama models.
|
server = "http://localhost:11434" # default ollama server. This will only be used for ollama models.
|
||||||
|
|
||||||
for tag in event.tags():
|
for tag in event.tags():
|
||||||
if tag.as_vec()[0] == 'i':
|
if tag.as_vec()[0] == 'i':
|
||||||
@@ -114,16 +114,9 @@ def build_example(name, identifier, admin_config):
|
|||||||
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)
|
nip89config.CONTENT = json.dumps(nip89info)
|
||||||
|
|
||||||
return TextGenerationLLMLite(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config, options=options)
|
return TextGenerationLLMLite(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config,
|
||||||
|
options=options)
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = TextGenerationLLMLite(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(TextGenerationLLMLite)
|
||||||
|
@@ -5,7 +5,7 @@ os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import urllib.request
|
import urllib.request
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -106,8 +106,8 @@ class TextToSpeech(DVMTaskInterface):
|
|||||||
|
|
||||||
print(TTS().list_models())
|
print(TTS().list_models())
|
||||||
try:
|
try:
|
||||||
#model = "tts_models/deu/fairseq/vits"
|
# model = "tts_models/deu/fairseq/vits"
|
||||||
#model = "tts_models/multilingual/multi-dataset/your_tts"
|
# model = "tts_models/multilingual/multi-dataset/your_tts"
|
||||||
model = "tts_models/multilingual/multi-dataset/xtts_v2"
|
model = "tts_models/multilingual/multi-dataset/xtts_v2"
|
||||||
tts = TTS(model).to(device)
|
tts = TTS(model).to(device)
|
||||||
|
|
||||||
@@ -154,13 +154,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
options=options)
|
options=options)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = TextToSpeech(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(TextToSpeech)
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -146,13 +146,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
return TranslationGoogle(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config)
|
return TranslationGoogle(name=name, dvm_config=dvm_config, nip89config=nip89config, admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = TranslationGoogle(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(TranslationGoogle)
|
||||||
|
@@ -2,7 +2,7 @@ import json
|
|||||||
import os
|
import os
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -145,13 +145,6 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config, options=options)
|
admin_config=admin_config, options=options)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = TranslationLibre(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(TranslationLibre)
|
||||||
|
@@ -2,7 +2,7 @@ import json
|
|||||||
import os
|
import os
|
||||||
from nostr_sdk import Tag
|
from nostr_sdk import Tag
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -115,13 +115,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config)
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = TrendingNotesNostrBand(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(TrendingNotesNostrBand)
|
||||||
|
@@ -5,7 +5,7 @@ import requests
|
|||||||
import urllib.request
|
import urllib.request
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
|
|
||||||
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface
|
from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv
|
||||||
from nostr_dvm.utils.admin_utils import AdminConfig
|
from nostr_dvm.utils.admin_utils import AdminConfig
|
||||||
from nostr_dvm.utils.definitions import EventDefinitions
|
from nostr_dvm.utils.definitions import EventDefinitions
|
||||||
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
from nostr_dvm.utils.dvmconfig import DVMConfig, build_default_config
|
||||||
@@ -133,13 +133,5 @@ def build_example(name, identifier, admin_config):
|
|||||||
admin_config=admin_config)
|
admin_config=admin_config)
|
||||||
|
|
||||||
|
|
||||||
def process_venv():
|
|
||||||
args = DVMTaskInterface.process_args()
|
|
||||||
dvm_config = build_default_config(args.identifier)
|
|
||||||
dvm = VideoGenerationReplicateSVD(name="", dvm_config=dvm_config, nip89config=NIP89Config(), admin_config=None)
|
|
||||||
result = dvm.process(json.loads(args.request))
|
|
||||||
DVMTaskInterface.write_output(result, args.output)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
process_venv()
|
process_venv(VideoGenerationReplicateSVD)
|
||||||
|
Reference in New Issue
Block a user