unify venv calling, add basic huggingchat module

This commit is contained in:
Believethehype
2023-12-29 00:27:34 +01:00
parent 2c8e81d34a
commit 6de23645e4
23 changed files with 168 additions and 200 deletions

1
.gitignore vendored
View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View 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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)