dspy.Ensemble
dspy.Ensemble
dspy.Ensemble는 여러 프로그램(module)의 출력을 하나로 합치는(ensemble) 텔레프롬프터입니다. 여러 개의 프로그램을 실행해 그 결과들을 모은 뒤, reduce_fn이 주어지면 그 함수로 결과를 합칩니다. 흔히 쓰는 reduce_fn은 dspy.majority입니다.
출처: 문서
본문
dspy.Ensemble(*, reduce_fn=None, size=None, deterministic=False)
- Bases:
Teleprompter - 흔히 쓰는
reduce_fn은dspy.majority입니다.
소스 코드는 dspy/teleprompt/ensemble.py에 있습니다.
def __init__(self, *, reduce_fn=None, size=None, deterministic=False):
"""A common reduce_fn is dspy.majority."""
assert deterministic is False, "TODO: Implement example hashing for deterministic ensemble."
self.reduce_fn = reduce_fn
self.size = size
self.deterministic = deterministic
Methods
compile(programs)
소스 코드는 dspy/teleprompt/ensemble.py에 있습니다.
def compile(self, programs):
size = self.size
reduce_fn = self.reduce_fn
import dspy
class EnsembledProgram(dspy.Module):
def __init__(self):
super().__init__()
self.programs = programs
def forward(self, *args, **kwargs):
programs = random.sample(self.programs, size) if size else self.programs
outputs = [prog(*args, **kwargs) for prog in programs]
if reduce_fn:
return reduce_fn(outputs)
return outputs
return EnsembledProgram()
get_params() -> dict[str, Any]
텔레프롬프터의 파라미터를 반환합니다.
Returns:
| Type | Description |
|---|---|
dict[str, Any] |
텔레프롬프터의 파라미터 |
소스 코드는 dspy/teleprompt/teleprompt.py에 있습니다.
def get_params(self) -> dict[str, Any]:
"""
Get the parameters of the teleprompter.
Returns:
The parameters of the teleprompter.
"""
return self.__dict__