药物推荐是人工智能在医疗保健方面的一项基本任务。现有的工作集中于仅根据电子健康记录为复杂健康状况的患者推荐药物组合。因此,它们有以下局限性:(1)一些重要的数据,如药物分子结构,在推荐过程中没有得到利用。(2)药物-药物相互作用(DDI)模型是隐式的,可能导致次优结果。为了解决这些限制,我们提出了一个DDI可控的药物推荐模型,名为SafeDrug,以充分利用药物的分子结构和DDIs模型。SafeDrug包含一个全局消息传递神经网络(MPNN)模块和一个局部双部学习模块来完全编码药物分子的连通性和功能。SafeDrug还具有可控损失功能,可有效控制推荐联合用药中的DDI水平。在一个基准数据集上,我们的SafeDrug相对显示降低了19.43%的DDI,推荐和实际处方药物组合的Jaccard相似性比以前的方法提高了2.88%。此外,SafeDrug需要的参数也比以前的基于深度学习的方法少得多,从而使训练速度提高约14%,推理速度提高约2倍。