Files
local-llm-prompt-manager/src/llm/base.py
7000pctAUTO 747617ebfb
Some checks failed
CI / test (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / build (push) Has been cancelled
Initial upload: Local LLM Prompt Manager CLI tool
2026-02-05 20:56:06 +00:00

29 lines
717 B
Python

"""Base LLM client interface."""
from abc import ABC, abstractmethod
from collections.abc import Iterator
class LLMClient(ABC):
"""Abstract base class for LLM clients."""
@abstractmethod
def generate(self, prompt: str, **kwargs) -> str:
"""Generate a response from the LLM."""
pass
@abstractmethod
def stream_generate(self, prompt: str, **kwargs) -> Iterator[str]:
"""Stream a response from the LLM."""
pass
@abstractmethod
def test_connection(self) -> bool:
"""Test if the LLM service is available."""
pass
@abstractmethod
def get_available_models(self) -> list[str]:
"""Get list of available models."""
pass