Faits: Faits: A. I._, ressortissant du Kosovo né le 1er septembre 1965, se trouve en détention préventive depuis le 10 février 2000 sous la prévention d'infraction grave à la loi fédérale sur les stupéfiants (LStup). Il est soupçonné d'avoir participé à un trafic de drogue portant sur une grosse quantité, en raison notamment de ses liens avec M._, arrêté le même jour en possession de 7 kilos d'héroïne. Le 17 avril 2001, le Juge d'instruction de l'arrondissement de Lausanne (ci-après: le Juge d'instruction) a rejeté une demande de mise en liberté sous caution, considérant que le risque de fuite persistait, que le rapport de synthèse de la police devait être prochainement déposé et que c'est sur la base de ce document qu'une libération sous caution versée par son ancien employeur, l'entreprise O._, pourrait être examinée, sous réserve de l'origine des fonds d'une telle caution. Le Tribunal d'accusation du Tribunal cantonal vaudois (ci-après: le Tribunal d'accusation) a confirmé cette décision au terme d'un arrêt rendu le 25 avril 2001 en motivant son prononcé par l'absence au dossier des éléments de fait propres à apprécier l'éventualité d'une libération sous caution. Statuant le 18 juin 2001 sur un recours de droit public de I._, le Tribunal fédéral a confirmé cet arrêt en précisant qu'il ne suffisait pas au prévenu de demander sa libération sous caution, mais qu'il lui appartenait de fournir d'emblée et spontanément toutes indications sur ses liens avec son ancien employeur et d'inviter ce dernier à préciser le montant qu'il était prêt à fournir en garantie. Le Juge d'instruction a entendu A._, administrateur de la société O._, en date du 5 juillet 2001; celui-ci a déclaré que I._ était employé au sein de l'entreprise en qualité de manoeuvre depuis environ une année au moment de son arrestation, qu'il était considéré comme un bon employé et que, par conséquent, la société était prête à le reprendre aux mêmes conditions de salaire « pour autant qu'il ne soit pas établi qu'il ait commis quelque chose de grave » et à participer au paiement d'une caution. Le Juge d'instruction a entendu A._, administrateur de la société O._, en date du 5 juillet 2001; celui-ci a déclaré que I._ était employé au sein de l'entreprise en qualité de manoeuvre depuis environ une année au moment de son arrestation, qu'il était considéré comme un bon employé et que, par conséquent, la société était prête à le reprendre aux mêmes conditions de salaire « pour autant qu'il ne soit pas établi qu'il ait commis quelque chose de grave » et à participer au paiement d'une caution. B. Le 14 septembre 2001, I._ a déposé une nouvelle requête de mise en liberté provisoire moyennant le dépôt d'une caution de 10'000 fr. par la société O._, sous la forme d'une avance sur salaire, remboursable mensuellement à hauteur de 6'000 fr. par année. Le Juge d'instruction a rejeté cette requête le 27 septembre 2001 au motif que la caution proposée ne constituait pas une garantie suffisante au regard de la ténuité des liens unissant le prévenu à son employeur. Par arrêt du 25 avril 2001, le Tribunal d'accusation a rejeté le recours formé contre cette décision par I._. Il a considéré en substance que le montant de 10'000 fr. offert en garantie par l'ancien employeur du prévenu n'était pas suffisant en soi pour assurer la comparution de ce dernier à l'audience eu égard à la lourde peine à laquelle il s'expose. Il a par ailleurs estimé que la détention subie à ce jour n'était pas disproportionnée, compte tenu de la gravité des charges. Par arrêt du 25 avril 2001, le Tribunal d'accusation a rejeté le recours formé contre cette décision par I._. Il a considéré en substance que le montant de 10'000 fr. offert en garantie par l'ancien employeur du prévenu n'était pas suffisant en soi pour assurer la comparution de ce dernier à l'audience eu égard à la lourde peine à laquelle il s'expose. Il a par ailleurs estimé que la détention subie à ce jour n'était pas disproportionnée, compte tenu de la gravité des charges. C. Agissant par la voie du recours de droit public, I._ demande au Tribunal fédéral d'annuler cet arrêt et d'ordonner sa libération immédiate, subsidiairement sous caution. Il reproche au Tribunal d'accusation d'avoir violé les art. 69 du Code de procédure pénale vaudois (CPP/VD) et 5 § 3 CEDH en considérant que les conditions d'une libération sous caution n'étaient pas réunies. Il prétend en outre que sa détention serait disproportionnée. Il requiert l'assistance judiciaire. Le Juge d'instruction a renoncé à se déterminer. Le Tribunal d'accusation se réfère aux considérants de son arrêt.