teleprompt.Ensemble
构造函数
构造函数初始化 Ensemble
类并设置其属性。这个电子提示器旨在创建多个程序的集成版本,将来自不同程序的各种输出减少为单个输出。
class Ensemble(Teleprompter):
def __init__(self, *, reduce_fn=None, size=None, deterministic=False):
参数:
reduce_fn
(callable,可选):用于将来自不同程序的多个输出减少为单个输出的函数。常见选择是dspy.majority
。默认为None
。size
(int,可选):要随机选择用于集成的程序数量。如果未指定,将使用所有程序。默认为None
。deterministic
(bool,可选):指定集成是否应该以确定性方式运行。当前,将此设置为True
将引发错误,因 为此功能正在等待实施。默认为False
。
方法
compile(self, programs)
此方法将一组程序编译成一个单一程序,当运行时,可以随机抽取给定程序的子集来生成输出,或者使用所有程序。然后可以使用 reduce_fn
将多个输出减少为单个输出。
参数:
programs
(list):要进行集成的程序列表。
返回:
EnsembledProgram
(Module):输入程序的集成版本。
示例
import dspy
from dspy.teleprompt import Ensemble
# 假设有一组程序
programs = [program1, program2, program3, ...]
# 定义 Ensemble 电子提示器
teleprompter = Ensemble(reduce_fn=dspy.majority, size=2)
# 编译以获得 EnsembledProgram
ensembled_program = teleprompter.compile(programs)