In this paper, the active fault diagnosis (AFD) problem is investigated for a class of discrete-time stochastic systems. We consider multiple fault modes of the system, and the different types of misdiagnoses of these faults lead to different losses. A novel AFD framework is developed based on the Bayesian minimum risk decision framework. The misdiagnosis risk is derived to characterize the total losses caused by the misdiagnoses of all considered faults. The input is specifically designed to improve diagnosis performance by minimizing the risk of misdiagnosis. Since it is intractable to express the misdiagnosis risk in the closed form, we deduce an upper bound on it to establish a novel input design criterion based on the Bhattacharyya distance. The optimal input signal can be obtained for AFD via concave quadratic programming. For diagnosis performance enhancement and computation simplification purposes, we propose two new semi-online implementation manners of the input design for stochastic systems with and without multi-fault modes switching respectively. Given the optimal input signal and the proposed implementation manner, faults are diagnosed based on the minimum misdiagnosis risk decision principle. The effectiveness and superiority of the proposed AFD method are demonstrated by simulation results on a four-tank system.