diff --git a/README.md b/README.md index dc42675..247642a 100644 --- a/README.md +++ b/README.md @@ -103,6 +103,9 @@ You can previous and download more examples [here](examples/README.md). ## Recent Changelog +### Setp 20, 2024 +* Hotfix for `Griptape Agent Config: LM Studio Drivers`. The `base_url` parameter wasn't being set properly causing a connection error. + ### Sept 12, 2024 * Hotfix for `Griptape Run: Tool Task` node. It now properly handles the output of the tool being a list. diff --git a/js/versions.js b/js/versions.js index ffa492d..c6ed185 100644 --- a/js/versions.js +++ b/js/versions.js @@ -1,11 +1,18 @@ export const versions = { - "version": "0.31.0d", - "releaseDate": "2024-09-12", + "version": "0.31.0e", + "releaseDate": "2024-09-20", "name": "ComfyUI-Griptape", "description": "Griptape integration for ComfyUI", "author": "Jason Schleifer", "repository": "https://github.com/griptape-ai/ComfyUI-Griptape", "changelog": [ + { + "version": "0.31.0e", + "date": "2024-09-20", + "changes": [ + "Fixed connection error for LMStudio Drivers", + ] + }, { "version": "0.31.0d", "date": "2024-09-12", diff --git a/nodes/drivers/gtUILMStudioChatPromptDriver.py b/nodes/drivers/gtUILMStudioChatPromptDriver.py index 539ff6e..58ad2fb 100644 --- a/nodes/drivers/gtUILMStudioChatPromptDriver.py +++ b/nodes/drivers/gtUILMStudioChatPromptDriver.py @@ -28,9 +28,34 @@ class gtUILMStudioChatPromptDriver(gtUIOpenAiCompatibleChatPromptDriver): FUNCTION = "create" + def build_params(self, **kwargs): + model = kwargs.get("model", None) + base_url = kwargs.get("base_url", default_base_url) + port = kwargs.get("port") + response_format = kwargs.get("response_format", None) + api_key = kwargs.get("api_key") + temperature = kwargs.get("temperature", None) + max_attempts = kwargs.get("max_attempts_on_fail", None) + use_native_tools = kwargs.get("use_native_tools", False) + max_tokens = kwargs.get("max_tokens", None) + + params = { + "model": model, + "base_url": f"{base_url}:{port}/v1", + "api_key": api_key, + "temperature": temperature, + "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 + + return params + def create(self, **kwargs): params = self.build_params(**kwargs) - params["base_url"] = f"{params['base_url']}:{kwargs['port']}/v1" try: driver = OpenAiChatPromptDriver(**params) diff --git a/nodes/drivers/gtUILMStudioEmbeddingDriver.py b/nodes/drivers/gtUILMStudioEmbeddingDriver.py index ac2d7bb..baa8a34 100644 --- a/nodes/drivers/gtUILMStudioEmbeddingDriver.py +++ b/nodes/drivers/gtUILMStudioEmbeddingDriver.py @@ -28,9 +28,22 @@ class gtUILMStudioEmbeddingDriver(gtUIOpenAiCompatibleEmbeddingDriver): FUNCTION = "create" + def build_params(self, **kwargs): + model = kwargs.get("embedding_model") + base_url = kwargs.get("base_url", default_base_url) + port = kwargs.get("port") + api_key = kwargs.get("api_key") + + params = { + "model": model, + "base_url": f"{base_url}:{port}/v1/embeddings", + "api_key": api_key, + } + + return params + def create(self, **kwargs): params = self.build_params(**kwargs) - params["base_url"] = f"{params['base_url']}:{kwargs['port']}/v1/embeddings" try: driver = OpenAiEmbeddingDriver(**params) diff --git a/pyproject.toml b/pyproject.toml index 15ee0ad..6e504bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "comfyui-griptape" -version = "1.0.4" +version = "1.0.5" description = "Griptape LLM(Large Language Model) Nodes for ComfyUI." authors = ["Jason Schleifer "] readme = "README.md" @@ -26,7 +26,7 @@ priority = "explicit" [project] name = "comfyui-griptape" description = "Griptape LLM(Large Language Model) Nodes for ComfyUI." -version = "1.0.4" +version = "1.0.5" license = {file = "LICENSE"} dependencies = ["griptape[drivers-prompt-cohere,drivers-prompt-anthropic,drivers-prompt-huggingface-hub,drivers-prompt-amazon-bedrock,drivers-prompt-amazon-sagemaker,drivers-prompt-google,drivers-prompt-ollama,drivers-embedding-amazon-bedrock,drivers-embedding-amazon-sagemaker,drivers-embedding-huggingface,drivers-embedding-voyageai,drivers-embedding-google,drivers-embedding-cohere,drivers-text-to-speech-elevenlabs,drivers-vector-pinecone,drivers-vector-marqo,drivers-vector-mongodb,drivers-vector-redis,drivers-vector-opensearch,drivers-vector-pgvector,drivers-vector-qdrant,drivers-web-scraper-trafilatura,drivers-web-scraper-markdownify,drivers-web-search-duckduckgo,loaders-dataframe,loaders-pdf,loaders-image,loaders-email,loaders-audio]==0.31.0", "python-dotenv"]