dspy.Predict
dspy.Predict(signature, callbacks=None, **config)
基础类: Module
, Parameter
源代码位于 dspy/predict/predict.py
函数
__call__(*args, **kwargs)
acall(*args, **kwargs)
异步
aforward(**kwargs)
异步
源代码位于 dspy/predict/predict.py
batch(examples, num_threads: Optional[int] = None, max_errors: int = 10, return_failed_examples: bool = False, provide_traceback: Optional[bool] = None, disable_progress_bar: bool = False)
使用 Parallel 模块并行处理 dspy.Example 实例列表。
:param examples: 要处理的 dspy.Example 实例列表。 :param num_threads: 用于并行处理的线程数。 :param max_errors: 在停止执行前允许的最大错误数。 :param return_failed_examples: 是否返回失败的例子和异常。 :param provide_traceback: 是否在错误日志中包含追溯信息。 :return: 结果列表,以及可选的失败例子和异常。
源代码位于 dspy/primitives/program.py
deepcopy()
深度复制该模块。
这是对默认 Python 深度复制的调整,它只深度复制 self.parameters()
,对于其他属性,我们只进行浅复制。
源代码位于 dspy/primitives/module.py
dump_state()
源代码位于 dspy/predict/predict.py
forward(**kwargs)
源代码位于 dspy/predict/predict.py
get_lm()
load(path)
加载已保存的模块。如果您想加载整个程序,而不仅仅是现有程序的状态,您可能还会查看 dspy.load。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
path
|
str
|
保存状态文件的路径,应为 .json 或 .pkl 文件 |
必需 |
源代码位于 dspy/primitives/module.py
load_state(state)
加载 Predict
对象的保存状态。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
state
|
dict
|
|
必需 |
返回值
名称 | 类型 | 描述 |
---|---|---|
self |
返回 self 以允许方法链式调用 |
源代码位于 dspy/predict/predict.py
map_named_predictors(func)
named_parameters()
与 PyTorch 不同,它也处理(非递归的)参数列表。
源代码位于 dspy/primitives/module.py
named_predictors()
named_sub_modules(type_=None, skip_compiled=False) -> Generator[tuple[str, BaseModule], None, None]
查找模块中的所有子模块及其名称。
例如,如果 self.children[4]['key'].sub_module 是一个子模块,则名称将是 'children[4][key].sub_module'。但如果子模块可以通过不同的路径访问,则只会返回其中一个路径。
源代码位于 dspy/primitives/module.py
parameters()
predictors()
reset()
reset_copy()
save(path, save_program=False)
保存模块。
将模块保存到目录或文件。有两种模式:- save_program=False
:仅将模块状态保存到 json 或 pickle 文件中,取决于文件扩展名。- save_program=True
:通过 cloudpickle 将整个模块保存到目录中,其中包含模型的状态和架构。
我们还保存依赖版本,以便加载的模型可以检查关键依赖或 DSPy 版本是否存在不匹配。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
path
|
str
|
保存状态文件的路径,当 |
必需 |
save_program
|
bool
|
如果为 True,则通过 cloudpickle 将整个模块保存到目录中,否则仅保存状态。 |
False
|