From 98e30cd1e41f2bdfb0e35668134d06aec86d0f20 Mon Sep 17 00:00:00 2001 From: Isulion Date: Thu, 7 Nov 2024 18:55:38 +0100 Subject: [PATCH] remove isulion ollama node --- Core_Nodes/isulion_OllamaGenerate.py | 107 --------------------------- 1 file changed, 107 deletions(-) delete mode 100644 Core_Nodes/isulion_OllamaGenerate.py diff --git a/Core_Nodes/isulion_OllamaGenerate.py b/Core_Nodes/isulion_OllamaGenerate.py deleted file mode 100644 index 78a9463..0000000 --- a/Core_Nodes/isulion_OllamaGenerate.py +++ /dev/null @@ -1,107 +0,0 @@ -from ollama import Client -import json - -class OllamaGenerate: - """Node for generating text using Ollama models""" - - def __init__(self): - self.client = None - self.current_host = None - self.available_models = [] - self._update_model_list() - - def _update_model_list(self): - """Fetch available models from Ollama server""" - try: - self.client = Client(host="http://127.0.0.1:11434") - self.current_host = "http://127.0.0.1:11434" - models = self.client.list() - self.available_models = [model['name'] for model in models['models']] - except Exception as e: - print(f"Failed to fetch models: {str(e)}") - self.available_models = [] - - @classmethod - def INPUT_TYPES(cls): - try: - # Create temporary instance to get models - temp = cls() - models = temp.available_models - if not models: - raise ValueError("No models available - Please check if Ollama server is running") - except Exception as e: - print(f"Error getting models: {str(e)}") - models = [] - - return { - "required": { - "prompt": ("STRING", { - "multiline": True, - "default": "What is Art?" - }), - "url": ("STRING", { - "multiline": False, - "default": "http://127.0.0.1:11434" - }), - "model": (models, { - "default": models[0] if models else "" - }), - }, - } - - RETURN_TYPES = ("STRING",) - RETURN_NAMES = ("response",) - FUNCTION = "ollama_generate" - CATEGORY = "Ollama" - - def ollama_generate(self, prompt, url, model): - """Generate text using Ollama model - - Args: - prompt (str): Input prompt for generation - url (str): Ollama API endpoint URL - model (str): Name of the model to use - - Returns: - tuple: Generated response text - """ - try: - # Initialize client if needed - if not self.client or self.current_host != url: - self.client = Client(host=url) - self.current_host = url - self._update_model_list() - - # Validate inputs - if not prompt.strip(): - raise ValueError("Prompt cannot be empty") - - if not url.startswith(("http://", "https://")): - raise ValueError("Invalid URL format") - - # Generate response - response = self.client.generate( - model=model, - prompt=prompt, - keep_alive="0m" # Keep alive disabled - ) - - # Extract and validate response - if not response or 'response' not in response: - raise RuntimeError("Invalid response from Ollama") - - return (response['response'],) - - except Exception as e: - error_msg = f"Ollama generation failed: {str(e)}" - print(error_msg) - return (error_msg,) - -# Register the node -NODE_CLASS_MAPPINGS = { - "OllamaGenerate": OllamaGenerate, -} - -NODE_DISPLAY_NAME_MAPPINGS = { - "OllamaGenerate": "Isulion Ollama Generate 🤖", -}