Faits: Faits: A. Le 19 octobre 2004, le Juge d'instruction de l'arrondissement du Nord vaudois a décerné un mandat d'arrêt à l'endroit de A._, ressortissant marocain né le 2 juillet 1972, prévenu d'infraction à la loi fédérale sur les stupéfiants, pour s'être livré à un trafic de cocaïne avec son frère B._. Le 14 novembre 2004, A._ a déposé une requête de mise en liberté provisoire que le Juge d'instruction a écartée en raison d'un risque de collusion et d'un danger de fuite. Statuant par arrêt du 26 novembre 2004, le Tribunal d'accusation du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal d'accusation) a rejeté le recours formé contre cette décision prise le 16 novembre 2004. Il a considéré que le risque de collusion justifiait à lui seul le maintien du prévenu en détention préventive, sans qu'il soit nécessaire d'examiner la présence d'un risque de fuite ou de récidive. Il a estimé pour le surplus que la proportionnalité des intérêts en présence était encore respectée, tout en invitant le magistrat instructeur à procéder lui-même et sans délai à l'audition du prévenu afin de préciser de manière détaillée les faits pour lesquels celui-ci a été inculpé. Il l'a également invité à produire au dossier les procès-verbaux d'audition des personnes qui mettaient en cause A._, à interpeller les autorités valaisannes pour déterminer si les faits relatés par C._ ont déjà été jugés et, le cas échéant, à verser au dossier le jugement rendu. Le 14 novembre 2004, A._ a déposé une requête de mise en liberté provisoire que le Juge d'instruction a écartée en raison d'un risque de collusion et d'un danger de fuite. Statuant par arrêt du 26 novembre 2004, le Tribunal d'accusation du Tribunal cantonal du canton de Vaud (ci-après: le Tribunal d'accusation) a rejeté le recours formé contre cette décision prise le 16 novembre 2004. Il a considéré que le risque de collusion justifiait à lui seul le maintien du prévenu en détention préventive, sans qu'il soit nécessaire d'examiner la présence d'un risque de fuite ou de récidive. Il a estimé pour le surplus que la proportionnalité des intérêts en présence était encore respectée, tout en invitant le magistrat instructeur à procéder lui-même et sans délai à l'audition du prévenu afin de préciser de manière détaillée les faits pour lesquels celui-ci a été inculpé. Il l'a également invité à produire au dossier les procès-verbaux d'audition des personnes qui mettaient en cause A._, à interpeller les autorités valaisannes pour déterminer si les faits relatés par C._ ont déjà été jugés et, le cas échéant, à verser au dossier le jugement rendu. B. Agissant par la voie du recours de droit public, A._ demande au Tribunal fédéral d'annuler cet arrêt et d'ordonner sa mise en liberté immédiate. Il invoque une violation des art. 5 al. 3, 9, 10 al. 2 et 29 al. 1 et 2 Cst., des art. 5 § 1 et 3, 6 § 1 CEDH, des art. 9 al. 1 et 3, 14 al. 1 et 2 let. c du Pacte international relatif aux droits civils et politiques (Pacte ONU II), ainsi qu'une application arbitraire de l'art. 59 du Code de procédure pénale vaudois (CPP vaud). Il requiert l'assistance judiciaire gratuite. Le Tribunal d'accusation se réfère aux considérants de son arrêt. Le Procureur général du canton de Vaud conclut au rejet du recours. Le Juge d'instruction n'a pas déposé d'observations.