dspy.ProgramOfThought
dspy.ProgramOfThought(signature: Union[str, Type[Signature]], max_iters=3)
基类: Module
一个 DSPy 模块,运行 Python 程序来解决问题。该模块需要安装 deno。请按照 https://docs.deno.org.cn/runtime/getting_started/installation/ 安装 deno。
Example
import dspy
lm = dspy.LM('openai/gpt-4o-mini')
dspy.configure(lm=lm)
pot = dspy.ProgramOfThought("question -> answer")
pot(question="what is 1+1?")
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
signature
|
Union[str, Type[Signature]]
|
模块的签名。 |
必需 |
max_iters
|
重试代码生成和执行的最大迭代次数。 |
3
|
源代码位于 dspy/predict/program_of_thought.py
函数
__call__(*args, **kwargs)
源代码位于 dspy/primitives/program.py
acall(*args, **kwargs)
async
源代码位于 dspy/primitives/program.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()
forward(**kwargs)
源代码位于 dspy/predict/program_of_thought.py
get_lm()
load(path)
加载保存的模块。如果您想加载整个程序,而不仅仅是现有程序的状态,您也可以查看 dspy.load。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
path
|
str
|
保存的状态文件路径,应为 .json 或 .pkl 文件 |
必需 |
源代码位于 dspy/primitives/module.py
load_state(state)
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_copy()
save(path, save_program=False)
保存模块。
将模块保存到目录或文件。有两种模式:- save_program=False
:根据文件扩展名,仅将模块状态保存到 json 或 pickle 文件。- save_program=True
:通过 cloudpickle 将整个模块保存到目录,其中包含模型的状态和架构。
我们也保存依赖项版本,以便加载的模型可以检查是否存在关键依赖项或 DSPy 版本的版本不匹配。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
path
|
str
|
保存的状态文件路径,当 |
必需 |
save_program
|
bool
|
如果为 True,则通过 cloudpickle 将整个模块保存到目录,否则仅保存状态。 |
False
|