참고소스 수정본
This commit is contained in:
32
참고/guardrails-main/guardrails/formatters/base_formatter.py
Normal file
32
참고/guardrails-main/guardrails/formatters/base_formatter.py
Normal 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
|
||||
Reference in New Issue
Block a user