import torch from transformers import pipeline class DummyLLM: """A simple dummy LLM for testing.""" def __init__(self): """Initialize the dummy LLM.""" pass def complete(self, prompt): """Complete a prompt with a simple response.""" class Response: def __init__(self, text): self.text = text # For testing only - return a simple response return Response("This is a placeholder response. The actual model is not loaded to save resources.") def setup_llm(): """Set up a simple LLM for testing.""" try: # Try to load a very small model for text generation generator = pipeline( "text-generation", model="distilgpt2", # A very small model max_length=100 ) # Create a wrapper class that matches the expected interface class SimpleTransformersLLM: def complete(self, prompt): class Response: def __init__(self, text): self.text = text try: result = generator(prompt, max_length=len(prompt) + 50, do_sample=True)[0] generated_text = result["generated_text"] response_text = generated_text[len(prompt):].strip() if not response_text: response_text = "I couldn't generate a proper response." return Response(response_text) except Exception as e: print(f"Error generating response: {e}") return Response("Error generating response.") return SimpleTransformersLLM() except Exception as e: print(f"Error setting up model: {e}") return DummyLLM()