trying to catch errors better

This commit is contained in:
Jason Schleifer
2024-11-01 06:08:06 +13:00
parent cddee9a39c
commit 7a5d3bee62
4 changed files with 50 additions and 32 deletions
+12 -5
View File
@@ -1,3 +1,6 @@
import logging
from comfy_execution.graph import ExecutionBlocker
from griptape.drivers import DummyVectorStoreDriver
from griptape.tools import QueryTool, RagTool, VectorStoreTool
from openai import OpenAIError
@@ -179,8 +182,16 @@ class BaseAgent:
# Warn for models
model, simple_model = self.agent.model_check()
if model == "":
error_msg = "You have provided a blank model for the Agent Configuration.\n\nPlease specify a model configuration, or disconnect it from the agent."
logging.error(error_msg)
raise Exception(error_msg)
return (
ExecutionBlocker(error_msg),
self.agent,
)
if simple_model:
print(f"This is a simple model: {model}")
return (self.agent.model_response(model), self.agent)
# Check for inputs. If none, then just create the agent
@@ -193,10 +204,6 @@ class BaseAgent:
else:
prompt_text = STRING + "\n\n" + input_string
# if len(tools) > 0:
# self.agent.add_task(ToolkitTask(prompt_text, tools=tools))
# else:
# self.agent.add_task(PromptTask(prompt_text))
result = self.agent.run(prompt_text)
output_string = result.output_task.output.value
return (
+1 -1
View File
@@ -54,7 +54,7 @@ class gtComfyAgent(Agent):
simple_models = ["llama3", "llama3:latest", "mistral", "LLama-3"]
drivers = ["OllamaPromptDriver", "LMStudioPromptDriver"]
agent_prompt_driver_name = self.prompt_driver.__class__.__name__
print(f"Agent Prompt Driver Name: {agent_prompt_driver_name=}")
model = self.prompt_driver.model
if agent_prompt_driver_name in drivers:
if model == "":
+31 -24
View File
@@ -1,3 +1,6 @@
import logging
from comfy_execution.graph import ExecutionBlocker
from griptape.configs import Defaults
from griptape.configs.drivers import (
DriversConfig,
@@ -48,33 +51,37 @@ class gtUILMStudioDriversConfig(gtUIBaseDriversConfig):
def create(self, **kwargs):
drivers_config_params = {}
# Create instances of the driver classes
prompt_driver_builder = gtUILMStudioChatPromptDriver()
embedding_driver_builder = gtUILMStudioEmbeddingDriver()
# Build parameters for drivers
prompt_driver_params = prompt_driver_builder.build_params(**kwargs)
embedding_driver_params = embedding_driver_builder.build_params(**kwargs)
# Create Driver Configs
drivers_config_params["prompt_driver"] = OpenAiChatPromptDriver(
**prompt_driver_params
)
if "model" not in embedding_driver_params:
drivers_config_params["embedding_driver"] = DummyEmbeddingDriver()
else:
drivers_config_params["embedding_driver"] = OpenAiEmbeddingDriver(
**embedding_driver_params
)
drivers_config_params["vector_store_driver"] = LocalVectorStoreDriver(
embedding_driver=drivers_config_params["embedding_driver"]
)
try:
# Create instances of the driver classes
prompt_driver_builder = gtUILMStudioChatPromptDriver()
embedding_driver_builder = gtUILMStudioEmbeddingDriver()
# Build parameters for drivers
prompt_driver_params = prompt_driver_builder.build_params(**kwargs)
embedding_driver_params = embedding_driver_builder.build_params(**kwargs)
if "model" not in prompt_driver_params:
custom_config = ExecutionBlocker(
"Please provide a model for the prompt driver."
)
return (custom_config,)
# Create Driver Configs
drivers_config_params["prompt_driver"] = OpenAiChatPromptDriver(
**prompt_driver_params
)
if "model" not in embedding_driver_params:
drivers_config_params["embedding_driver"] = DummyEmbeddingDriver()
else:
drivers_config_params["embedding_driver"] = OpenAiEmbeddingDriver(
**embedding_driver_params
)
drivers_config_params["vector_store_driver"] = LocalVectorStoreDriver(
embedding_driver=drivers_config_params["embedding_driver"]
)
Defaults.drivers_config = DriversConfig(**drivers_config_params)
custom_config = Defaults.drivers_config
except Exception as e:
print(e)
custom_config = ExecutionBlocker(f"{e}")
logging.error(e)
return (custom_config,)
@@ -1,3 +1,4 @@
from comfy_execution.graph import ExecutionBlocker
from griptape.drivers import OpenAiChatPromptDriver
from .gtUIOpenAiCompatibleChatPromptDriver import gtUIOpenAiCompatibleChatPromptDriver
@@ -78,9 +79,12 @@ class gtUILMStudioChatPromptDriver(gtUIOpenAiCompatibleChatPromptDriver):
def create(self, **kwargs):
params = self.build_params(**kwargs)
if not params.get("model"):
driver = ExecutionBlocker("Model is required.")
return (driver,)
try:
driver = OpenAiChatPromptDriver(**params)
return (driver,)
except Exception as e:
print(f"Error creating driver: {e}")
return (None, str(e))
driver = ExecutionBlocker(f"Error creating driver: {e}")
return (driver,)