来自麻省理工和AI制药公司 Recursion 的结构与结合亲和力预测模型Boltz-2,解决小分子药物发现的关键问题

1. Boltz-2介绍

 文章来源:http://jeremywohlwend.com/assets/boltz2.pdf

开源代码来源:https://github.com/jwohlwend/boltz

该AI模型由麻省理工学院计算机科学与人工智能实验室与上市AI制药公司Recursion一起开发,双方在Boltz-1的基础之上,通过改进和拓展性能而来。

简单来说,Boltz 与 AlphaFold3 一样,均是一种全原子共折叠模型,它将蛋白质折叠或结构预测的概念扩展到DNA、RNA、配体中。该模型不仅可以预测分子相互作用的 3D 结构,还可用于分子设计等下游任务。Boltz-2将亲和力预测与结构建模相结合,提高了预测结构的物理真实感。

Boltz-2 在一个大型数据集上进行了训练,该数据集结合了500万个结合亲和力测量值、分子动力学模拟和蒸馏数据,这些方法显著提高了预测结构的物理真实感。

在标准 FEP+ 亲和力基准测试中,Boltz-2 实现了 0.62 的平均 Pearson相关系数,能够与可开源 FEP 流程 OpenFE 相媲美。在速度方面,Boltz-2 只需 20 秒即可计算出结合亲和值,比当前FEP预测快1000倍

在表示学习方面,亲和力预测建立在驱动共折叠过程的潜在表示之上。这种表示本质上编码了关于生物分子相互作用的丰富信息。因此,Boltz-2在结合亲和力预测方面的改进是由结构建模的进步所推动的。这些进步源于:(1)扩展训练数据,超越静态结构,包括实验和分子动力学集合;(2)显著扩大多样模态下的蒸馏数据集;(3)通过基于实验方法、用户定义的距离约束和多链模板集成来增强用户控制。
整体解析:
这段文字主要讨论了Boltz-2在结合亲和力预测方面的改进与其背后的驱动因素。首先提到的是表示学习的重要性,其中潜在表示(latent representation)是亲和力预测的核心,它能够捕捉生物分子相互作用的关键信息。接着指出,Boltz-2的性能提升得益于结构建模的进步,而这些进步来源于三个方面:一是扩展了训练数据的范围,使其不仅限于静态结构,还包括实验数据和分子动力学模拟数据;二是通过增加蒸馏数据集的规模和多样性来提高模型的泛化能力;三是通过引入用户自定义参数(如实验方法和距离约束)以及多链模板集成,增强了模型的灵活性和可控性。这表明,Boltz-2不仅在算法层面有所改进,还在数据和用户交互方面进行了优化。

Boltz-2药物发现的重要场景

Boltz-2对亲和力的准确预测,使得它可用于药物发现的重要场景:

苗头化合物发现(Hit discovery):该模型在高通量筛选中区分结合剂(binders)与诱饵(decoys),并在MF-PCBA基准测试中实现了显著的富集增益 [Buterez等, 2023],其表现优于对接(docking)和机器学习(ML)方法。具体来说,该模型的任务是从高通量筛选(high-throughput screens)中识别出真正的结合剂(binders),同时排除非活性分子(decoys)。通过使用MF-PCBA基准测试对该模型进行评估,结果表明它在富集增益(enrichment gains)方面表现优异。富集增益是指模型能够以更高的比例挑选出真正有活性的分子,相较于随机选择或传统方法更具优势。此外,该模型的表现超越了传统的对接(docking)方法以及基于机器学习(ML)的方法,体现了其在药物筛选中的潜力。

苗头化合物到先导化合物以及先导化合物优化(Hit-to-lead and lead optimization): 是药物发现和开发过程中的两个关键阶段。首先,“Hit-to-lead” 指的是在初期筛选中找到具有活性的化合物(称为“hit”),然后通过进一步的化学修饰和生物学测试,将这些“hit”转化为更具潜力和选择性的候选分子,即“lead”。接下来,“lead optimization” 是对这些先导化合物进行优化的过程,通过对化合物的结构进行调整,提高其药效、选择性、代谢稳定性等特性,以使其更接近成为临床试验中的候选药物。这两个阶段是药物研发的重要步骤,为后续的临床研究奠定基础。

从头生成(de-novo Generation):De-novo Generation(从头生成)与生成模型相结合 [Cretu et al., 2024],Boltz-2 能够发现新的结合剂。在针对 TYK2 靶点的前瞻性筛选中,该流程能够生成多样化、可合成的高亲和力结合剂,这一点通过绝对结合自由能 (ABFE) 模拟 [Wu et al., 2025] 估算得出。这种方法特别适用于发现针对特定靶点(如 TYK2)的新结合剂(binders)。文中提到,该流程不仅能够生成多样化的分子,还确保这些分子具有高亲和力(high-affinity),并且可以通过化学手段合成(synthetizable)。为了验证这些分子的实际效果,研究团队使用了绝对结合自由能(ABFE)模拟来评估分子与靶点之间的结合强度。这种结合强度是药物设计中的关键指标,直接反映了分子作为潜在药物的潜力。

Boltz-2的改进及对比优势

与Boltz-1相比,Boltz-2在跨模态的晶体结构预测方面有所改进,特别是在抗体-抗原复合物等具有挑战性的目标上表现尤为突出。当与分子动力学模拟进行基准比较时,Boltz-2在预测关键动态特性(如均方根波动RMSF)方面的性能可以与近期的专用模型(例如AlphaFlow [Jing et al., 2024] 和 BioEmu [Lewis et al., 2025])相媲美。

igure 3: Evaluation of the performance of Boltz-2 against existing co-folding models on a diverse
set of unseen complexes. Error bars indicate 95% confidence intervals.

2. 安装及应用

安装:

创建一个conda环境,boltz-2

conda create -n boltz-2 python=3.12

激活环境,后续在环境中操作。

conda activate boltz-2

方法1:创建一个新的python环境(比如使用conda),使用pip安装:

pip install boltz -U

方法2:下载并安装最新版本:

git clone https://github.com/jwohlwend/boltz.git
cd boltz; pip install -e .
使用推理:
boltz predict input_path --use_msa_server

input_path 应指向一个 YAML 文件,或用于批量处理的 YAML 文件目录,描述您想要建模的生物分子及其预测的属性(例如亲和力)。要查看所有可用选项:boltz predict --help;有关这些输入格式的更多信息,请参阅我们的预测说明。默认情况下,boltz 命令将运行模型的最新版本。

YAML 格式更加灵活,允许更复杂的输入,尤其是共价键相关的输入。YAML 的架构如下:

sequences:- ENTITY_TYPE:id: CHAIN_ID sequence: SEQUENCE    # only for protein, dna, rnasmiles: 'SMILES'        # only for ligand, exclusive with ccdccd: CCD              # only for ligand, exclusive with smilesmsa: MSA_PATH         # only for proteinmodifications:- position: RES_IDX   # index of residue, starting from 1ccd: CCD            # CCD code of the modified residuecyclic: false- ENTITY_TYPE:id: [CHAIN_ID, CHAIN_ID]    # multiple ids in case of multiple identical entities...
constraints:- bond:atom1: [CHAIN_ID, RES_IDX, ATOM_NAME]atom2: [CHAIN_ID, RES_IDX, ATOM_NAME]- pocket:binder: CHAIN_IDcontacts: [[CHAIN_ID, RES_IDX/ATOM_NAME], [CHAIN_ID, RES_IDX/ATOM_NAME]]max_distance: DIST_ANGSTROM- contact:token1: [CHAIN_ID, RES_IDX/ATOM_NAME]token2: [CHAIN_ID, RES_IDX/ATOM_NAME]max_distance: DIST_ANGSTROMtemplates:- cif: CIF_PATH  # if only a path is provided, Boltz will find the best matchings- cif: CIF_PATHchain_id: CHAIN_ID   # optional, specifiy which chain to find a template for- cif: CIF_PATHchain_id: [CHAIN_ID, CHAIN_ID]  # can be more than onetemplate_id: [TEMPLATE_CHAIN_ID, TEMPLATE_CHAIN_ID]
properties:- affinity:binder: CHAIN_ID

sequences输入中每个唯一的链/分子都有一个条目。每个聚合物实体都表示为ENTITY_TYPE 、proteindnarna并具有一个sequence属性。非聚合物实体用ENTITY_TYPE等于表示ligand,并具有smilesccd属性。CHAIN_ID是每个链/分子的唯一标识符,如果结构中存在多个相同的实体,则应将其设置为列表。对于蛋白质,msa默认情况下需要键,但可以通过传递--use_msa_server标志来省略,该标志将使用 mmseqs2 服务器自动生成 MSA。如果您希望使用预先计算的 MSA,请使用msa属性,该属性MSA_PATH指示包含该蛋白质 MSA 的文件的路径。如果您希望明确运行单序列模式(通常不建议这样做,因为它会损害模型性能),您可以使用该蛋白质的特殊关键字(例如: ).a3m来实现。对于自定义 MSA,您可能希望向模型指示配对键。您可以使用 CSV 格式(而不是 a3m)来实现此目的,其中包含两列:包含蛋白质序列和 ,其中 是一个唯一标识符,指示每个蛋白质链在 CSV 文件中的匹配行。emptymsa: emptysequencekey

字段modifications为可选字段,用于指定聚合物中的修饰残基(proteindnarna)。position字段指定残基的索引(从 1 开始),ccd为修饰残基的 CCD 代码。此字段目前仅支持 CCD 配体。 标志cyclic应用于指定环状聚合物链(而非配体)。

constraints是一个可选字段,允许您指定有关输入结构的附加信息。

  • bond约束指定两个原子之间的共价键(atom1atom2)。目前仅支持CCD配体和规范残基,CHAIN_ID指的是上面设置的残基的id,RES_IDX是残基的索引(从1开始)(配体为1),ATOM_NAME是标准化的原子名称(可以在RCSB网站上该组件的CIF文件中验证)。

  • 约束pocket指定与配体结合的残基,其中binder表示与口袋(可以是分子、蛋白质、DNA 或 RNA)结合的链, 表示contacts与口袋结合的链和残基索引列表(从 1 开始)。该模型目前仅支持指定单条链(以及其他链中binder任意数量的残基)。contacts

templates是一个可选字段,允许您为预测指定结构模板。您至少必须提供结构模板的路径,该路径必须以 CIF 文件的形式提供。如果您希望明确定义 YAML 中的哪些链应该使用此 CIF 文件进行模板化,您可以使用该chain_id条目来指定它们。无论是否提供一组 ID,Boltz 都会从提供的模板中找到最佳匹配的链。如果您希望自己明确定义映射,可以提供相应的 template_id。请注意,只有蛋白质链可以进行模板化。

properties是一个可选字段,用于指定是否要计算亲和力。如果启用,您还必须提供与要计算亲和力的小分子对应的 chain_id。只能指定一个分子进行亲和力计算,并且该分子必须是配体链(不能是蛋白质、DNA 或 RNA)。

version: 1
sequences:- protein:id: [A, B]sequence: MVTPEGNVSLVDESLLVGVTDEDRAVRSAHQFYERLIGLWAPAVMEAAHELGVFAALAEAPADSGELARRLDCDARAMRVLLDALYAYDVIDRIHDTNGFRYLLSAEARECLLPGTLFSLVGKFMHDINVAWPAWRNLAEVVRHGARDTSGAESPNGIAQEDYESLVGGINFWAPPIVTTLSRKLRASGRSGDATASVLDVGCGTGLYSQLLLREFPRWTATGLDVERIATLANAQALRLGVEERFATRAGDFWRGGWGTGYDLVLFANIFHLQTPASAVRLMRHAAACLAPDGLVAVVDQIVDADREPKTPQDRFALLFAASMTNTGGGDAYTFQEYEEWFTAAGLQRIETLDTPMHRILLARRATEPSAVPEGQASENLYFQmsa: ./examples/msa/seq1.a3m- ligand:id: [C, D]ccd: SAH- ligand:id: [E, F]smiles: 'N[C@@H](Cc1ccc(O)cc1)C(=O)O'

例如,要使用 10 个回收步骤和 25 个样本(AlphaFold3 的默认参数)预测结构,请使用:

boltz predict input_path --recycling_steps 10 --diffusion_samples 25
选项类型默认描述
--out_dirPATH./保存预测的路径。
--cachePATH~/.boltz下载数据和模型的目录。BOLTZ_CACHE如果设置,将使用环境变量作为绝对路径
--checkpointPATH没有任何可选检查点。默认使用提供的 Boltz-2 模型。
--devicesINTEGER1用于预测的设备数量。
--accelerator[gpu,cpu,tpu]gpu用于预测的加速器。
--recycling_stepsINTEGER3用于预测的回收步骤数。
--sampling_stepsINTEGER200用于预测的采样步骤数。
--diffusion_samplesINTEGER1用于预测的扩散样本的数量。
--max_parallel_samplesINTEGER5并行预测的最大样本数。
--step_scaleFLOAT1.638步长与扩散过程采样分布的温度有关。步长越低,样本间的多样性越高(建议在 1 到 2 之间)。
--output_format[pdb,mmcif]mmcif用于预测的输出格式。
--num_workersINTEGER2用于预测的数据加载器工作者的数量。
--method字符串没有任何用于预测的方法。
--preprocessing-threadsINTEGERmultiprocessing.cpu_count()用于预处理的线程数。
--affinity_mw_correctionFLAGFALSE是否将分子量校正添加到亲和力值头。
--sampling_steps_affinityINTEGER200用于亲和力预测的采样步骤数。
--diffusion_samples_affinityINTEGER5用于亲和力预测的扩散样本数量。
--affinity_checkpointPATH没有任何可选的亲和性检查点。默认使用提供的 Boltz-2 模型。
--max_msa_seqsINTEGER8192用于预测的 MSA 序列的最大数量。
--subsample_msaFLAGFALSE是否对 MSA 进行子采样。
--num_subsampled_msaINTEGER1024要进行子采样的 MSA 序列的数量。
--no_trifastFLAGFALSE是否不使用 trifast 内核进行三角更新。
--overrideFLAGFALSE如果发现,是否覆盖现有预测。
--use_msa_serverFLAGFALSE是否使用 msa 服务器生成 msa。
--msa_server_url字符串https://api.colabfold.comMSA 服务器 URL。仅当设置了 --use_msa_server 时使用。
--msa_pairing_strategy字符串greedy使用的配对策略。仅当设置了 --use_msa_server 时才使用。选项包括“greedy”和“complete”。
--use_potentialsFLAGFALSE是否使用推理时间潜力运行原始 Boltz-2 模型。
--write_full_paeFLAGFALSE是否将完整的 PAE 矩阵保存为文件。
--write_full_pdeFLAGFALSE是否将完整的 PDE 矩阵保存为文件。

亲和力输出中有两个主要预测:affinity_pred_value 和 affinity_probability_binary。它们在截然不同的数据集上进行训练,并采用不同的监督方法,因此应在不同的情况下使用。affinity_probability_binary 字段应用于从诱饵中检测结合剂,例如在发现目标化合物阶段。其值范围为 0 到 1,表示预测配体为结合剂的概率。affinity_pred_value 旨在测量不同结合剂的特定亲和力,以及这种亲和力如何随着分子的细微修改而变化。这应该用于配体优化阶段,例如从目标化合物到先导化合物和先导化合物优化。它将结合亲和力值报告为 log(IC50),该值源自以 μM 为单位测量的 IC50。有关如何运行亲和力预测和解析输出的更多详细信息,请参阅我们的预测说明。

输出:

out_dir/
├── lightning_logs/                                            # Logs generated during training or evaluation
├── predictions/                                               # Contains the model's predictions├── [input_file1]/├── [input_file1]_model_0.cif                          # The predicted structure in CIF format, with the inclusion of per token pLDDT scores├── confidence_[input_file1]_model_0.json              # The confidence scores (confidence_score, ptm, iptm, ligand_iptm, protein_iptm, complex_plddt, complex_iplddt, chains_ptm, pair_chains_iptm)├── affinity_[input_file1].json                        # The affinity scores (affinity_pred_value, affinity_probability_binary, affinity_pred_value1, affinity_probability_binary1, affinity_pred_value2, affinity_probability_binary2)├── pae_[input_file1]_model_0.npz                      # The predicted PAE score for every pair of tokens├── pde_[input_file1]_model_0.npz                      # The predicted PDE score for every pair of tokens├── plddt_[input_file1]_model_0.npz                    # The predicted pLDDT score for every token...└── [input_file1]_model_[diffusion_samples-1].cif      # The predicted structure in CIF format...└── [input_file2]/...
└── processed/                                                 # Processed data used during execution 

predictions文件夹为每个输入文件包含一个唯一的文件夹。输入文件夹包含diffusion_samples按置信度分数排序的 output_format 格式的预测结果,以及包含置信度模型和亲和度模型预测结果的附加文件。该processed文件夹包含模型在推理过程中使用的已处理输入文件。

输出置信度.json文件包含特定样本的各种聚合置信度得分。文件结构如下:

{"confidence_score": 0.8367,       # Aggregated score used to sort the predictions, corresponds to 0.8 * complex_plddt + 0.2 * iptm (ptm for single chains)"ptm": 0.8425,                    # Predicted TM score for the complex"iptm": 0.8225,                   # Predicted TM score when aggregating at the interfaces"ligand_iptm": 0.0,               # ipTM but only aggregating at protein-ligand interfaces"protein_iptm": 0.8225,           # ipTM but only aggregating at protein-protein interfaces"complex_plddt": 0.8402,          # Average pLDDT score for the complex"complex_iplddt": 0.8241,         # Average pLDDT score when upweighting interface tokens"complex_pde": 0.8912,            # Average PDE score for the complex"complex_ipde": 5.1650,           # Average PDE score when aggregating at interfaces  "chains_ptm": {                   # Predicted TM score within each chain"0": 0.8533,"1": 0.8330},"pair_chains_iptm": {             # Predicted (interface) TM score between each pair of chains"0": {"0": 0.8533,"1": 0.8090},"1": {"0": 0.8225,"1": 0.8330}}
}

confidence_scoreptm分数plddt(及其界面和单个链类似物)的范围是[0, 1],其中值越高表示置信度越高。pde分数的单位是埃,其中值越低表示置信度越高。

输出亲和性.json文件的组织如下:

{"affinity_pred_value": 0.8367,             # Predicted binding affinity from the enseble model"affinity_probability_binary": 0.8425,     # Predicted binding likelihood from the ensemble model"affinity_pred_value1": 0.8225,            # Predicted binding affinity from the first model of the ensemble"affinity_probability_binary1": 0.0,       # Predicted binding likelihood from the first model in the ensemble"affinity_pred_value2": 0.8225,            # Predicted binding affinity from the second model of the ensemble"affinity_probability_binary2": 0.8402,    # Predicted binding likelihood from the second model in the ensemble
}

亲和力输出中有两个主要预测:affinity_pred_valueaffinity_probability_binary。它们在截然不同的数据集上进行训练,并采用不同的监督方法,因此应该在不同的情境中使用。添加评论更多操作

affinity_probability_binary字段应用于检测结合物和诱饵,例如在发现目标物阶段。其值范围为 0 到 1,表示预测配体为结合物的概率。

旨在affinity_pred_value测量不同结合剂的特异性亲和力,以及其如何随着分子的微小修改而变化。这应该用于配体优化阶段,例如命中到先导化合物和先导化合物优化。它报告的结合亲和力值为log(IC50),源自于IC50测量的μM。值越低,预测的结合力越强,例如:

  • IC50 10−9M⟶我们的模型输出 −3(强亲和力分子)
  • IC50 10−6M⟶我们的模型输出 0(中等亲和力分子)
  • IC50 10−4M⟶我们的模型输出 2(弱亲和力)

kcal/mol您可以使用y --> (6 - y) * 1.364模型y的预测将模型的输出转换为 pIC50 。

3. 使用示例

下载boltz程序包:

git clone https://github.com/jwohlwend/boltz.git

使用examples中的affinity计算实例:

cd boltz
boltz predict ./examples/affinity.yaml --use_msa_server

初次运行,会下载解压CCD data,在/home/user/.boltz/mols目录下,大小1.8G,包含45227个mol文件。

然后会下载 Boltz-2 weights,在 /home/user/.boltz目录下,名称为boltz2_conf.ckpt,大小2.3G。

affinity预测,首次会下载affinity weights在/home/user/.boltz目录下,名称boltz2_aff.ckpt,大小2.1G。

错误提示1:RuntimeError: PytorchStreamReader failed

原因1:主要是weights文件不完整,可以提前下载放在/home/user/.boltz下。下载URL在/boltz/src/boltz/main.py文件中,如下:

CCD_URL = "https://huggingface.co/boltz-community/boltz-1/resolve/main/ccd.pkl"
MOL_URL = "https://huggingface.co/boltz-community/boltz-2/resolve/main/mols.tar"

BOLTZ1_URL_WITH_FALLBACK = [
    "https://model-gateway.boltz.bio/boltz1_conf.ckpt",
    "https://huggingface.co/boltz-community/boltz-1/resolve/main/boltz1_conf.ckpt",
]

BOLTZ2_URL_WITH_FALLBACK = [
    "https://model-gateway.boltz.bio/boltz2_conf.ckpt",
    "https://huggingface.co/boltz-community/boltz-2/resolve/main/boltz2_conf.ckpt",
]

BOLTZ2_AFFINITY_URL_WITH_FALLBACK = [
    "https://model-gateway.boltz.bio/boltz2_aff.ckpt",
    "https://huggingface.co/boltz-community/boltz-2/resolve/main/boltz2_aff.ckpt",
]

结果文件夹名称为:boltz_results_affinity,内容如下:

结果在affinity_affinity.json文件中,可以看到,亲和力以log(IC50)为单位,等于6-2.5=3.5,大致等于300μM,是一个弱的binder。

复合物结构文件为affinity_model_0.cif,使用pymol打开:

pymol /boltz_results_affinity/predictions/affinity/affinity_model_0.cif

结构如下:

又一例,如下是EGFR抑制剂吉非替尼的亲和力计算文件:

version: 1  # Optional, defaults to 1
sequences:- protein:id: Asequence: GAMGEAPNQALLRILKETEFKKIKVLGSGAFGTVYKGLWIPEGEKVKIPVAIKELREATSPKANKEILDEAYVMASVDNPHVCRLLGICLTSTVQLITQLMPFGCLLDYVREHKDNIGSQYLLNWCVQIAKGMNYLEDRRLVHRDLAARNVLVKTPQHVKITDFGLAKLLGAEEKEYHAEGGKVPIKWMALESILHRIYTHQSDVWSYGVTVWELMTFGSKPYDGIPASEISSILEKGERLPQPPICTIDVYMIMVKCWMIDADSRPKFRELIIEFSKMARDPQRYLVIQGDERMHLPSPTDSNFYRALMDEEDMDDVVDADEYLIPQQG- ligand:id: Bsmiles: 'Clc1c(F)ccc(Nc2ncnc3c2cc(OCCCN2CCOCC2)c(OC)c3)c1'
properties:- affinity:binder: B

预测结果显示,预测的复合物结构与吉非替尼-EGFR复合物的PDB结构(PDBID: 4WKQ)非常接近,RMSD=0.267。

吉非替尼的亲和力为-6.56 log(IC50),低于1 μM,属于比较强的结合,与实际情况符合。

以上是boltz-2的初步使用介绍。

参考文献:

https://github.com/jwohlwend/boltz/tree/main/docs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/92913.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/92913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从零用java实现 小红书 springboot vue uniapp(14) 集成阿里云短信验证码

从零用java实现 小红书 springboot vue uniapp(14) 集成阿里云短信验证码 移动端演示 http://8.146.211.120:8081/#/ 管理端演示 http://8.146.211.120:8088/#/ 项目整体介绍及演示 前言 在现代应用中,手机号不仅是用户的唯一标识&#xff0…

`<< EOF` 与 `<< ‘EOF‘` 与 `<< “EOF“`有无引号的区别多回答笔记250722

<< EOF 与 << EOF 与 << "EOF"有无引号的区别多回答笔记250722 实测 自测代码: # 定义变量 hello"ni hao"# 无引号 tee << EOF # 无引号 ${hello} world \n $(date) # 无引号 EOF# 单引号 tee << EOF # 单…

点击按钮滚动到底功能vue的v-on:scroll运用

使用vue自带的监听滚动功能v-on:scroll&#xff0c;滚动条变化时&#xff0c;会调用方法 checkScrollStatus&#xff0c;如果滚动条在容器底部时&#xff0c;则隐藏按钮&#xff0c;否则显示按钮&#xff0c;点击按钮能一键滚动到底部。<div class"chat-area" ref…

Linux下编译SLEPc

本文记录在Linux下编译安装SLEPc的流程。 一、下载代码 git clone https://github.com/slepc/slepc.git cd ./slepc二、安装依赖 2.1 安装PETSc 参见: <Linux下编译安装PETSc> 2.2 安装intel oneAPI sudo apt install intel-oneapi-base-toolkit sudo apt install i…

【无标题】qwen3-8b 强化学习训练后的模型,可以接着 进行其他grpo 强化学习训练 吗

ser_count’, 0),)} {((‘valid_user_count’, 1),)} 44 0.0 88 [0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.0, 0.6, 0.0, 0.6, 0.0, 0.6] 55 100%|???{‘loss’: 0.0132, ‘grad_norm’: 0.07552657276391983, ‘learning_rate’: 2e-06, ‘num_tokens’: 2098…

IDC权威认可:瑞数信息双项入选《中国大模型安全保护市场概览》

近日&#xff0c;国际数据公司IDC正式发布了《中国大模型安全保护市场概览&#xff0c;2025&#xff1a;全方位安全检测与防护构建可信AI》报告。本次报告中IDC结合全球统一定义以及中国市场特色&#xff0c;将中国大模型安全保护市场划分为7个细分领域&#xff0c;并通过对中国…

多智能体(Multi-agent)策略模式:思维链CoT和ReAct

参考&#xff1a;https://zhuanlan.zhihu.com/p/704523060 &#x1f3af; 一句话记住 CoT&#xff1a;像“考试时在草稿纸上写完所有步骤&#xff0c;再抄答案”。ReAct&#xff1a;像“玩密室逃脱&#xff0c;每开一个箱子就去找下一个线索”。 用小学生能听懂的话 两个小故事…

ChatGPT指令大全:输入需求=输出完整方案

ChatGPT指令大全提供数百个精炼过的指令语句 (提示词)&#xff0c;让你充分发挥 ChatGPT 的强大功能 一、核心功能模块分类 1. 求职与面试 简历优化 专业反馈&#xff1a;按面试官视角分析简历并提出改进建议量化数据&#xff1a;为经历添加具体数字&#xff08;如提升效率30…

Java零基础入门学习知识点2-JDK安装配置+Maven

文章目录版本提示参考视频Maven环境准备一、安装Java开发工具包&#xff08;JDK&#xff09;二、JDK环境配置三、下载Maven安装包*四、Maven环境配置&#xff08;可省略&#xff09;*五、验证安装&#xff08;上一步没做&#xff0c;这步无法验证&#xff0c;可省&#xff09;六…

基于单片机智能衣柜/智能衣橱设计

传送门 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目速选一览表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目功能速览 概述 本设计实现了一种基于单片机的多功能智能衣柜&#xff0c;融合环境检测、安全防护与用户交互功能…

自动语音识别(ASR)技术详解

语音识别&#xff08;Automatic Speech Recognition, ASR&#xff09;是人工智能和自然语言处理领域的重要技术&#xff0c;旨在将人类的语音信号转换为对应的文本。近年来&#xff0c;深度学习的突破推动语音识别系统从实验室走入日常生活&#xff0c;为智能助手、实时翻译、医…

【MySQL】MySQL 事务和锁详解

一、MySQL 事务 1.1 事务介绍 在 MySQL 中&#xff0c;事务&#xff08;Transaction&#xff09; 是一组不可分割的 SQL 操作序列&#xff0c;这些操作要么全部成功执行&#xff0c;要么全部失败回滚&#xff0c;以此保证数据库操作的完整性和一致性。 事务将数据库从一种一致…

虚拟直线阈值告警人员计数算法暑期应用

智慧人员计数助力暑期&#xff1a;技术赋能安全管理的创新实践一、背景&#xff1a;暑期人流激增下的安全管理挑战暑期是旅游、商业、交通等场景的客流高峰期&#xff0c;人员密集区域易引发踩踏事故、管理混乱等安全隐患。传统人工计数方式效率低、误差大&#xff0c;难以满足…

SQL164 2021年11月每天新用户的次日留存率

SQL164 2021年11月每天新用户的次日留存率 思路 ​找出新用户​&#xff1a;确定每个用户首次活跃的日期&#xff08;即新用户&#xff09; 例如101用户在11月1日首次出现 ​处理跨天活跃​&#xff1a;考虑用户可能跨天活跃的情况&#xff08;in_time和out_time不在同一天&a…

基于单片机的数字电压表设计

2 系统原理及基本框图 如图2.1所示&#xff0c;模拟电压经过档位切换到不同的分压电路衰减后&#xff0c;经隔离干扰送到A/D转换器进行A/D转换&#xff0c;然后送到单片机中进行数据处理。处理后的数据送到LCD中显示&#xff0c;同时通过串行通讯与上位机通信。图2.1系统基本方…

[NLP]UPF基本语法及其在 native low power verification中的典型流程

UPF基本语法及其在 native low power verification中的典型流程 摘要:本文首先简要介绍 UPF(Unified Power Format),然后解释其在 native low power verification(原生低功耗验证)中的典型流程。最后,我将使用50个具体例子来完整展示 UPF 的关键语法。这些例子基…

fish-speech 在50系列显卡使用 --compile加速兼容

#环境说明 GPU: NVIDIA GeForce RTX 5080 Laptop GPU (sm_120) win11家庭版 24H2 #问题汇总 baize.exceptions.HTTPException: (500, "RuntimeError: ptxas failed with error code 4294967295: \\n\\n") 问题汇总 1 baize.exceptions.HTTPException: (500, "…

UI自动化测试实战

Python接口自动化测试零基础入门到精通&#xff08;2025最新版&#xff09;一、设计背景 随着IT行业的发展&#xff0c;产品愈渐复杂&#xff0c;web端业务及流程更加繁琐&#xff0c;目前UI测试仅是针对单一页面&#xff0c;操作量大。为了满足多页面功能及流程的需求及节省工…

面试实战,问题六,被问数据库索引,怎么回答

Java开发面试&#xff1a;数据库索引的原理及常见问题解答 在Java开发面试中&#xff0c;数据库索引是核心知识点&#xff0c;涉及数据库优化和性能调优。索引通过高效的数据结构加速数据检索&#xff0c;降低磁盘IO成本&#xff0c;并支持排序操作。下面我将逐步解释索引的原理…

ARM-I2C硬实现

硬件I2C-GD32F4系列的实现初始化操作在初始化函数里执行以下代码uint32_t i2cx_scl_port_rcu RCU_GPIOB; uint32_t i2cx_scl_port GPIOB; uint32_t i2cx_scl_pin GPIO_PIN_6; uint32_t i2cx_scl_af GPIO_AF_4;uint32_t i2cx_sda_port_rcu RCU_GPIOB; uint32_t i2cx_sda_po…