참고소스 수정본

This commit is contained in:
LASTA_DEV01\lasta
2026-05-12 19:40:31 +09:00
parent 0f34a451fc
commit 2e9204243d
8708 changed files with 3259488 additions and 869 deletions

View File

@@ -0,0 +1,32 @@
from abc import ABC, abstractmethod
from guardrails.llm_providers import (
ArbitraryCallable,
AsyncPromptCallableBase,
PromptCallableBase,
)
class BaseFormatter(ABC):
"""A Formatter takes an LLM Callable and wraps the method into an abstract
callable.
Used to perform manipulations of the input or the output, like JSON
constrained- decoding.
"""
@abstractmethod
def wrap_callable(self, llm_callable: PromptCallableBase) -> ArbitraryCallable: ...
@abstractmethod
def wrap_async_callable(
self, llm_callable: PromptCallableBase
) -> AsyncPromptCallableBase: ...
class PassthroughFormatter(BaseFormatter):
def wrap_callable(self, llm_callable: PromptCallableBase): # type: ignore
return llm_callable # Noop
def wrap_async_callable(self, llm_callable: PromptCallableBase): # type: ignore
return llm_callable # Noop