Citation: 1B_136/2007 19.07.2007 E. B

Agissant par la voie du recours en matière pénale, A.________ demande au Tribunal fédéral principalement de réformer cet arrêt et d'ordonner sa mise en liberté immédiate assortie de l'obligation de suivre un traitement auprès de l'unité socio-éducative du Centre de traitement en alcoologie, à Lausanne, dans le but d'une abstinence à l'alcool, et de l'interdiction de prendre contact, de quelque manière que ce soit, avec B.________. Il conclut subsidiairement à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité inférieure pour nouvelle décision dans le sens des considérants. Il requiert l'assistance judiciaire. Le Tribunal d'accusation, le Procureur général du canton de Vaud et le Juge d'instruction cantonal ont renoncé à déposer des observations.