跳转到正文

BoFire

BoFire 是一个用于实验设计和贝叶斯优化的 Python 框架,支持混合变量、约束、分子表示和迭代候选选择。

条目更新 ·

概览

BoFire(Bayesian Optimization Framework Intended for Real Experiments,面向真实实验的贝叶斯优化框架)是一个 Python 工具包,用于定义实验搜索空间并选择后续实验。其 README 将反应、配方、数字孪生和闭环优化列为预期应用领域。它支持单目标和多目标贝叶斯优化,并以 BoTorch 作为底层贝叶斯优化基础。它是用于构建优化工作流的框架,而非独立的预测模型。

一个问题通过输入特征、输出特征、目标和可选约束来表示,并汇集在 Domain 中。文档列出的变量类型包括连续型、离散型和分类型。目标与输出分别定义,因此可以设定最小化、最大化或趋近某个目标值。实验记录将候选输入值与测量或评估得到的输出结合起来;策略使用这些记录并返回建议的候选设置。README 通过 SoboStrategy、qLogEI 以及围绕 Himmelblau 函数进行迭代的 tell/ask 循环展示了这一工作流。

面向化学的支持包括分子编码和核函数;README 将已实现的分子核函数归功于 GAUCHE。可序列化的问题、策略和代理模型定义支持与 RESTful 工作流集成。另有 LLMStrategy,它使用问题描述和以往实验作为语言模型上下文来提出候选方案。

示例评估的是数学函数;执行物理实验并提供实验结果仍是单独的工作流步骤。可选依赖组区分了优化、化学信息学和 LLM 功能。该项目的版本策略允许在 BIGRELEASE 和 MAJOR 版本中对公开 API 作出不兼容变更,因此应针对所选版本检查集成情况。

主要功能

  • 表示包含连续型、离散型和分类型参数的混合空间,并将目标与输出特征分别定义。
  • 支持单目标和多目标贝叶斯优化,包括最小化、最大化和面向目标值的优化。
  • 提供特定约束和通用约束、黑盒输出约束、受约束采样以及遵循约束的实验设计。
  • 包含用于涉及分子物种的优化的化学编码和分子核函数。
  • 可序列化问题定义、优化策略和代理模型,以用于 RESTful 集成。
  • 提供 `LLMStrategy`,可根据书面问题描述和以往实验提出候选方案;同时支持文档所述的 `tell`/`ask` 优化工作流。

使用场景

  • 预期评估:构建反应优化实验方案,纳入连续操作条件和分类选项,然后根据记录的实验结果评估所提候选方案。
  • 预期评估:探索受约束的配方设计,并针对选定的测量属性比较单目标与多目标策略。
  • 预期评估:使用有代表性的实验数据集,评估分子编码和核函数对分子物种候选选择的适用性。
  • 预期评估:将序列化的优化定义集成到闭环服务中,使其能够向策略传递测量结果并获取后续候选方案。

使用方式

  1. 查阅安装指南,并根据预期工作流选择依赖项。README 区分了基础贝叶斯优化与可选的化学信息学和 LLM 功能;请核实所选版本的要求。
  2. 按照 README 示例定义输入特征及其边界、输出特征和目标。将它们组合到 Domain 中,并添加适合问题的约束。
  3. 准备初始候选方案并获取其测量或模拟输出。保持输入和输出标识符一致,以确保生成的实验记录与领域定义相匹配。
  4. 选择优化策略。示例使用带有 qLogEI 的 SoboStrategy;通过 tell 提供已有实验,通过 ask 获取候选方案,在外部评估这些方案并返回结果。
  5. 如需集成到服务中,请阅读数据模型和函数指南。在将其连接到实验室工作流之前,先使用有代表性的数据评估序列化和优化循环。

相关资源

BayBE

开源工具

BayBE 是一个用于贝叶斯实验设计的 Python 工具箱,可根据定义的搜索空间、目标和测量结果推荐参数配置,支持化学领域感知和多目标工作流。

开源Python

实验室自动化 · 工艺优化

Gryffin

开源工具

Gryffin 是一个 Python 贝叶斯优化框架,适用于类别型和混合型实验设计空间,支持批量推荐和物理化学描述符。

开源Python

实验室自动化 · 工艺优化

Olympus

开源工具

Olympus 是一个用于对含噪优化和实验规划进行基准测试的 Python 框架,支持混合参数域、实验基准、解析测试函数以及统一的规划器接口。

开源Python

实验室自动化 · 工艺优化

Phoenics

开源工具

Phoenics 将贝叶斯优化与贝叶斯核密度估计相结合,用于推荐实验或计算参数,并支持序贯、批量和多目标工作流。

开源Python

实验室自动化 · 工艺优化

Summit

开源工具

Summit 是一个用于化学反应优化的 Python 工具包,结合了优化策略、模拟反应基准和闭环工作流,可用于评估实验条件。

开源Python

实验室自动化 · 工艺优化

Benchling MCP (longevity-genie) 是一个 Python MCP 服务器,通过 API 凭据将 AI 客户端连接到 Benchling 的笔记本条目、生物序列、项目和实体搜索功能。

开源Python

实验室自动化 · 科学数据

相关指南

技能

化学 AI Skills 是什么?科研 Agent 的能力模块详解

了解化学 AI Skills 如何作为可复用的流程模块:`SKILL.md` 包含什么内容,宿主如何加载指令,Skills 与 MCP 和智能体有何区别,以及如何选择、组合和评估它们,同时避免将操作指导误认为科学验证。

工作流

计算化学 AI 工作流:从结构到模拟与结果分析

借助 AI Skills 构建重视证据的计算化学工作流,涵盖结构准备、声子、气相着火、CALPHAD 平衡和反应分子动力学分析,同时明确真实输入、执行依赖和科学验证。