neurocore.llm.provider.LLMProvider

class neurocore.llm.provider.LLMProvider

Bases: Protocol

Protocol for LLM provider implementations.

Skills that need LLM access declare:

skill_meta = SkillMeta(…, requires_llm=True)

NeuroCore injects self.llm during skill init when requires_llm=True.

property provider_name: str
property model: str
async complete(messages: list[LLMMessage], *, max_tokens: int = 8192, temperature: float = 1.0, system: str | None = None, **kwargs: Any) LLMResponse
async stream(messages: list[LLMMessage], *, max_tokens: int = 8192, temperature: float = 1.0, system: str | None = None, **kwargs: Any) collections.abc.AsyncIterator[str]