Skip to content

Commit

Permalink
Merge pull request #154 from griptape-ai:dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
shhlife authored Nov 3, 2024
2 parents 54a9935 + 05867be commit 00504ea
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 43 deletions.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,14 @@ You can previous and download more examples [here](examples/README.md).
18. Persistent Display Text: https://youtu.be/9229bN0EKlc?si=Or2eu3Nuh7lxgfEU
19. Convert an Agent to a Tool.. and give it to another Agent: https://youtu.be/CcRot5tVAU8?si=lA0v5kDH51nYWwgG
20. Text-To-Speech Nodes: https://youtu.be/PP1uPkRmvoo?si=QSaWNCRsRaIERrZ4
21. Update to Managing Your API Keys in ComfyUI Griptape Nodes: https://www.youtube.com/watch?v=v80A7rtIjko

## Recent Changelog

### Nov 4, 2024
* Fixed bug where OPENAI_API_KEY was still required, and was causing some install issues.
* Added video to README with how to manage api keys.

### Nov 1, 2024
* Major reworking of how API keys are set. Now you can use the ComfyUI Settings window and add your API keys there. This should simplify things quite a bit as you no longer need to create a `.env` file in your ComfyUI folder.

Expand Down
11 changes: 9 additions & 2 deletions js/versions.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
export const versions = {
"version": "0.34.0e",
"releaseDate": "2024-10-31",
"version": "0.34.0f",
"releaseDate": "2024-11-4",
"name": "ComfyUI-Griptape",
"description": "Griptape integration for ComfyUI",
"author": "Jason Schleifer",
"repository": "https://github.com/griptape-ai/ComfyUI-Griptape",
"changelog": [
{
"version": "0.34.0f",
"date": "2024-11-4",
"changes": [
"Fixed install issue",
]
},
{
"version": "0.34.0e",
"date": "2024-11-1",
Expand Down
57 changes: 31 additions & 26 deletions nodes/config/gtUIStructureConfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,28 +17,7 @@
from ...py.griptape_settings import GriptapeSettings
from ..gtUIBase import gtUIBase

# Check for the default OPENAI_API_KEY being set
default_env = "OPENAI_API_KEY"
settings = GriptapeSettings()
has_openai_key = settings.get_settings_key_or_use_env(default_env) is not None
if not has_openai_key:
default_chat_prompt_driver = DummyPromptDriver()
default_image_generation_driver = DummyImageGenerationDriver()
default_embedding_driver = DummyEmbeddingDriver()
default_text_to_speech_driver = DummyTextToSpeechDriver()
default_audio_transcription_driver = DummyAudioTranscriptionDriver()
else:
default_chat_prompt_driver = OpenAiChatPromptDriver(model="gpt-4o")
default_image_generation_driver = OpenAiImageGenerationDriver(model="dall-e-3")
default_chat_prompt_driver = OpenAiChatPromptDriver(model="gpt-4o")
default_image_generation_driver = OpenAiImageGenerationDriver(model="dall-e-3")
default_embedding_driver = OpenAiEmbeddingDriver()
default_text_to_speech_driver = OpenAiTextToSpeechDriver(
model="tts-1", voice="alloy"
)
default_audio_transcription_driver = OpenAiAudioTranscriptionDriver(
model="whisper-1"
)


class gtUIStructureConfig(gtUIBase):
Expand All @@ -47,6 +26,32 @@ class gtUIStructureConfig(gtUIBase):
"""

def __init__(self):
# Check for the default OPENAI_API_KEY being set
settings = GriptapeSettings()
has_openai_key = settings.get_settings_key_or_use_env(default_env) is not None
if not has_openai_key:
self.default_chat_prompt_driver = DummyPromptDriver()
self.default_image_generation_driver = DummyImageGenerationDriver()
self.default_embedding_driver = DummyEmbeddingDriver()
self.default_text_to_speech_driver = DummyTextToSpeechDriver()
self.default_audio_transcription_driver = DummyAudioTranscriptionDriver()
else:
self.default_chat_prompt_driver = OpenAiChatPromptDriver(model="gpt-4o")
self.default_image_generation_driver = OpenAiImageGenerationDriver(
model="dall-e-3"
)
self.default_chat_prompt_driver = OpenAiChatPromptDriver(model="gpt-4o")
self.default_image_generation_driver = OpenAiImageGenerationDriver(
model="dall-e-3"
)
self.default_embedding_driver = OpenAiEmbeddingDriver()
self.default_text_to_speech_driver = OpenAiTextToSpeechDriver(
model="tts-1", voice="alloy"
)
self.default_audio_transcription_driver = OpenAiAudioTranscriptionDriver(
model="whisper-1"
)

pass

@classmethod
Expand Down Expand Up @@ -75,17 +80,17 @@ def INPUT_TYPES(s):
def create(self, **kwargs):
self.run_envs(kwargs)

prompt_driver = kwargs.get("prompt_driver", default_chat_prompt_driver)
prompt_driver = kwargs.get("prompt_driver", self.default_chat_prompt_driver)
image_generation_driver = kwargs.get(
"image_generation_driver", default_image_generation_driver
"image_generation_driver", self.default_image_generation_driver
)
embedding_driver = kwargs.get("embedding_driver", default_embedding_driver)
embedding_driver = kwargs.get("embedding_driver", self.default_embedding_driver)
vector_store_driver = kwargs.get("vector_store_driver", None)
text_to_speech_driver = kwargs.get(
"text_to_speech_driver", default_text_to_speech_driver
"text_to_speech_driver", self.default_text_to_speech_driver
)
audio_transcription_driver = kwargs.get(
"audio_transcription_driver", default_audio_transcription_driver
"audio_transcription_driver", self.default_audio_transcription_driver
)

drivers = {}
Expand Down
8 changes: 4 additions & 4 deletions nodes/tasks/gtUIAudioTranscriptionTask.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@

default_prompt = "{{ input_string }}"

settings = GriptapeSettings()
OPENAI_API_KEY = settings.get_settings_key_or_use_env("OPENAI_API_KEY")


class gtUIAudioTranscriptionTask(gtUIBaseAudioTask):
DESCRIPTION = "Transcribe an audio file."
Expand Down Expand Up @@ -66,8 +63,11 @@ def run(self, **kwargs):
print(f"Error loading audio file: {e}")
if audio_artifact:
if not driver and not agent:
settings = GriptapeSettings()
OPENAI_API_KEY = settings.get_settings_key_or_use_env("OPENAI_API_KEY")
audio_transcription_driver = OpenAiAudioTranscriptionDriver(
model="whisper-1"
model="whisper-1",
api_key=OPENAI_API_KEY,
)
elif not driver and agent:
audio_transcription_driver = (
Expand Down
5 changes: 2 additions & 3 deletions nodes/tasks/gtUIParallelImageQueryTask.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,16 @@
PromptTask,
)

from ...py.griptape_settings import GriptapeSettings
from ..agent.gtComfyAgent import gtComfyAgent as Agent
from ..utilities import (
convert_tensor_to_base_64,
)
from .gtUIBaseImageTask import gtUIBaseImageTask

default_prompt = "{{ input_string }}"
settings = GriptapeSettings()
# settings = GriptapeSettings()

OPENAI_API_KEY = settings.get_settings_key_or_use_env("OPENAI_API_KEY")
# OPENAI_API_KEY = settings.get_settings_key_or_use_env("OPENAI_API_KEY")


def do_start_task(task: CodeExecutionTask) -> BaseArtifact:
Expand Down
5 changes: 2 additions & 3 deletions nodes/tasks/gtUIPromptImageGenerationTask.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@
from .gtUIBaseTask import gtUIBaseTask

default_prompt = "{{ input_string }}"
settings = GriptapeSettings()

OPENAI_API_KEY = settings.get_settings_key_or_use_env("OPENAI_API_KEY")


class gtUIPromptImageGenerationTask(gtUIBaseTask):
Expand Down Expand Up @@ -63,6 +60,8 @@ def run(self, **kwargs):
if isinstance(
agent.drivers_config.image_generation_driver, DummyImageGenerationDriver
):
settings = GriptapeSettings()
OPENAI_API_KEY = settings.get_settings_key_or_use_env("OPENAI_API_KEY")
# create a default driver
driver = OpenAiImageGenerationDriver(
model="dall-e-3",
Expand Down
5 changes: 3 additions & 2 deletions nodes/tasks/gtUIPromptImageVariationTask.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@
from .gtUIBaseImageTask import gtUIBaseImageTask

default_prompt = "{{ input_string }}"
settings = GriptapeSettings()
OPENAI_API_KEY = settings.get_settings_key_or_use_env("OPENAI_API_KEY")


class gtUIPromptImageVariationTask(gtUIBaseImageTask):
Expand Down Expand Up @@ -58,6 +56,9 @@ def run(self, **kwargs):

prompt_text = self.get_prompt_text(STRING, input_string)
if not driver:
settings = GriptapeSettings()
OPENAI_API_KEY = settings.get_settings_key_or_use_env("OPENAI_API_KEY")

driver = OpenAiImageGenerationDriver(
api_key=OPENAI_API_KEY,
model="dall-e-2",
Expand Down
1 change: 0 additions & 1 deletion nodes/utils/ollama_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ def run_ollama_command(command):
# Remove any newlines and extra spaces
full_command_str = str(" ".join(full_command.split()))

# ic(full_command_str)
try:
result = subprocess.run(full_command_str, capture_output=True, text=True)
output = result.stdout + result.stderr
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "comfyui-griptape"
version = "1.0.16"
version = "1.0.17"
description = "Griptape LLM(Large Language Model) Nodes for ComfyUI."
authors = ["Jason Schleifer <[email protected]>"]
readme = "README.md"
Expand All @@ -26,7 +26,7 @@ priority = "explicit"
[project]
name = "comfyui-griptape"
description = "Griptape LLM(Large Language Model) Nodes for ComfyUI."
version = "1.0.16"
version = "1.0.17"
license = {file = "LICENSE"}
dependencies = ["griptape[all]==0.34.0", "python-dotenv"]

Expand Down

0 comments on commit 00504ea

Please sign in to comment.