API Reference
Section outline
-
这是所有 RDAgent 接口的概览。
RD 循环
研究
-
rdagent.core.proposal.Hypothesis
这是一个假设类,包含假设内容(hypothesis)、原因(reason)、简洁的原因(concise_reason)、简洁的观察结果(concise_observation)、简洁的论证(concise_justification)和简洁的知识(concise_knowledge)。
-
rdagent.core.proposal.ExperimentFeedback
这个类用于提供实验反馈,包含原因(reason)、代码更改摘要(code_change_summary)、决定(decision)、EDA(探索性数据分析)改进(eda_improvement)和异常(exception)。
-
classmethod from_exception(e: Exception) → ExperimentFeedback
一个便捷的方法,可以从异常中创建反馈。
-
-
rdagent.core.proposal.HypothesisFeedback
此接口包含对假设的反馈,包括观察结果(observations)、假设评估(hypothesis_evaluation)、新假设(new_hypothesis)、原因(reason)、代码更改摘要(code_change_summary)、决定(decision)、EDA 改进(eda_improvement)和可接受性(acceptable)。
-
rdagent.core.proposal.Trace
此接口用于跟踪实验流程,包含场景(scen)和知识库(knowledge_base)。
-
NodeType
是 tuple[Experiment, ExperimentFeedback] 的别名。
-
get_sota_hypothesis_and_experiment() → tuple[Hypothesis | None, Experiment | None]
访问最新的实验结果、子任务和相应的假设。
-
is_selection_new_tree(selection: tuple[int, ...] | None = None) → bool
检查当前跟踪是否是一个新的决策树。
-
get_parent_exps(selection: tuple[int, ...] | None = None) → list[tuple[Experiment, ExperimentFeedback]]
收集给定选择的所有祖先节点。返回列表的顺序为 [root -> … -> parent -> current_node]。
-
-
rdagent.core.proposal.CheckpointSelector
在跟踪中,我们可以从任何检查点开始(我们将其表示为变量 from_checkpoint_idx)。
-
abstract get_selection(trace: Trace) → tuple[int, ...] | None
checkpoint_idx 代表我们想要创建新节点的位置。返回值应该是目标节点的索引(新生成节点的父节点)。
-
(-1, )
表示从跟踪中的最新试验开始。 -
(idx, )
表示从跟踪中的第idx
个试验开始。 -
None
表示从头开始(开始一个新的跟踪)。
-
-
-
rdagent.core.proposal.SOTAexpSelector
从跟踪中选择 SOTA(State-of-the-Art)实验进行提交。
-
abstract get_sota_exp_to_submit(trace: Trace) → Experiment | None
从跟踪中选择 SOTA 实验进行提交。
-
-
rdagent.core.proposal.ExpPlanner
一个用于规划实验的抽象类。规划器应根据跟踪生成实验计划。
-
abstract plan(trace: Trace) → ASpecificPlan
根据跟踪生成实验计划。该计划应是一个包含每个阶段计划的字典。
-
-
rdagent.core.proposal.ExpGen
-
abstract gen(trace: Trace, plan: ExperimentPlan | None = None) → Experiment
根据跟踪生成实验。规划是生成的一部分,但由于我们可能支持多阶段规划,因此需要将 plan 作为可选参数传入。
-
async async_gen(trace: Trace, loop: LoopBase) → Experiment
生成实验,并决定是否停止生成并将控制权交给其他例程。
-
-
rdagent.core.proposal.HypothesisGen
-
abstract gen(trace: Trace, plan: ExperimentPlan | None = None) → Hypothesis
-
scenario_desc 变量的动机:
模拟一个数据科学家正在观察场景。
-
scenario_desc
可能包括:-
数据观察:原始或衍生数据。
-
任务信息。
-
-
-
-
rdagent.core.proposal.Hypothesis2Experiment
将抽象描述转换为具体描述,然后生成代码实现卡片。
-
abstract convert(hypothesis: Hypothesis, trace: Trace) → ASpecificExp
将想法提案连接到实现。
-
-
rdagent.core.proposal.Experiment2Feedback
根据已执行的不同任务的实现及其与先前性能的比较,生成关于假设的反馈。
-
abstract generate_feedback(exp: Experiment, trace: Trace) → ExperimentFeedback
exp 应该已执行,其结果以及与先前结果的比较应被包含在内(由 LLM 完成)。例如,Qlib 的 mlflow 将被包含在内。
-
-