added Depricated configs
This commit is contained in:
+58
-23
@@ -24,22 +24,45 @@ from .nodes.combine.gtUIMergeInputs import gtUIMergeInputs
|
||||
from .nodes.combine.MergeTexts import MergeTexts
|
||||
from .nodes.combine.RulesList import RulesList
|
||||
from .nodes.combine.ToolList import ToolList
|
||||
from .nodes.config.gtUIAmazonBedrockSession import gtUIAmazonBedrockSession
|
||||
|
||||
# CONFIG
|
||||
from .nodes.config.gtUIAmazonBedrockStructureConfig import (
|
||||
from .nodes.config.depricated.gtUIAmazonBedrockStructureConfig import (
|
||||
gtUIAmazonBedrockStructureConfig,
|
||||
)
|
||||
from .nodes.config.gtUIAnthropicStructureConfig import gtUIAnthropicStructureConfig
|
||||
from .nodes.config.gtUIAzureOpenAiStructureConfig import gtUIAzureOpenAiStructureConfig
|
||||
from .nodes.config.gtUICohereStructureConfig import gtUICohereStructureConfig
|
||||
|
||||
# CONFIG - DEPRECIATED
|
||||
from .nodes.config.depricated.gtUIAnthropicStructureConfig import (
|
||||
gtUIAnthropicStructureConfig,
|
||||
)
|
||||
from .nodes.config.depricated.gtUIAzureOpenAiStructureConfig import (
|
||||
gtUIAzureOpenAiStructureConfig,
|
||||
)
|
||||
from .nodes.config.depricated.gtUIGoogleStructureConfig import gtUIGoogleStructureConfig
|
||||
from .nodes.config.depricated.gtUIHuggingFaceStructureConfig import (
|
||||
gtUIHuggingFaceStructureConfig,
|
||||
)
|
||||
from .nodes.config.depricated.gtUILMStudioStructureConfig import (
|
||||
gtUILMStudioStructureConfig,
|
||||
)
|
||||
from .nodes.config.depricated.gtUIOllamaStructureConfig import gtUIOllamaStructureConfig
|
||||
from .nodes.config.depricated.gtUIOpenAiCompatibleConfig import (
|
||||
gtUIOpenAiCompatibleConfig,
|
||||
)
|
||||
from .nodes.config.depricated.gtUIOpenAiStructureConfig import gtUIOpenAiStructureConfig
|
||||
from .nodes.config.gtUIAmazonBedrockDriversConfig import gtUIAmazonBedrockDriversConfig
|
||||
from .nodes.config.gtUIAmazonBedrockSession import gtUIAmazonBedrockSession
|
||||
from .nodes.config.gtUIAnthropicDriversConfig import gtUIAnthropicDriversConfig
|
||||
from .nodes.config.gtUIAzureOpenAiDriversConfig import gtUIAzureOpenAiDriversConfig
|
||||
from .nodes.config.gtUICohereDriversConfig import gtUICohereDriversConfig
|
||||
from .nodes.config.gtUIEnvConfig import gtUIEnvConfig
|
||||
from .nodes.config.gtUIGoogleStructureConfig import gtUIGoogleStructureConfig
|
||||
from .nodes.config.gtUIHuggingFaceStructureConfig import gtUIHuggingFaceStructureConfig
|
||||
from .nodes.config.gtUILMStudioStructureConfig import gtUILMStudioStructureConfig
|
||||
from .nodes.config.gtUIOllamaStructureConfig import gtUIOllamaStructureConfig
|
||||
from .nodes.config.gtUIOpenAiCompatibleConfig import gtUIOpenAiCompatibleConfig
|
||||
from .nodes.config.gtUIOpenAiStructureConfig import gtUIOpenAiStructureConfig
|
||||
from .nodes.config.gtUIGoogleDriversConfig import gtUIGoogleDriversConfig
|
||||
from .nodes.config.gtUIHuggingFaceDriversConfig import gtUIHuggingFaceDriversConfig
|
||||
from .nodes.config.gtUILMStudioDriversConfig import gtUILMStudioDriversConfig
|
||||
from .nodes.config.gtUIOllamaDriversConfig import gtUIOllamaDriversConfig
|
||||
from .nodes.config.gtUIOpenAiCompatibleDriversConfig import (
|
||||
gtUIOpenAiCompatibleDriversConfig,
|
||||
)
|
||||
from .nodes.config.gtUIOpenAiDriversConfig import gtUIOpenAiDriversConfig
|
||||
from .nodes.config.gtUIStructureConfig import gtUIStructureConfig
|
||||
|
||||
# CONVERT
|
||||
@@ -160,6 +183,9 @@ from .nodes.drivers.gtUIOpenAiCompatibleChatPromptDriver import (
|
||||
from .nodes.drivers.gtUIOpenAiCompatibleEmbeddingDriver import (
|
||||
gtUIOpenAiCompatibleEmbeddingDriver,
|
||||
)
|
||||
from .nodes.drivers.gtUIOpenAiCompatibleImageGenerationDriver import (
|
||||
gtUIOpenAiCompatibleImageGenerationDriver,
|
||||
)
|
||||
from .nodes.drivers.gtUIOpenAiEmbeddingDriver import gtUIOpenAiEmbeddingDriver
|
||||
from .nodes.drivers.gtUIOpenAiImageGenerationDriver import (
|
||||
gtUIOpenAiImageGenerationDriver,
|
||||
@@ -276,18 +302,26 @@ NODE_CLASS_MAPPINGS = {
|
||||
"Griptape Agent Config: Custom Structure": gtUIStructureConfig,
|
||||
"Griptape Agent Config: Environment Variables": gtUIEnvConfig,
|
||||
"Griptape Agent Config: Expand": gtUIExpandConfig,
|
||||
# "Griptape Agent Config: Amazon Bedrock Session": gtUIAmazonBedrockSession,
|
||||
"Griptape Agent Config: Amazon Bedrock": gtUIAmazonBedrockStructureConfig,
|
||||
"Griptape Agent Config: Anthropic": gtUIAnthropicStructureConfig,
|
||||
# Unable to test AzureOpenAI config at the moment - so disabling for now
|
||||
"Griptape Agent Config: Azure OpenAI": gtUIAzureOpenAiStructureConfig,
|
||||
"Griptape Agent Config: Cohere": gtUICohereStructureConfig,
|
||||
"Griptape Agent Config: Google": gtUIGoogleStructureConfig,
|
||||
"Griptape Agent Config: HuggingFace": gtUIHuggingFaceStructureConfig,
|
||||
"Griptape Agent Config: LM Studio": gtUILMStudioStructureConfig,
|
||||
"Griptape Agent Config: Ollama": gtUIOllamaStructureConfig,
|
||||
"Griptape Agent Config: OpenAI": gtUIOpenAiStructureConfig,
|
||||
"Griptape Agent Config: OpenAI Compatible": gtUIOpenAiCompatibleConfig,
|
||||
"Griptape Agent Config: Amazon Bedrock Drivers": gtUIAmazonBedrockDriversConfig,
|
||||
"Griptape Agent Config: Anthropic Drivers": gtUIAnthropicDriversConfig,
|
||||
"Griptape Agent Config: Azure OpenAI Drivers": gtUIAzureOpenAiDriversConfig,
|
||||
"Griptape Agent Config: Cohere Drivers": gtUICohereDriversConfig,
|
||||
"Griptape Agent Config: Google Drivers": gtUIGoogleDriversConfig,
|
||||
"Griptape Agent Config: HuggingFace Drivers": gtUIHuggingFaceDriversConfig,
|
||||
"Griptape Agent Config: LM Studio Drivers": gtUILMStudioDriversConfig,
|
||||
"Griptape Agent Config: Ollama Drivers": gtUIOllamaDriversConfig,
|
||||
"Griptape Agent Config: OpenAI Drivers": gtUIOpenAiDriversConfig,
|
||||
"Griptape Agent Config: OpenAI Compatible Drivers": gtUIOpenAiCompatibleDriversConfig,
|
||||
# DEPRECIATED
|
||||
"Griptape Agent Config: Amazon Bedrock [DEPRECIATED]": gtUIAmazonBedrockStructureConfig,
|
||||
"Griptape Agent Config: Anthropic [DEPRECIATED]": gtUIAnthropicStructureConfig,
|
||||
"Griptape Agent Config: Azure OpenAI [DEPRECIATED]": gtUIAzureOpenAiStructureConfig,
|
||||
"Griptape Agent Config: Google [DEPRECIATED]": gtUIGoogleStructureConfig,
|
||||
"Griptape Agent Config: HuggingFace [DEPRECIATED]": gtUIHuggingFaceStructureConfig,
|
||||
"Griptape Agent Config: LM Studio [DEPRECIATED]": gtUILMStudioStructureConfig,
|
||||
"Griptape Agent Config: Ollama [DEPRECIATED]": gtUIOllamaStructureConfig,
|
||||
"Griptape Agent Config: OpenAI [DEPRECIATED]": gtUIOpenAiStructureConfig,
|
||||
"Griptape Agent Config: OpenAI Compatible [DEPRECIATED]": gtUIOpenAiCompatibleConfig,
|
||||
# PROMPT DRIVER
|
||||
"Griptape Prompt Driver: Amazon Bedrock": gtUIAmazonBedrockPromptDriver,
|
||||
"Griptape Prompt Driver: Amazon SageMaker Jumpstart": gtUIAmazonSageMakerJumpstartPromptDriver,
|
||||
@@ -306,6 +340,7 @@ NODE_CLASS_MAPPINGS = {
|
||||
"Griptape Driver: Azure OpenAI Image Generation": gtUIAzureOpenAiImageGenerationDriver,
|
||||
"Griptape Driver: Leonardo.AI": gtUILeonardoImageGenerationDriver,
|
||||
"Griptape Driver: OpenAI Image Generation": gtUIOpenAiImageGenerationDriver,
|
||||
"Griptape Driver: OpenAI Compatible Image Generation": gtUIOpenAiCompatibleImageGenerationDriver,
|
||||
# EMBEDDING DRIVER
|
||||
"Griptape Embedding Driver: Amazon Bedrock Titan": gtUIAmazonBedrockTitanEmbeddingDriver,
|
||||
"Griptape Embedding Driver: Amazon SageMaker Jumpstart": gtUIAmazonSageMakerJumpstartEmbeddingDriver,
|
||||
|
||||
+6
-2
@@ -8,7 +8,6 @@ function applyColor(node, color) {
|
||||
}
|
||||
export function setupNodeColors(nodeType, nodeData) {
|
||||
const setColor = getStorageValue("Comfy.Griptape.ColorNodes", true);
|
||||
// console.log(setColor);
|
||||
if (setColor) {
|
||||
if (nodeData.name.includes("Griptape")) {
|
||||
const onNodeCreated = nodeType.prototype.onNodeCreated;
|
||||
@@ -63,7 +62,12 @@ export function setupNodeColors(nodeType, nodeData) {
|
||||
nodeData.name.includes("Griptape Vector Store: Query")){
|
||||
applyColor(this, nodeColors.red);
|
||||
}
|
||||
|
||||
|
||||
if (nodeData.name.includes("[DEPRECIATED]")){
|
||||
applyColor(this, nodeColors.yellow)
|
||||
|
||||
}
|
||||
const size = this.size;
|
||||
this.onResize?.(this.size);
|
||||
this?.graph?.setDirtyCanvas(true, true);
|
||||
|
||||
|
||||
@@ -101,13 +101,15 @@ export function setupConfigurationNodes(nodeType, nodeData, app) {
|
||||
}
|
||||
}
|
||||
setFixedRandomization(this);
|
||||
this.onResize?.(this.size);
|
||||
this?.graph?.setDirtyCanvas(true, true);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function setFixedRandomization(node) {
|
||||
if(node.widgets) {
|
||||
const controlWidget = node.widgets.find((w) => w.name === "control_after_generate");
|
||||
|
||||
+2
-2
@@ -36,8 +36,8 @@ export function setupDisplayNodes(nodeType, nodeData, app) {
|
||||
this.size[1] = Math.max(this.size[1], new_val.split("\n").length * 20 + 40);
|
||||
}
|
||||
}
|
||||
this.setDirtyCanvas(true, true);
|
||||
this.onResize?.(this.size);
|
||||
this.setDirtyCanvas(true, true);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ export function setupDisplayNodes(nodeType, nodeData, app) {
|
||||
this.message = ComfyWidgets.STRING(this, 'Output Text', ['STRING', { multiline: true }], app).widget;
|
||||
this.message.value = "";
|
||||
setupMessageStyle(this.message);
|
||||
fitHeight(this, true);
|
||||
fitHeight(this);
|
||||
};
|
||||
|
||||
nodeType.prototype.onExecuted = function(message) {
|
||||
|
||||
@@ -25,14 +25,14 @@ export function setupExtractionNodes(nodeType, nodeData, app) {
|
||||
switch (widget_extraction_type.value) {
|
||||
case "csv":
|
||||
showWidget(widget_column_names);
|
||||
// fitHeight(this, true);
|
||||
fitHeight(this, true);
|
||||
break;
|
||||
case "json":
|
||||
showWidget(widget_template_schema);
|
||||
// fitHeight(this, true);
|
||||
fitHeight(this, true);
|
||||
break;
|
||||
default:
|
||||
// fitHeight(this, true);
|
||||
fitHeight(this, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ const sep_above_items = [
|
||||
"Griptape Expand: Agent Nodes",
|
||||
"Griptape Convert: Agent to Tool",
|
||||
// Sub Menu Item - Agent Configs
|
||||
"Griptape Agent Config: Amazon Bedrock",
|
||||
"Griptape Agent Config: Amazon Bedrock Drivers",
|
||||
// Sub Menu Item - Agent Tools
|
||||
"Griptape Tool: Audio Transcription",
|
||||
"Griptape Tool: Extraction",
|
||||
|
||||
+10
-1
@@ -59,5 +59,14 @@ export const nodeFixes = {
|
||||
"Griptape Driver: Qdrant Vector Store": "Griptape Vector Store Driver: Qdrant",
|
||||
"Griptape Driver: DuckDuckGo WebSearch": "Griptape WebSearch Driver: DuckDuckGo",
|
||||
"Griptape Driver: Google WebSearch": "Griptape WebSearch Driver: Google",
|
||||
}
|
||||
"Griptape Agent Config: Amazon Bedrock": "Griptape Agent Config: Amazon Bedrock [DEPRECIATED]",
|
||||
"Griptape Agent Config: Anthropic": "Griptape Agent Config: Anthropic [DEPRECIATED]",
|
||||
"Griptape Agent Config: Azure OpenAI": "Griptape Agent Config: Azure OpenAI [DEPRECIATED]",
|
||||
"Griptape Agent Config: Google": "Griptape Agent Config: Google [DEPRECIATED]",
|
||||
"Griptape Agent Config: HuggingFace": "Griptape Agent Config: HuggingFace [DEPRECIATED]",
|
||||
"Griptape Agent Config: LM Studio": "Griptape Agent Config: LM Studio [DEPRECIATED]",
|
||||
"Griptape Agent Config: Ollama": "Griptape Agent Config: Ollama [DEPRECIATED]",
|
||||
"Griptape Agent Config: OpenAI Compatible": "Griptape Agent Config: OpenAI Compatible [DEPRECIATED]",
|
||||
"Griptape Agent Config: OpenAI": "Griptape Agent Config: OpenAI [DEPRECIATED]",
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
export function fitHeight(node) {
|
||||
node.onResize?.(node.size);
|
||||
node.setSize([node.size[0], node.computeSize([node.size[0], node.size[1]])[1]])
|
||||
node.setSize([node.size[0], node.computeSize([node.size[0], node.size[1]])[1]+10])
|
||||
node?.graph?.setDirtyCanvas(true, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
from griptape.configs.drivers import (
|
||||
AmazonBedrockDriversConfig,
|
||||
)
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
AmazonBedrockPromptDriver,
|
||||
)
|
||||
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
amazonBedrockPromptModels = [
|
||||
"anthropic.claude-3-5-sonnet-20240620-v1:0",
|
||||
"anthropic.claude-3-opus-20240229-v1:0",
|
||||
"anthropic.claude-3-sonnet-20240229-v1:0",
|
||||
"anthropic.claude-3-haiku-20240307-v1:0",
|
||||
"amazon.titan-text-premier-v1:0",
|
||||
"amazon.titan-text-express-v1",
|
||||
"amazon.titan-text-lite-v1",
|
||||
]
|
||||
amazonBedrockImageGenerationModels = []
|
||||
|
||||
DEFAULT_AWS_ACCESS_KEY_ID = "AWS_ACCESS_KEY_ID"
|
||||
DEFAULT_AWS_SECRET_ACCESS_KEY = "AWS_SECRET_ACCESS_KEY"
|
||||
DEFAULT_AWS_DEFAULT_REGION = "AWS_DEFAULT_REGION"
|
||||
|
||||
|
||||
class gtUIAmazonBedrockStructureConfig(gtUIBaseConfig):
|
||||
"""
|
||||
The Griptape Amazon Bedrock Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = "Amazon Bedrock Prompt Driver."
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["required"].update(
|
||||
{
|
||||
"prompt_model": (
|
||||
amazonBedrockPromptModels,
|
||||
{"default": amazonBedrockPromptModels[0]},
|
||||
),
|
||||
},
|
||||
)
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"aws_access_key_id_env_var": (
|
||||
"STRING",
|
||||
{"default": DEFAULT_AWS_ACCESS_KEY_ID},
|
||||
),
|
||||
"aws_secret_access_key_env_var": (
|
||||
"STRING",
|
||||
{"default": DEFAULT_AWS_SECRET_ACCESS_KEY},
|
||||
),
|
||||
"aws_default_region_env_var": (
|
||||
"STRING",
|
||||
{"default": DEFAULT_AWS_DEFAULT_REGION},
|
||||
),
|
||||
}
|
||||
)
|
||||
return inputs
|
||||
|
||||
def create(
|
||||
self,
|
||||
**kwargs,
|
||||
):
|
||||
params = {}
|
||||
|
||||
prompt_model = kwargs.get("prompt_model", amazonBedrockPromptModels[0])
|
||||
temperature = kwargs.get("temperature", 0.7)
|
||||
max_attempts = kwargs.get("max_attempts_on_fail", 10)
|
||||
use_native_tools = kwargs.get("use_native_tools", False)
|
||||
max_tokens = kwargs.get("max_tokens", None)
|
||||
params["model"] = prompt_model
|
||||
params["temperature"] = temperature
|
||||
params["max_attempts"] = max_attempts
|
||||
params["use_native_tools"] = use_native_tools
|
||||
if max_tokens > 0:
|
||||
params["max_tokens"] = max_tokens
|
||||
custom_config = AmazonBedrockDriversConfig(
|
||||
prompt_driver=AmazonBedrockPromptDriver(**params)
|
||||
)
|
||||
return (custom_config,)
|
||||
@@ -0,0 +1,69 @@
|
||||
from griptape.configs.drivers import (
|
||||
AnthropicDriversConfig,
|
||||
)
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
AnthropicPromptDriver,
|
||||
)
|
||||
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
anthropicPromptModels = [
|
||||
"claude-3-5-sonnet-20240620",
|
||||
"claude-3-opus-20240229",
|
||||
"claude-3-sonnet-20240229",
|
||||
"claude-3-haiku-20240307",
|
||||
]
|
||||
|
||||
DEFAULT_API_KEY = "ANTHROPIC_API_KEY"
|
||||
|
||||
|
||||
class gtUIAnthropicStructureConfig(gtUIBaseConfig):
|
||||
"""
|
||||
The Griptape Anthropic Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = (
|
||||
"Anthropic Structure Config. Use Anthropic's models for prompt and image query."
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["required"].update(
|
||||
{
|
||||
"prompt_model": (
|
||||
anthropicPromptModels,
|
||||
{"default": anthropicPromptModels[0]},
|
||||
),
|
||||
},
|
||||
)
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"api_key_env_var": ("STRING", {"default": DEFAULT_API_KEY}),
|
||||
},
|
||||
)
|
||||
return inputs
|
||||
|
||||
def create(
|
||||
self,
|
||||
**kwargs,
|
||||
):
|
||||
params = {}
|
||||
|
||||
params["model"] = kwargs.get("prompt_model", anthropicPromptModels[0])
|
||||
params["temperature"] = kwargs.get("temperature", 0.7)
|
||||
params["max_attempts"] = kwargs.get("max_attempts_on_fail", 10)
|
||||
params["use_native_tools"] = kwargs.get("use_native_tools", True)
|
||||
params["api_key"] = self.getenv(kwargs.get("api_key_env_var", DEFAULT_API_KEY))
|
||||
|
||||
max_tokens = kwargs.get("max_tokens", None)
|
||||
if max_tokens > 0:
|
||||
params["max_tokens"] = max_tokens
|
||||
|
||||
custom_config = AnthropicDriversConfig(
|
||||
prompt_driver=AnthropicPromptDriver(**params)
|
||||
)
|
||||
|
||||
return (custom_config,)
|
||||
@@ -0,0 +1,103 @@
|
||||
from griptape.configs.drivers import AzureOpenAiDriversConfig
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
AzureOpenAiChatPromptDriver,
|
||||
AzureOpenAiEmbeddingDriver,
|
||||
AzureOpenAiImageGenerationDriver,
|
||||
)
|
||||
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
DEFAULT_AZURE_OPENAI_ENDPOINT = "AZURE_OPENAI_ENDPOINT"
|
||||
DEFAULT_AZURE_OPENAI_API_KEY = "AZURE_OPENAI_API_KEY"
|
||||
|
||||
|
||||
class gtUIAzureOpenAiStructureConfig(gtUIBaseConfig):
|
||||
"""
|
||||
The Griptape OpenAI Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = "Azure OpenAI Structure Config. Requires AZURE_OPENAI_ENDPOINT_3 and AZURE_OPENAI_API_KEY_3"
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["required"].update(
|
||||
{
|
||||
"prompt_model": (
|
||||
["gpt-4o", "gpt-4", "gpt-3.5-turbo-16k", "gpt-3.5-turbo"],
|
||||
{"default": "gpt-4o"},
|
||||
),
|
||||
"prompt_model_deployment_name": (
|
||||
"STRING",
|
||||
{"default": "gpt4o"},
|
||||
),
|
||||
}
|
||||
)
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"api_key_env_var": (
|
||||
"STRING",
|
||||
{"default": DEFAULT_AZURE_OPENAI_API_KEY},
|
||||
),
|
||||
"azure_endpoint_env_var": (
|
||||
"STRING",
|
||||
{"default": DEFAULT_AZURE_OPENAI_ENDPOINT},
|
||||
),
|
||||
}
|
||||
)
|
||||
|
||||
return inputs
|
||||
|
||||
def create(
|
||||
self,
|
||||
**kwargs,
|
||||
):
|
||||
params = {}
|
||||
params["model"] = kwargs.get("prompt_model", "gpt-4o")
|
||||
params["temperature"] = kwargs.get("temperature", 0.7)
|
||||
params["seed"] = kwargs.get("seed", 12341)
|
||||
params["max_attempts"] = kwargs.get("max_attempts_on_fail", 10)
|
||||
params["azure_deployment"] = kwargs.get("prompt_model_deployment_name", "gpt4o")
|
||||
params["use_native_tools"] = kwargs.get("use_native_tools", False)
|
||||
params["stream"] = kwargs.get("stream", False)
|
||||
image_generation_driver = kwargs.get("image_generation_driver", None)
|
||||
|
||||
max_tokens = kwargs.get("max_tokens", -1)
|
||||
if max_tokens > 0:
|
||||
params["max_tokens"] = max_tokens
|
||||
|
||||
AZURE_OPENAI_API_KEY = self.getenv(
|
||||
kwargs.get("api_key_env_var", DEFAULT_AZURE_OPENAI_API_KEY)
|
||||
)
|
||||
AZURE_OPENAI_ENDPOINT = self.getenv(
|
||||
kwargs.get("azure_endpoint_env_var", DEFAULT_AZURE_OPENAI_ENDPOINT)
|
||||
)
|
||||
|
||||
params["api_key"] = self.getenv("AZURE_OPENAI_API_KEY")
|
||||
params["azure_endpoint"] = self.getenv("AZURE_OPENAI_ENDPOINT")
|
||||
|
||||
prompt_driver = AzureOpenAiChatPromptDriver(**params)
|
||||
embedding_driver = AzureOpenAiEmbeddingDriver(
|
||||
api_key=self.getenv(AZURE_OPENAI_API_KEY),
|
||||
azure_endpoint=self.getenv(AZURE_OPENAI_ENDPOINT),
|
||||
)
|
||||
|
||||
if not image_generation_driver:
|
||||
image_generation_driver = AzureOpenAiImageGenerationDriver(
|
||||
azure_deployment="dall-e-3",
|
||||
model="dall-e-3",
|
||||
azure_endpoint=params["azure_endpoint"],
|
||||
api_key=params["api_key"],
|
||||
)
|
||||
|
||||
custom_config = AzureOpenAiDriversConfig(
|
||||
prompt_driver=prompt_driver,
|
||||
embedding_driver=embedding_driver,
|
||||
image_generation_driver=image_generation_driver,
|
||||
azure_endpoint=params["azure_endpoint"],
|
||||
api_key=params["api_key"],
|
||||
)
|
||||
|
||||
return (custom_config,)
|
||||
@@ -0,0 +1,75 @@
|
||||
from griptape.configs.drivers import (
|
||||
GoogleDriversConfig,
|
||||
)
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
GooglePromptDriver,
|
||||
)
|
||||
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
google_models = [
|
||||
"gemini-1.5-pro",
|
||||
"gemini-1.5-flash",
|
||||
"gemini-1.0-pro",
|
||||
]
|
||||
|
||||
DEFAULT_API_KEY = "GOOGLE_API_KEY"
|
||||
|
||||
|
||||
class gtUIGoogleStructureConfig(gtUIBaseConfig):
|
||||
"""
|
||||
The Griptape Google Structure Config
|
||||
"""
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
|
||||
inputs["required"].update(
|
||||
{
|
||||
"prompt_model": (
|
||||
google_models,
|
||||
{"default": google_models[0]},
|
||||
),
|
||||
},
|
||||
)
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"api_key_env_var": ("STRING", {"default": DEFAULT_API_KEY}),
|
||||
}
|
||||
)
|
||||
|
||||
return inputs
|
||||
|
||||
DESCRIPTION = (
|
||||
"Google Structure Config. Use Google's models for prompt and image query."
|
||||
)
|
||||
|
||||
def create(
|
||||
self,
|
||||
**kwargs,
|
||||
):
|
||||
params = {}
|
||||
temperature = kwargs.get("temperature", 0.7)
|
||||
prompt_model = kwargs.get("prompt_model", google_models[0])
|
||||
max_attempts = kwargs.get("max_attempts_on_fail", 10)
|
||||
api_key = self.getenv(kwargs.get("api_key_env_var", DEFAULT_API_KEY))
|
||||
use_native_tools = kwargs.get("use_native_tools", False)
|
||||
max_tokens = kwargs.get("max_tokens", -1)
|
||||
if max_tokens > 0:
|
||||
params["max_tokens"] = max_tokens
|
||||
|
||||
custom_config = GoogleDriversConfig(
|
||||
prompt_driver=GooglePromptDriver(
|
||||
model=prompt_model,
|
||||
temperature=temperature,
|
||||
max_attempts=max_attempts,
|
||||
api_key=api_key,
|
||||
use_native_tools=use_native_tools,
|
||||
**params,
|
||||
),
|
||||
)
|
||||
|
||||
return (custom_config,)
|
||||
@@ -0,0 +1,60 @@
|
||||
from dotenv import load_dotenv
|
||||
from griptape.configs.drivers import (
|
||||
DriversConfig,
|
||||
)
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
HuggingFaceHubPromptDriver,
|
||||
)
|
||||
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
load_dotenv()
|
||||
|
||||
DEFAULT_API_KEY = "HUGGINGFACE_HUB_ACCESS_TOKEN"
|
||||
|
||||
|
||||
class gtUIHuggingFaceStructureConfig(gtUIBaseConfig):
|
||||
"""
|
||||
Create a HuggingFace Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = "HuggingFace Structure Config."
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"prompt_model": ("STRING", {"default": "HuggingFaceH4/zephyr-7b-beta"}),
|
||||
"api_token_env_var": (
|
||||
"STRING",
|
||||
{"default": DEFAULT_API_KEY},
|
||||
),
|
||||
}
|
||||
)
|
||||
del inputs["optional"]["max_tokens"]
|
||||
|
||||
return inputs
|
||||
|
||||
def create(self, **kwargs):
|
||||
prompt_model = kwargs.get("prompt_model", None)
|
||||
temperature = kwargs.get("temperature", 0.7)
|
||||
stream = kwargs.get("stream", False)
|
||||
max_attempts = kwargs.get("max_attempts_on_fail", 10)
|
||||
use_native_tools = kwargs.get("use_native_tools", False)
|
||||
api_token = self.getenv(kwargs.get("api_token_env_var", DEFAULT_API_KEY))
|
||||
configs = {}
|
||||
if prompt_model and api_token:
|
||||
configs["prompt_driver"] = HuggingFaceHubPromptDriver(
|
||||
model=prompt_model,
|
||||
api_token=api_token,
|
||||
max_attempts=max_attempts,
|
||||
temperature=temperature,
|
||||
stream=stream,
|
||||
use_native_tools=use_native_tools,
|
||||
)
|
||||
custom_config = DriversConfig(**configs)
|
||||
|
||||
return (custom_config,)
|
||||
@@ -0,0 +1,65 @@
|
||||
from griptape.configs.drivers import (
|
||||
DriversConfig,
|
||||
)
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
OpenAiChatPromptDriver,
|
||||
)
|
||||
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
lmstudio_port = "1234"
|
||||
lmstudio_base_url = "http://127.0.0.1"
|
||||
|
||||
|
||||
class gtUILMStudioStructureConfig(gtUIBaseConfig):
|
||||
"""
|
||||
The Griptape LM Studio Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = (
|
||||
"LM Studio Prompt Driver. LMStudio is available at https://lmstudio.ai "
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["required"].update(
|
||||
{
|
||||
"model": ((), {}),
|
||||
"base_url": ("STRING", {"default": lmstudio_base_url}),
|
||||
"port": (
|
||||
"STRING",
|
||||
{"default": lmstudio_port},
|
||||
),
|
||||
},
|
||||
)
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"use_native_tools": ("BOOLEAN", {"default": False}),
|
||||
}
|
||||
)
|
||||
return inputs
|
||||
|
||||
def create(self, **kwargs):
|
||||
params = {}
|
||||
params["model"] = kwargs.get("model", "")
|
||||
port = kwargs.get("port", lmstudio_port)
|
||||
base_url = kwargs.get("base_url", lmstudio_base_url)
|
||||
params["base_url"] = f"{base_url}:{port}/v1"
|
||||
params["temperature"] = kwargs.get("temperature", 0.7)
|
||||
params["max_attempts"] = kwargs.get("max_attempts_on_fail", 10)
|
||||
params["stream"] = kwargs.get("stream", False)
|
||||
params["seed"] = kwargs.get("seed", 12341)
|
||||
params["use_native_tools"] = kwargs.get("use_native_tools", False)
|
||||
|
||||
max_tokens = kwargs.get("max_tokens", -1)
|
||||
if max_tokens > 0:
|
||||
params["max_tokens"] = max_tokens
|
||||
|
||||
custom_config = DriversConfig(
|
||||
prompt_driver=OpenAiChatPromptDriver(**params),
|
||||
)
|
||||
|
||||
return (custom_config,)
|
||||
@@ -0,0 +1,54 @@
|
||||
from griptape.configs.drivers import (
|
||||
DriversConfig,
|
||||
)
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
OllamaPromptDriver,
|
||||
)
|
||||
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
ollama_port = "11434"
|
||||
ollama_base_url = "http://127.0.0.1"
|
||||
|
||||
|
||||
class gtUIOllamaStructureConfig(gtUIBaseConfig):
|
||||
"""
|
||||
The Griptape Ollama Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = "Ollama Prompt Driver. Use local models with Ollama. Available at https://ollama.com"
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["required"].update(
|
||||
{
|
||||
"prompt_model": ((), {}),
|
||||
"base_url": ("STRING", {"default": ollama_base_url}),
|
||||
"port": ("STRING", {"default": ollama_port}),
|
||||
},
|
||||
)
|
||||
return inputs
|
||||
|
||||
def create(self, **kwargs):
|
||||
params = {}
|
||||
|
||||
params["model"] = kwargs.get("prompt_model", "")
|
||||
params["temperature"] = kwargs.get("temperature", 0.7)
|
||||
port = kwargs.get("port", ollama_port)
|
||||
base_url = kwargs.get("base_url", ollama_base_url)
|
||||
params["host"] = f"{base_url}:{port}"
|
||||
params["stream"] = kwargs.get("stream", False)
|
||||
params["use_native_tools"] = kwargs.get("use_native_tools", False)
|
||||
params["max_attempts"] = kwargs.get("max_attempts_on_fail", 10)
|
||||
max_tokens = kwargs.get("max_tokens", -1)
|
||||
if max_tokens > 0:
|
||||
params["max_tokens"] = max_tokens
|
||||
|
||||
custom_config = DriversConfig(
|
||||
prompt_driver=OllamaPromptDriver(**params),
|
||||
)
|
||||
|
||||
return (custom_config,)
|
||||
+1
-2
@@ -10,7 +10,7 @@ from griptape.drivers import (
|
||||
OpenAiTextToSpeechDriver,
|
||||
)
|
||||
|
||||
from .gtUIBaseConfig import gtUIBaseConfig
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
load_dotenv()
|
||||
|
||||
@@ -42,7 +42,6 @@ class gtUIOpenAiCompatibleConfig(gtUIBaseConfig):
|
||||
return inputs
|
||||
|
||||
def create(self, **kwargs):
|
||||
self.run_envs(kwargs)
|
||||
params = {}
|
||||
|
||||
params["model"] = kwargs.get("prompt_model", None)
|
||||
@@ -0,0 +1,68 @@
|
||||
from griptape.configs import Defaults
|
||||
from griptape.configs.drivers import (
|
||||
OpenAiDriversConfig,
|
||||
)
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
OpenAiChatPromptDriver,
|
||||
)
|
||||
|
||||
from ..gtUIBaseConfig import gtUIBaseConfig
|
||||
|
||||
default_prompt_model = "gpt-4o"
|
||||
default_image_query_model = "gpt-4o"
|
||||
DEFAULT_API_KEY = "OPENAI_API_KEY"
|
||||
|
||||
|
||||
class gtUIOpenAiStructureConfig(gtUIBaseConfig):
|
||||
"""
|
||||
The Griptape OpenAI Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = "OpenAI Structure Config. Use OpenAI's models for prompt, embedding, image generation, and image query."
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["required"].update(
|
||||
{
|
||||
"prompt_model": (
|
||||
["gpt-4o", "gpt-4", "gpt-4o-mini", "gpt-3.5-turbo"],
|
||||
{"default": default_prompt_model},
|
||||
),
|
||||
}
|
||||
)
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"api_key_env_var": ("STRING", {"default": DEFAULT_API_KEY}),
|
||||
}
|
||||
)
|
||||
return inputs
|
||||
|
||||
def create(
|
||||
self,
|
||||
**kwargs,
|
||||
):
|
||||
params = {}
|
||||
params["model"] = kwargs.get("prompt_model", default_prompt_model)
|
||||
params["temperature"] = kwargs.get("temperature", 0.7)
|
||||
params["seed"] = kwargs.get("seed", 12341)
|
||||
params["max_attempts"] = kwargs.get("max_attempts_on_fail", 10)
|
||||
params["api_key"] = self.getenv(kwargs.get("api_key_env_var", DEFAULT_API_KEY))
|
||||
params["use_native_tools"] = kwargs.get("use_native_tools", False)
|
||||
max_tokens = kwargs.get("max_tokens", -1)
|
||||
if max_tokens > 0:
|
||||
params["max_tokens"] = max_tokens
|
||||
|
||||
try:
|
||||
Defaults.drivers_config = OpenAiDriversConfig(
|
||||
prompt_driver=OpenAiChatPromptDriver(**params)
|
||||
)
|
||||
|
||||
# OpenAiStructureConfig()
|
||||
custom_config = Defaults.drivers_config
|
||||
except Exception as e:
|
||||
raise Exception(f"Error creating OpenAiStructureConfig: {e}")
|
||||
|
||||
return (custom_config,)
|
||||
+6
-2
@@ -18,7 +18,11 @@ from ..drivers.gtUIAmazonBedrockTitanEmbeddingDriver import (
|
||||
from ..drivers.gtUIAmazonBedrockTitanImageGenerationDriver import (
|
||||
gtUIAmazonBedrockTitanImageGenerationDriver,
|
||||
)
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
amazonBedrockPromptModels = [
|
||||
"anthropic.claude-3-5-sonnet-20240620-v1:0",
|
||||
@@ -44,7 +48,7 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUIAmazonBedrockStructureConfig(gtUIBaseConfig):
|
||||
class gtUIAmazonBedrockDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
The Griptape Amazon Bedrock Structure Config
|
||||
"""
|
||||
+6
-2
@@ -10,7 +10,11 @@ from griptape.drivers import (
|
||||
|
||||
from ..drivers.gtUIAnthropicPromptDriver import gtUIAnthropicPromptDriver
|
||||
from ..drivers.gtUIVoyageAiEmbeddingDriver import gtUIVoyageAiEmbeddingDriver
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
anthropicPromptModels = [
|
||||
"claude-3-5-sonnet-20240620",
|
||||
@@ -28,7 +32,7 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUIAnthropicStructureConfig(gtUIBaseConfig):
|
||||
class gtUIAnthropicDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
The Griptape Anthropic Structure Config
|
||||
"""
|
||||
+6
-2
@@ -14,7 +14,11 @@ from ..drivers.gtUIAzureOpenAiEmbeddingDriver import gtUIAzureOpenAiEmbeddingDri
|
||||
from ..drivers.gtUIAzureOpenAiImageGenerationDriver import (
|
||||
gtUIAzureOpenAiImageGenerationDriver,
|
||||
)
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
DEFAULT_AZURE_OPENAI_ENDPOINT = "AZURE_OPENAI_ENDPOINT"
|
||||
DEFAULT_AZURE_OPENAI_API_KEY = "AZURE_OPENAI_API_KEY"
|
||||
@@ -26,7 +30,7 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUIAzureOpenAiStructureConfig(gtUIBaseConfig):
|
||||
class gtUIAzureOpenAiDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
The Griptape OpenAI Structure Config
|
||||
"""
|
||||
@@ -3,8 +3,6 @@ import os
|
||||
from griptape.configs import Defaults
|
||||
from griptape.configs.drivers import OpenAiDriversConfig
|
||||
|
||||
from ..gtUIBase import gtUIBase
|
||||
|
||||
|
||||
def add_required_inputs(inputs, drivers):
|
||||
for _, driver in drivers:
|
||||
@@ -27,7 +25,7 @@ def add_optional_inputs(inputs, drivers):
|
||||
return inputs
|
||||
|
||||
|
||||
class gtUIBaseConfig(gtUIBase):
|
||||
class gtUIBaseConfig:
|
||||
"""
|
||||
Griptape Base Config
|
||||
"""
|
||||
@@ -37,9 +35,30 @@ class gtUIBaseConfig(gtUIBase):
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
|
||||
return inputs
|
||||
return {
|
||||
"required": {},
|
||||
"optional": {
|
||||
"temperature": (
|
||||
"FLOAT",
|
||||
{"default": 0.1, "min": 0.0, "max": 1.0, "step": 0.01},
|
||||
),
|
||||
"seed": ("INT", {"default": 10342349342}),
|
||||
"max_attempts_on_fail": (
|
||||
"INT",
|
||||
{"default": 10, "min": 1, "max": 100},
|
||||
),
|
||||
# "stream": ([True, False], {"default": False}),
|
||||
"env": ("ENV", {"default": None}),
|
||||
"use_native_tools": ("BOOLEAN", {"default": True}),
|
||||
"max_tokens": (
|
||||
"INT",
|
||||
{
|
||||
"default": -1,
|
||||
"tooltip": "Maximum tokens to generate. If <=0, it will use the default based on the tokenizer.",
|
||||
},
|
||||
),
|
||||
},
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("CONFIG",)
|
||||
RETURN_NAMES = ("CONFIG",)
|
||||
@@ -47,7 +66,7 @@ class gtUIBaseConfig(gtUIBase):
|
||||
|
||||
# OUTPUT_NODE = False
|
||||
|
||||
CATEGORY = "Griptape/Agent Configs"
|
||||
CATEGORY = "Griptape/Agent Configs [DEPRECIATED]"
|
||||
|
||||
def getenv(self, env):
|
||||
return os.getenv(env, None)
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
import os
|
||||
|
||||
from griptape.configs import Defaults
|
||||
from griptape.configs.drivers import OpenAiDriversConfig
|
||||
|
||||
from ..gtUIBase import gtUIBase
|
||||
|
||||
|
||||
def add_required_inputs(inputs, drivers):
|
||||
for _, driver in drivers:
|
||||
inputs["required"].update(driver.INPUT_TYPES()["required"])
|
||||
return inputs
|
||||
|
||||
|
||||
def add_optional_inputs(inputs, drivers):
|
||||
# Add optional inputs and comments for each driver
|
||||
for name, driver in drivers:
|
||||
inputs["optional"].update(
|
||||
{
|
||||
f"{name}_model_comment": (
|
||||
"STRING",
|
||||
{"default": f"{name.replace('_', ' ').title()} Driver"},
|
||||
),
|
||||
}
|
||||
)
|
||||
inputs["optional"].update(driver.INPUT_TYPES()["optional"])
|
||||
return inputs
|
||||
|
||||
|
||||
class gtUIBaseDriversConfig(gtUIBase):
|
||||
"""
|
||||
Griptape Base Drivers Config
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
|
||||
return inputs
|
||||
|
||||
RETURN_TYPES = ("CONFIG",)
|
||||
RETURN_NAMES = ("CONFIG",)
|
||||
FUNCTION = "create"
|
||||
|
||||
# OUTPUT_NODE = False
|
||||
|
||||
CATEGORY = "Griptape/Agent Configs"
|
||||
|
||||
def getenv(self, env):
|
||||
return os.getenv(env, None)
|
||||
|
||||
def create(self, **kwargs):
|
||||
Defaults.drivers_config = OpenAiDriversConfig()
|
||||
return (OpenAiDriversConfig(),)
|
||||
@@ -12,7 +12,11 @@ from griptape.drivers import (
|
||||
|
||||
from ..drivers.gtUICohereEmbeddingDriver import gtUICohereEmbeddingDriver
|
||||
from ..drivers.gtUICoherePromptDriver import gtUICoherePromptDriver
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
# Define the list of drivers
|
||||
drivers = [
|
||||
@@ -21,7 +25,7 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUICohereStructureConfig(gtUIBaseConfig):
|
||||
class gtUICohereDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
The Griptape OpenAI Structure Config
|
||||
"""
|
||||
@@ -12,7 +12,11 @@ from griptape.drivers import (
|
||||
|
||||
from ..drivers.gtUIGoogleEmbeddingDriver import gtUIGoogleEmbeddingDriver
|
||||
from ..drivers.gtUIGooglePromptDriver import gtUIGooglePromptDriver
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
google_models = [
|
||||
"gemini-1.5-pro",
|
||||
@@ -28,7 +32,7 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUIGoogleStructureConfig(gtUIBaseConfig):
|
||||
class gtUIGoogleDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
The Griptape Google Structure Config
|
||||
"""
|
||||
+6
-2
@@ -15,7 +15,11 @@ from ..drivers.gtUIHuggingFaceHubEmbeddingDriver import (
|
||||
gtUIHuggingFaceHubEmbeddingDriver,
|
||||
)
|
||||
from ..drivers.gtUIHuggingFaceHubPromptDriver import gtUIHuggingFaceHubPromptDriver
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
load_dotenv()
|
||||
|
||||
@@ -28,7 +32,7 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUIHuggingFaceStructureConfig(gtUIBaseConfig):
|
||||
class gtUIHuggingFaceDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
Create a HuggingFace Structure Config
|
||||
"""
|
||||
+6
-2
@@ -12,7 +12,11 @@ from griptape.drivers import (
|
||||
|
||||
from ..drivers.gtUILMStudioChatPromptDriver import gtUILMStudioChatPromptDriver
|
||||
from ..drivers.gtUILMStudioEmbeddingDriver import gtUILMStudioEmbeddingDriver
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
drivers = [
|
||||
("prompt", gtUILMStudioChatPromptDriver),
|
||||
@@ -20,7 +24,7 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUILMStudioStructureConfig(gtUIBaseConfig):
|
||||
class gtUILMStudioDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
The Griptape LM Studio Structure Config
|
||||
"""
|
||||
@@ -12,7 +12,11 @@ from griptape.drivers import (
|
||||
|
||||
from ..drivers.gtUIOllamaEmbeddingDriver import gtUIOllamaEmbeddingDriver
|
||||
from ..drivers.gtUIOllamaPromptDriver import gtUIOllamaPromptDriver
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
drivers = [
|
||||
("prompt", gtUIOllamaPromptDriver),
|
||||
@@ -20,7 +24,7 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUIOllamaStructureConfig(gtUIBaseConfig):
|
||||
class gtUIOllamaDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
The Griptape Ollama Structure Config
|
||||
"""
|
||||
@@ -0,0 +1,117 @@
|
||||
from dotenv import load_dotenv
|
||||
from griptape.configs import Defaults
|
||||
from griptape.configs.drivers import (
|
||||
OpenAiDriversConfig,
|
||||
)
|
||||
|
||||
# StructureGlobalDriversConfig,
|
||||
from griptape.drivers import (
|
||||
LocalVectorStoreDriver,
|
||||
OpenAiAudioTranscriptionDriver,
|
||||
OpenAiChatPromptDriver,
|
||||
OpenAiEmbeddingDriver,
|
||||
OpenAiImageGenerationDriver,
|
||||
OpenAiTextToSpeechDriver,
|
||||
)
|
||||
|
||||
# Get all the drivers
|
||||
from ..drivers.gtUIOpenAiAudioTranscriptionDriver import (
|
||||
gtUIOpenAiAudioTranscriptionDriver,
|
||||
)
|
||||
from ..drivers.gtUIOpenAiCompatibleChatPromptDriver import (
|
||||
gtUIOpenAiCompatibleChatPromptDriver,
|
||||
)
|
||||
from ..drivers.gtUIOpenAiCompatibleEmbeddingDriver import (
|
||||
gtUIOpenAiCompatibleEmbeddingDriver,
|
||||
)
|
||||
from ..drivers.gtUIOpenAiCompatibleImageGenerationDriver import (
|
||||
gtUIOpenAiCompatibleImageGenerationDriver,
|
||||
)
|
||||
from ..drivers.gtUIOpenAiTextToSpeechDriver import gtUIOpenAiTextToSpeechDriver
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
load_dotenv()
|
||||
|
||||
DEFAULT_API_KEY = "OPENAI_API_KEY"
|
||||
|
||||
# Define the list of drivers
|
||||
drivers = [
|
||||
("prompt", gtUIOpenAiCompatibleChatPromptDriver),
|
||||
("image_generation", gtUIOpenAiCompatibleImageGenerationDriver),
|
||||
("embedding", gtUIOpenAiCompatibleEmbeddingDriver),
|
||||
("text_to_speech", gtUIOpenAiTextToSpeechDriver),
|
||||
("audio_transcription", gtUIOpenAiAudioTranscriptionDriver),
|
||||
]
|
||||
|
||||
|
||||
class gtUIOpenAiCompatibleDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
Create an OpenAI Compatible Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = "OpenAI Compatible Structure Config."
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["optional"] = {}
|
||||
|
||||
inputs = add_required_inputs(inputs, drivers)
|
||||
inputs = add_optional_inputs(inputs, drivers)
|
||||
|
||||
return inputs
|
||||
|
||||
def create(self, **kwargs):
|
||||
self.run_envs(kwargs)
|
||||
drivers_config_params = {}
|
||||
|
||||
# Create instances of the driver classes
|
||||
prompt_driver_builder = gtUIOpenAiCompatibleChatPromptDriver()
|
||||
embedding_driver_builder = gtUIOpenAiCompatibleEmbeddingDriver()
|
||||
audio_transcription_driver_builder = gtUIOpenAiAudioTranscriptionDriver()
|
||||
image_generation_driver_builder = gtUIOpenAiCompatibleEmbeddingDriver()
|
||||
text_to_speech_driver_builder = gtUIOpenAiTextToSpeechDriver()
|
||||
|
||||
# Build parameters for drivers
|
||||
prompt_driver_params = prompt_driver_builder.build_params(**kwargs)
|
||||
embedding_driver_params = embedding_driver_builder.build_params(**kwargs)
|
||||
image_generation_driver_params = image_generation_driver_builder.build_params(
|
||||
**kwargs
|
||||
)
|
||||
text_to_speech_driver_params = text_to_speech_driver_builder.build_params(
|
||||
**kwargs
|
||||
)
|
||||
audio_transcription_driver_params = (
|
||||
audio_transcription_driver_builder.build_params(**kwargs)
|
||||
)
|
||||
|
||||
# Create Driver Configs
|
||||
drivers_config_params["prompt_driver"] = OpenAiChatPromptDriver(
|
||||
**prompt_driver_params
|
||||
)
|
||||
drivers_config_params["embedding_driver"] = OpenAiEmbeddingDriver(
|
||||
**embedding_driver_params
|
||||
)
|
||||
drivers_config_params["audio_transcription_driver"] = (
|
||||
OpenAiAudioTranscriptionDriver(**audio_transcription_driver_params)
|
||||
)
|
||||
drivers_config_params["image_generation_driver"] = OpenAiImageGenerationDriver(
|
||||
**image_generation_driver_params
|
||||
)
|
||||
drivers_config_params["text_to_speech_driver"] = OpenAiTextToSpeechDriver(
|
||||
**text_to_speech_driver_params
|
||||
)
|
||||
drivers_config_params["vector_store_driver"] = LocalVectorStoreDriver(
|
||||
embedding_driver=OpenAiEmbeddingDriver(**embedding_driver_params)
|
||||
)
|
||||
|
||||
try:
|
||||
Defaults.drivers_config = OpenAiDriversConfig(**drivers_config_params)
|
||||
custom_config = Defaults.drivers_config
|
||||
except Exception as e:
|
||||
raise Exception(f"Error creating OpenAiCompatibleDriversConfig: {e}")
|
||||
return (custom_config,)
|
||||
@@ -21,7 +21,11 @@ from ..drivers.gtUIOpenAiChatPromptDriver import gtUIOpenAiChatPromptDriver
|
||||
from ..drivers.gtUIOpenAiEmbeddingDriver import gtUIOpenAiEmbeddingDriver
|
||||
from ..drivers.gtUIOpenAiImageGenerationDriver import gtUIOpenAiImageGenerationDriver
|
||||
from ..drivers.gtUIOpenAiTextToSpeechDriver import gtUIOpenAiTextToSpeechDriver
|
||||
from .gtUIBaseConfig import add_optional_inputs, add_required_inputs, gtUIBaseConfig
|
||||
from .gtUIBaseDriversConfig import (
|
||||
add_optional_inputs,
|
||||
add_required_inputs,
|
||||
gtUIBaseDriversConfig,
|
||||
)
|
||||
|
||||
default_prompt_model = "gpt-4o"
|
||||
default_image_query_model = "gpt-4o"
|
||||
@@ -37,12 +41,12 @@ drivers = [
|
||||
]
|
||||
|
||||
|
||||
class gtUIOpenAiStructureConfig(gtUIBaseConfig):
|
||||
class gtUIOpenAiDriversConfig(gtUIBaseDriversConfig):
|
||||
"""
|
||||
The Griptape OpenAI Structure Config
|
||||
"""
|
||||
|
||||
DESCRIPTION = "OpenAI Structure Config. Use OpenAI's models for prompt, embedding, image generation, and image query."
|
||||
DESCRIPTION = "OpenAI Drivers Config. Use OpenAI's models for prompt, embedding, image generation, and image query."
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
@@ -1,23 +1,25 @@
|
||||
from griptape.drivers import OpenAiChatPromptDriver
|
||||
|
||||
from .gtUIBasePromptDriver import gtUIBasePromptDriver
|
||||
from .gtUIOpenAiChatPromptDriver import gtUIOpenAiChatPromptDriver
|
||||
|
||||
default_model = "gpt-4o"
|
||||
default_base_url = "https://api.openai.com/v1"
|
||||
DEFAULT_API_KEY_ENV = "OPENAI_API_KEY"
|
||||
|
||||
|
||||
class gtUIOpenAiCompatibleChatPromptDriver(gtUIBasePromptDriver):
|
||||
class gtUIOpenAiCompatibleChatPromptDriver(gtUIOpenAiChatPromptDriver):
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
|
||||
# Get the base required and optional inputs
|
||||
base_required_inputs = inputs["required"]
|
||||
base_optional_inputs = inputs["optional"]
|
||||
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"model": ("STRING", {"default": default_model}),
|
||||
"base_url": ("STRING", {"default": default_base_url}),
|
||||
"api_key_env_var": ("STRING", {"default": DEFAULT_API_KEY_ENV}),
|
||||
"use_native_tools": ("BOOLEAN", {"default": False}),
|
||||
}
|
||||
)
|
||||
|
||||
@@ -28,6 +30,7 @@ class gtUIOpenAiCompatibleChatPromptDriver(gtUIBasePromptDriver):
|
||||
def build_params(self, **kwargs):
|
||||
model = kwargs.get("model", None)
|
||||
base_url = kwargs.get("base_url", default_base_url)
|
||||
response_format = kwargs.get("response_format", None)
|
||||
if kwargs.get("api_key"):
|
||||
api_key = kwargs.get("api_key")
|
||||
else:
|
||||
@@ -45,6 +48,8 @@ class gtUIOpenAiCompatibleChatPromptDriver(gtUIBasePromptDriver):
|
||||
"use_native_tools": use_native_tools,
|
||||
"max_attempts": max_attempts,
|
||||
}
|
||||
if response_format:
|
||||
params["response_format"] = response_format
|
||||
if max_tokens > 0:
|
||||
params["max_tokens"] = max_tokens
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
from griptape.drivers import (
|
||||
OpenAiImageGenerationDriver,
|
||||
)
|
||||
|
||||
from .gtUIOpenAiImageGenerationDriver import gtUIOpenAiImageGenerationDriver
|
||||
|
||||
DEFAULT_API_KEY = "OPENAI_API_KEY"
|
||||
models = ["dall-e-3", "dall-e-2"]
|
||||
sizes = ["256x256", "512x512", "1024x1024", "1024x1792", "1792x1024"]
|
||||
default_base_url = "https://api.openai.com/v1"
|
||||
|
||||
|
||||
class gtUIOpenAiCompatibleImageGenerationDriver(gtUIOpenAiImageGenerationDriver):
|
||||
DESCRIPTION = "OpenAI Image Generation Driver"
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
inputs = super().INPUT_TYPES()
|
||||
inputs["optional"].update(
|
||||
{
|
||||
"base_url": ("STRING", {"default": default_base_url}),
|
||||
}
|
||||
)
|
||||
|
||||
return inputs
|
||||
|
||||
def build_params(self, **kwargs):
|
||||
size_from_args = kwargs.get("size", sizes[2])
|
||||
model = kwargs.get("image_generation_model", models[0])
|
||||
size = self.adjust_size_based_on_model(model, size_from_args)
|
||||
api_key = self.getenv(kwargs.get("api_key_env_var", DEFAULT_API_KEY))
|
||||
base_url = kwargs.get("base_url", default_base_url)
|
||||
params = {
|
||||
"model": model,
|
||||
"image_size": size,
|
||||
"api_key": api_key,
|
||||
"base_url": base_url,
|
||||
}
|
||||
|
||||
return params
|
||||
|
||||
def create(self, **kwargs):
|
||||
params = self.build_params(**kwargs)
|
||||
driver = OpenAiImageGenerationDriver(**params)
|
||||
return (driver,)
|
||||
Reference in New Issue
Block a user