Faits: Faits: A. B._, née en 1956, a travaillé en qualité d'ouvrière d'usine. Souffrant notamment de calcification à l'épaule droite ainsi que de douleurs dorsales et lombaires, elle s'est annoncée à l'AI le 23 juin 1999. Dans un rapport du 8 août 2000, la doctoresse B._, spécialiste en médecine interne et en rhumatologie, a fait état de lombalgies chroniques, de périarthropathie des hanches, d'un status après périarthropathie de l'épaule droite et d'hypothyroïdie, ainsi que d'un état anxieux relativement important. A son avis, sa patiente avait une capacité de travail de 50 % dans son métier (pose de décalques). L'Office de l'assurance-invalidité pour le canton de Vaud a mis l'assurée au bénéfice d'une demi-rente d'invalidité à partir du 1er août 2000, fondée sur un degré d'invalidité de 50 %, par décision du 8 juin 2001. Le 28 juin 2001, invoquant une aggravation de son état de santé, l'assurée a présenté une demande de révision de sa rente tendant au versement d'une rente entière. L'Office de l'assurance-invalidité du canton de Neuchâtel (l'office AI), désormais compétent, est entré en matière sur la demande et a confié un mandat d'expertise au docteur O._, spécialiste en rhumatologie. Dans son rapport du 12 février 2002, ce médecin a diagnostiqué des lombalgies chroniques, des douleurs coxo-fémorales, des vertébralgies dorsales et cervicales, un début de fibromyalgie, des douleurs périarticulaires de l'épaule droite, ainsi qu'une dépression modérée à sévère. Selon l'expert, l'assurée conservait une capacité de travail de 50 % dans un emploi d'ouvrière d'usine, à la condition d'éviter les gros efforts et d'alterner les positions debout et assise. Dans un projet de décision du 13 mars 2002, l'office AI a informé l'assurée qu'il envisageait de rejeter sa demande de révision. Par lettre du 8 avril 2002, B._ a allégué que son état de santé psychique s'était fortement dégradé depuis deux ans environ. L'office AI a dès lors mandaté la doctoresse L._, spécialiste en psychiatrie et psychothérapie, à fin d'expertise. L'experte a déposé son rapport le 23 juillet 2002. Elle a relevé, en particulier, que l'assurée présentait une personnalité émotionnellement labile de type borderline, qu'elle souffrait d'un trouble dépressif récurrent, épisode actuel moyen sans syndrome somatique, d'une hypothyroïdie substituée et de fibromyalgie. Selon la doctoresse L._, la capacité de travail de l'assurée sur le plan psychiatrique avait diminué au fil des mois pour atteindre 50 % depuis l'an 2000 environ. Par décision du 3 octobre 2002, l'office AI a rejeté la demande de révision. Par décision du 3 octobre 2002, l'office AI a rejeté la demande de révision. B. B._ a déféré cette décision au Tribunal administratif du canton de Neuchâtel, en concluant principalement à l'allocation d'une rente entière, subsidiairement au renvoi de la cause à l'office AI pour nouvelle décision. Par jugement du 5 juillet 2004, la juridiction cantonale a rejeté le recours. Par jugement du 5 juillet 2004, la juridiction cantonale a rejeté le recours. C. B._ interjette recours de droit administratif contre ce jugement dont elle demande l'annulation, avec suite de dépens, en concluant au renvoi de la cause au Tribunal administratif pour instruction complémentaire et nouveau jugement. Par ailleurs, elle demande au Tribunal fédéral des assurances de dire que la juridiction cantonale a violé le principe de célérité de la procédure. Elle sollicite enfin le bénéfice de l'assistance judiciaire pour la procédure fédérale. L'intimé conclut au rejet du recours dans la mesure où il porte sur le renvoi de la cause à la juridiction cantonale de recours. Il s'en remet à justice pour le surplus. L'Office fédéral des assurances sociales a renoncé à se déterminer. 