Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removes more obsolete code #378

Merged
merged 1 commit into from
Jan 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/airunner/filters/windows/filter_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
from functools import partial

from PyQt6 import uic
from airunner.data.session_scope import session_scope

from airunner.widgets.slider.slider_widget import SliderWidget

Expand Down
3 changes: 0 additions & 3 deletions src/airunner/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@
from PIL import Image
from PyQt6.QtGui import QPixmap, QImage
from PyQt6.QtWidgets import QFileDialog, QApplication, QMainWindow
from airunner.aihandler.logger import Logger
from airunner.settings import SQLITE_DB_PATH
from PIL import PngImagePlugin
from airunner.data.session_scope import session_scope

SESSION = None

Expand Down
8 changes: 0 additions & 8 deletions src/airunner/widgets/brush/brush_container_widget.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
from contextlib import contextmanager
from airunner.widgets.base_widget import BaseWidget
from airunner.widgets.brush.templates.brush_widget_ui import Ui_brush_widget
from airunner.data.session_scope import session_scope


class BrushContainerWidget(BaseWidget):
widget_class_ = Ui_brush_widget
_brush = None

@contextmanager
def brush(self):
with session_scope() as session:
session.add(self._brush)
yield self._brush

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
Expand Down
3 changes: 1 addition & 2 deletions src/airunner/widgets/canvas_plus/canvas_plus_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from PIL import Image, ImageGrab
from PIL.ImageQt import ImageQt
from PyQt6.QtCore import Qt, QPoint, QPointF, QRect
from PyQt6.QtCore import Qt, QPoint, QRect
from PyQt6.QtGui import QBrush, QColor, QPen, QPixmap
from PyQt6.QtWidgets import QGraphicsPixmapItem
from PyQt6 import QtWidgets, QtCore
Expand All @@ -15,7 +15,6 @@
from airunner.widgets.canvas_plus.canvas_base_widget import CanvasBaseWidget
from airunner.widgets.canvas_plus.templates.canvas_plus_ui import Ui_canvas
from airunner.utils import apply_opacity_to_image
from airunner.data.session_scope import session_scope
from airunner.widgets.canvas_plus.draggables import DraggablePixmap, ActiveGridArea
from airunner.widgets.canvas_plus.custom_scene import CustomScene

Expand Down
10 changes: 3 additions & 7 deletions src/airunner/widgets/canvas_plus/draggables.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
from PyQt6.QtGui import QBrush, QColor, QPen, QPixmap, QPainter
from PyQt6.QtWidgets import QGraphicsItem, QGraphicsPixmapItem

from airunner.data.session_scope import session_scope


class DraggablePixmap(QGraphicsPixmapItem):
def __init__(self, parent, pixmap):
Expand Down Expand Up @@ -42,11 +40,9 @@ def __init__(self, parent, pixmap, layer_image_data):

def mouseReleaseEvent(self, event):
super().mouseReleaseEvent(event)
with session_scope() as session:
pos = self.pos()
self.layer_image_data.pos_x = pos.x()
self.layer_image_data.pos_y = pos.y()
session.add(self.layer_image_data)
pos = self.pos()
self.layer_image_data["pos_x"] = pos.x()
self.layer_image_data["pos_y"] = pos.y()


class ActiveGridArea(DraggablePixmap):
Expand Down
51 changes: 18 additions & 33 deletions src/airunner/widgets/embeddings/embedding_widget.py
Original file line number Diff line number Diff line change
@@ -1,51 +1,36 @@
from airunner.data.session_scope import session_scope
from airunner.widgets.base_widget import BaseWidget
from airunner.widgets.embeddings.templates.embedding_ui import Ui_embedding
from PyQt6.QtWidgets import QApplication
from contextlib import contextmanager
from sqlalchemy.exc import InvalidRequestError


class EmbeddingWidget(BaseWidget):
widget_class_ = Ui_embedding

@contextmanager
def embedding(self):
with session_scope() as session:
try:
session.add(self._embedding)
except InvalidRequestError:
pass
yield self._embedding

def __init__(self, *args, **kwargs):
self._embedding = kwargs.pop("embedding")
self.embedding = kwargs.pop("embedding")
super().__init__(*args, **kwargs)
with self.embedding() as embedding:
self.ui.enabledCheckbox.setChecked(embedding["active"])
self.ui.enabledCheckbox.setTitle(embedding["name"])
if embedding["tags"]:
self.ui.tags.show()
self.ui.tags.setText(embedding["tags"])
else:
self.ui.tags.hide()
self.ui.enabledCheckbox.setChecked(self.embedding["active"])
self.ui.enabledCheckbox.setTitle(self.embedding["name"])
if self.embedding["tags"]:
self.ui.tags.show()
self.ui.tags.setText(self.embedding["tags"])
else:
self.ui.tags.hide()

def action_clicked_button_to_prompt(self):
with self.embedding() as embedding:
val = f"{self.app.settings['generator_settings']['prompt']} {embedding['name']}"
settings = self.app.settings
settings["generator_settings"]["prompt"] = val
self.app.settings = settings
val = f"{self.app.settings['generator_settings']['prompt']} {self.embedding['name']}"
settings = self.app.settings
settings["generator_settings"]["prompt"] = val
self.app.settings = settings

def action_clicked_button_to_negative_prompt(self):
with self.embedding() as embedding:
val = f"{self.app.settings['generator_settings']['negative_prompt']} {embedding['name']}"
settings = self.app.settings
settings["generator_settings"]["negative_prompt"] = val
self.app.settings = settings
val = f"{self.app.settings['generator_settings']['negative_prompt']} {self.embedding['name']}"
settings = self.app.settings
settings["generator_settings"]["negative_prompt"] = val
self.app.settings = settings

def action_toggled_embedding(self, val):
with self.embedding() as embedding:
embedding['active'] = val
self.embedding['active'] = val

def action_clicked_copy(self):
# copy embedding name to clipboard
Expand Down
11 changes: 1 addition & 10 deletions src/airunner/widgets/image/image_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
from PyQt6.QtGui import QDrag
from PyQt6.QtCore import QMimeData
from PyQt6.QtCore import QByteArray
from airunner.data.session_scope import session_scope


class ImageWidget(BaseWidget):
Expand Down Expand Up @@ -250,17 +249,9 @@ def generate_variant(self):


class BrushImageWidget(ImageWidget):
_brush = None

@contextmanager
def brush(self):
with session_scope() as session:
session.add(self._brush)
yield self._brush

def __init__(self, *args, **kwargs):
self.container = kwargs.pop("container", None)
self._brush = kwargs.pop("brush", None)
self.brush = kwargs.pop("brush", None)
super().__init__(*args, **kwargs)

def handle_label_clicked(self, event):
Expand Down
3 changes: 0 additions & 3 deletions src/airunner/widgets/layers/layer_container_widget.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
from PIL import Image
from PyQt6.QtCore import QRect, QPoint, Qt
from PyQt6.QtWidgets import QSpacerItem, QSizePolicy
from contextlib import contextmanager

from airunner.aihandler.logger import Logger
from airunner.models.layerdata import LayerData
from airunner.data.session_scope import session_scope
from airunner.widgets.base_widget import BaseWidget
from airunner.widgets.layers.layer_widget import LayerWidget
from airunner.widgets.layers.templates.layer_container_ui import Ui_layer_container
Expand Down
14 changes: 2 additions & 12 deletions src/airunner/widgets/layers/layer_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,16 @@

from airunner.widgets.base_widget import BaseWidget
from airunner.widgets.layers.templates.layer_ui import Ui_LayerWidget
from airunner.utils import image_to_pixmap
from airunner.data.session_scope import session_scope


class LayerWidget(BaseWidget):
widget_class_ = Ui_LayerWidget
offset = QPoint(0, 0)
_previous_pos = None

@property
def layer_data(self):
with session_scope() as session:
session.add(self._layer_data)
yield self._layer_data

def __init__(self, *args, **kwargs):
self.layer_container = kwargs.pop("layer_container", None)
self._layer_data = kwargs.pop("layer_data", None)
self.layer_data = kwargs.pop("layer_data", None)
self.layer_index = kwargs.pop("layer_index", None)
super().__init__(*args, **kwargs)
self.set_thumbnail()
Expand Down Expand Up @@ -65,9 +57,7 @@ def set_visible_button_icon(self, val):

def action_clicked_button_toggle_layer_visibility(self, val):
self.set_visible_button_icon(val)
with session_scope() as session:
session.add(self.layer_data)
self.layer_data.visible = val
self.layer_data["visible"] = val
self.app.canvas_widget.do_draw()

def set_thumbnail(self):
Expand Down
112 changes: 55 additions & 57 deletions src/airunner/widgets/llm/chat_prompt_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from airunner.widgets.llm.loading_widget import LoadingWidget
from airunner.widgets.llm.templates.chat_prompt_ui import Ui_chat_prompt
from airunner.widgets.llm.message_widget import MessageWidget
from airunner.data.session_scope import session_scope
from airunner.aihandler.logger import Logger


Expand Down Expand Up @@ -100,63 +99,62 @@ def action_button_clicked_send(self, image_override=None, prompt_override=None,
self.logger.warning("Prompt is empty")
return

with session_scope() as session:
prompt_template = None
template_name = self.app.settings["llm_generator_settings"]["prompt_template"]
if template_name in self.app.settings["llm_templates"]:
prompt_template = self.app.settings["llm_templates"][template_name]
else:
raise Exception("Prompt template not found for "+self.app.settings["llm_generator_settings"]["prompt_template"])

llm_generator_settings = self.app.settings["llm_generator_settings"]

parsed_template = self.parse_template(prompt_template)

data = {
"llm_request": True,
"request_data": {
"unload_unused_model": self.app.settings["memory_settings"]["unload_unused_models"],
"move_unused_model_to_cpu": self.app.settings["memory_settings"]["move_unused_model_to_cpu"],
"generator_name": generator_name,
"model_path": llm_generator_settings["model_version"],
"stream": True,
"prompt": prompt,
"do_summary": False,
"is_bot_alive": True,
"conversation_history": self.conversation_history,
"generator": self.app.settings["llm_generator_settings"],
"prefix": self.prefix,
"suffix": self.suffix,
"dtype": llm_generator_settings["dtype"],
"use_gpu": llm_generator_settings["use_gpu"],
"request_type": "image_caption_generator",
"username": self.app.settings["llm_generator_settings"]["username"],
"botname": self.app.settings["llm_generator_settings"]["botname"],
"prompt_template": parsed_template,
"hf_api_key_read_key": self.app.settings["hf_api_key_read_key"],
"parameters": {
"override_parameters": self.app.settings["llm_generator_settings"]["override_parameters"],
"top_p": llm_generator_settings["top_p"] / 100.0,
"max_length": llm_generator_settings["max_length"],
"repetition_penalty": llm_generator_settings["repetition_penalty"] / 100.0,
"min_length": llm_generator_settings["min_length"],
"length_penalty": llm_generator_settings["length_penalty"] / 100,
"num_beams": llm_generator_settings["num_beams"],
"ngram_size": llm_generator_settings["ngram_size"],
"temperature": llm_generator_settings["temperature"] / 10000.0,
"sequences": llm_generator_settings["sequences"],
"top_k": llm_generator_settings["top_k"],
"eta_cutoff": llm_generator_settings['eta_cutoff'] / 100.0,
"seed": llm_generator_settings["do_sample"],
"early_stopping": llm_generator_settings["early_stopping"],
},
"image": image,
"callback": callback,
"tts_settings": self.app.settings["tts_settings"],
"bot_mood": self.app.settings["llm_generator_settings"]["bot_mood"],
"bot_personality": self.app.settings["llm_generator_settings"]["bot_personality"],
}
prompt_template = None
template_name = self.app.settings["llm_generator_settings"]["prompt_template"]
if template_name in self.app.settings["llm_templates"]:
prompt_template = self.app.settings["llm_templates"][template_name]
else:
raise Exception("Prompt template not found for "+self.app.settings["llm_generator_settings"]["prompt_template"])

llm_generator_settings = self.app.settings["llm_generator_settings"]

parsed_template = self.parse_template(prompt_template)

data = {
"llm_request": True,
"request_data": {
"unload_unused_model": self.app.settings["memory_settings"]["unload_unused_models"],
"move_unused_model_to_cpu": self.app.settings["memory_settings"]["move_unused_model_to_cpu"],
"generator_name": generator_name,
"model_path": llm_generator_settings["model_version"],
"stream": True,
"prompt": prompt,
"do_summary": False,
"is_bot_alive": True,
"conversation_history": self.conversation_history,
"generator": self.app.settings["llm_generator_settings"],
"prefix": self.prefix,
"suffix": self.suffix,
"dtype": llm_generator_settings["dtype"],
"use_gpu": llm_generator_settings["use_gpu"],
"request_type": "image_caption_generator",
"username": self.app.settings["llm_generator_settings"]["username"],
"botname": self.app.settings["llm_generator_settings"]["botname"],
"prompt_template": parsed_template,
"hf_api_key_read_key": self.app.settings["hf_api_key_read_key"],
"parameters": {
"override_parameters": self.app.settings["llm_generator_settings"]["override_parameters"],
"top_p": llm_generator_settings["top_p"] / 100.0,
"max_length": llm_generator_settings["max_length"],
"repetition_penalty": llm_generator_settings["repetition_penalty"] / 100.0,
"min_length": llm_generator_settings["min_length"],
"length_penalty": llm_generator_settings["length_penalty"] / 100,
"num_beams": llm_generator_settings["num_beams"],
"ngram_size": llm_generator_settings["ngram_size"],
"temperature": llm_generator_settings["temperature"] / 10000.0,
"sequences": llm_generator_settings["sequences"],
"top_k": llm_generator_settings["top_k"],
"eta_cutoff": llm_generator_settings['eta_cutoff'] / 100.0,
"seed": llm_generator_settings["do_sample"],
"early_stopping": llm_generator_settings["early_stopping"],
},
"image": image,
"callback": callback,
"tts_settings": self.app.settings["tts_settings"],
"bot_mood": self.app.settings["llm_generator_settings"]["bot_mood"],
"bot_personality": self.app.settings["llm_generator_settings"]["bot_personality"],
}
}
message_object = Message(
name=self.app.settings["llm_generator_settings"]["username"],
message=self.prompt,
Expand Down
1 change: 0 additions & 1 deletion src/airunner/widgets/llm/llm_settings_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from airunner.widgets.base_widget import BaseWidget
from airunner.widgets.llm.templates.llm_settings_ui import Ui_llm_settings_widget
from airunner.aihandler.logger import Logger
from airunner.data.session_scope import session_scope


class LLMSettingsWidget(BaseWidget):
Expand Down
Loading