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.

Considérant en droit:
Considérant en droit:
1. La loi fédérale sur la partie générale des assurances sociales (LPGA) du 6 octobre 2000, entrée en vigueur le 1er janvier 2003, n'est pas applicable au présent litige, dès lors que le juge des assurances sociales n'a pas à prendre en considération les modifications du droit ou de l'état de fait postérieures à la date déterminante de la décision litigieuse du 3 octobre 2002 (<ref-ruling> consid. 1.2 et les références).
Selon l'art. 41 LAI, en vigueur jusqu'au 31 décembre 2002, si l'invalidité d'un bénéficiaire de rente se modifie de manière à influencer le droit à la rente, celle-ci est, pour l'avenir, augmentée, réduite ou supprimée. Tout changement important des circonstances, propre à influencer le degré d'invalidité, donc le droit à la rente, peut donner lieu à une révision de celle-ci. Le point de savoir si un tel changement s'est produit doit être tranché en comparant les faits tels qu'ils se présentaient au moment de la décision initiale de rente et les circonstances régnant à l'époque de la décision litigieuse (<ref-ruling> consid. 2 et la référence; voir également <ref-ruling> consid. 2b et 390 consid. 1b).
Selon l'art. 41 LAI, en vigueur jusqu'au 31 décembre 2002, si l'invalidité d'un bénéficiaire de rente se modifie de manière à influencer le droit à la rente, celle-ci est, pour l'avenir, augmentée, réduite ou supprimée. Tout changement important des circonstances, propre à influencer le degré d'invalidité, donc le droit à la rente, peut donner lieu à une révision de celle-ci. Le point de savoir si un tel changement s'est produit doit être tranché en comparant les faits tels qu'ils se présentaient au moment de la décision initiale de rente et les circonstances régnant à l'époque de la décision litigieuse (<ref-ruling> consid. 2 et la référence; voir également <ref-ruling> consid. 2b et 390 consid. 1b).
2. En l'occurrence, il s'agit de déterminer si l'invalidité de la recourante s'est modifiée entre le 8 juin 2001 et le 3 octobre 2002 de manière à influencer son droit à la rente.
2.1 A l'appui de sa décision litigieuse, l'intimé a considéré que les conclusions de l'expertise psychiatrique de la doctoresse L._ corroboraient celles de l'expertise rhumatologique de son confrère O._. En particulier, l'intimé a retenu que les deux experts s'étaient accordés à reconnaître une capacité de travail résiduelle de 50 %, eu égard à l'état de santé global, chaque rapport confirmant ainsi l'autre. Il en a déduit que le degré d'invalidité de la recourante n'avait pas changé au point d'influencer son droit à la demi-rente.
Les premiers juges ont partagé le point de vue de l'administration. Selon eux, le docteur O._ a apprécié les incidences de l'état de santé de la recourante sur sa capacité de travail dans leur ensemble. Son évaluation globale de la situation tenait compte non seulement des affections organiques qu'il avait diagnostiquées, mais également des effets du trouble dépressif et du début de fibromyalgie. Quant à l'expertise psychiatrique, le Tribunal administratif a considéré qu'elle corroborait les conclusions de l'expertise rhumatologique, dès lors que la doctoresse L._ s'était fondée sur l'ensemble des pièces du dossier, au nombre desquelles figurait l'expertise précédemment réalisée par le docteur O._. En conséquence, la juridiction de recours a déduit que le taux de capacité résiduelle de travail de 50 %, attesté dans les deux rapports d'expertise, résultait d'une appréciation globale et que de plus amples investigations ne se justifiaient pas.
La recourante soutient en revanche que les appréciations des experts rhumatologue et psychiatre ne se recoupent pas. A son avis, il ressort du rapport de la doctoresse L._ que les aspects somatiques n'ont joué qu'un rôle très secondaire lors de l'examen diligenté par cette psychiatre. Elle en veut pour preuve que sur les neuf pages qui forment son rapport d'expertise, seul un tiers de page est consacré à ses problèmes dorsaux. Par ailleurs, la recourante allègue que l'expertise psychiatrique est totalement indépendante de l'expertise rhumatologique, car rien n'indique que les démarches des experts ont été coordonnées, à l'exception du dossier AI qui a été communiqué à la doctoresse L._. En pareilles circonstances, la recourante soutient que le Tribunal administratif aurait dû ordonner une expertise pluridisciplinaire (ainsi qu'elle l'avait requis en procédure cantonale), sous peine de violer son droit d'être entendue.
2.2 La comparaison des rapports des rhumatologues B._ (du 8 août 2000) et O._ (du 12 février 2002) ne laisse pas apparaître une aggravation des affections somatiques durant cette période. En effet, la recourante continue de souffrir de lombalgies chroniques, ainsi que de douleurs coxo-fémorales et périarticulaires de l'épaule droite. Le docteur O._ précise à cet égard que le bilan radiologique ne montre pas de péjoration par rapport à l'examen que la doctoresse B._ avait réalisé en 1999. A l'état anxieux qui avait jadis été mis en évidence, le docteur O._ ajoute la présence d'une dépression modérée à sévère, mais il conclut que le taux d'incapacité de travail reste toujours de 50 %.
En comparant ensuite les rapports des doctoresses B._ (du 8 août 2000) et L._ (du 23 juillet 2002), on constate que la prénommée a diagnostiqué plusieurs affections psychiques (une personnalité émotionnellement labile de type borderline, ainsi qu'un trouble dépressif récurrent, épisode actuel moyen sans syndrome somatique) dont sa consoeur rhumatologue n'avait pas fait état en 2000. L'experte psychiatre n'a cependant pas attesté d'aggravation de l'état de santé psychique de la recourante depuis l'an 2000. Quant à l'incapacité de travail sur le plan psychiatrique, la doctoresse L._ a estimé qu'elle avait atteint le taux de 50 % en 2000 et qu'elle perdurait à ce niveau depuis cette année-là.
A l'examen de ces trois rapports médicaux, il apparaît que l'état de santé de la recourante, aussi bien somatique que psychique, ne s'est pas aggravé significativement depuis la décision du 8 juin 2001, ni d'ailleurs depuis le dernier examen médical pratiqué par la doctoresse B._ le 29 juin 2000 (cf. rapport du 8 août 2000). Il était par conséquent superflu, ainsi que la recourante le soutient en vain, de procéder en plus à une évaluation interdisciplinaire de sa capacité de travail. A défaut d'un changement important des circonstances, propre à influencer le degré d'invalidité, les conditions permettant de réviser le droit à la rente, en vertu de l'art. 41 LAI, n'étaient donc pas réalisées.
A l'examen de ces trois rapports médicaux, il apparaît que l'état de santé de la recourante, aussi bien somatique que psychique, ne s'est pas aggravé significativement depuis la décision du 8 juin 2001, ni d'ailleurs depuis le dernier examen médical pratiqué par la doctoresse B._ le 29 juin 2000 (cf. rapport du 8 août 2000). Il était par conséquent superflu, ainsi que la recourante le soutient en vain, de procéder en plus à une évaluation interdisciplinaire de sa capacité de travail. A défaut d'un changement important des circonstances, propre à influencer le degré d'invalidité, les conditions permettant de réviser le droit à la rente, en vertu de l'art. 41 LAI, n'étaient donc pas réalisées.
3. La recourante reproche aussi à la juridiction cantonale de recours d'avoir violé le principe de célérité de la procédure. A son avis, la cause ne présentait pas de difficultés particulières, si bien que le délai qui s'est écoulé entre le dépôt de son recours cantonal (le 4 novembre 2002) et le prononcé du jugement entrepris (le 5 juillet 2004) lui paraît excessif.
3.1 L'art. 29 al. 1 Cst. - qui a succédé à l'art. 4 al. 1 aCst. depuis le 1er janvier 2000 - dispose que toute personne a droit, dans une procédure judiciaire ou administrative, à ce que sa cause soit traitée équitablement et jugée dans un délai raisonnable. A l'instar de l'art. 6 par. 1 CEDH - qui n'offre, à cet égard, pas une protection plus étendue (RCC 1978 p. 325 consid. 2) -, cette disposition consacre le principe de la célérité, autrement dit prohibe le retard injustifié à statuer. L'autorité viole cette garantie constitutionnelle lorsqu'elle ne rend pas la décision qu'il lui incombe de prendre dans le délai prescrit par la loi ou dans un délai que la nature de l'affaire ainsi que toutes les autres circonstances font apparaître comme raisonnable (<ref-ruling> consid. 5 p. 323; <ref-ruling> consid. 1b in fine et c p. 197; <ref-ruling> consid. 3b p. 165; Jörg Paul Müller, Grundrechte in der Schweiz, Berne 1999, p. 505 s.; Georg Müller, Commentaire de la Constitution fédérale, n. 93 ad art. 4 aCst.; Haefliger/Schürmann, Die Europäische Menschenrechtskonvention und die Schweiz, Berne 1999, p. 200 ss).
En droit fédéral des assurances sociales, la procédure de première instance est gouvernée par le principe de célérité. Pour les recours en matière d'AVS/AI, ce principe figurait à l'art. 85 al. 2 let. a LAVS (en corrélation avec l'art. 69 LAI), dans sa teneur en vigueur jusqu'au 31 décembre 2002 (cf. <ref-ruling> consid. 1, 121 V 366 consid. 1b). Ce principe est désormais consacré par l'art. 61 let. a LPGA, en vigueur depuis le 1er janvier 2003. Il exige des cantons que la procédure soit simple et rapide et constitue l'expression d'un principe général du droit des assurances sociales (<ref-ruling> consid. 4b; Ueli Kieser, Das einfache und rasche Verfahren, insbesondere im Sozialversicherungsrecht, in: RSAS 1992 p. 272 ainsi que la note no 28, et p. 278 sv.; Rüedi, Allgemeine Rechtsgrundsätze des Sozialversicherungsprozesses, in: Recht, Staat und Politik am Ende des zweiten Jahrtausends, Festschrift zum 60. Geburtstag von Bundesrat Arnold Koller, Berne 1993, p. 460 ss et les arrêts cités). La procédure judiciaire de première instance est ainsi soumise au principe de célérité, que ce soit devant une autorité cantonale ou devant une autorité fédérale.
L'assuré qui recourt contre une décision a droit à ce que sa cause soit jugée dans un délai raisonnable (art. 29 al. 1 Cst.). En conséquence, l'autorité de recours doit se conformer au principe de célérité, avec les exigences que cela comporte en ce qui concerne les parties au procès (<ref-ruling>16 consid. 1.2, 126 V 249 consid. 4a et les références).
3.2 Le caractère raisonnable de la durée de la procédure s'apprécie en fonction des circonstances particulières de la cause, lesquelles commandent généralement une évaluation globale. Entre autres critères sont notamment déterminants le degré de complexité de l'affaire, l'enjeu que revêt le litige pour l'intéressé ainsi que le comportement de ce dernier et celui des autorités compétentes (<ref-ruling> consid. 2c p. 142; <ref-ruling> consid. 5b p. 325 et les références indiquées). A cet égard, il appartient au justiciable d'entreprendre ce qui est en son pouvoir pour que l'autorité fasse diligence, que ce soit en l'invitant à accélérer la procédure ou en recourant, le cas échéant, pour retard injustifié (<ref-ruling> consid. 2b et c p. 158 s.). Cette obligation s'apprécie toutefois avec moins de rigueur en procédure pénale et administrative (Haefliger/Schürmann, op. cit., p. 203-204; Auer/Malinverni/Hottelier, Droit constitutionnel suisse, vol. II, n. 1243). On ne saurait par ailleurs reprocher à une autorité quelques temps morts; ceux-ci sont inévitables dans une procédure (cf. ATF 124 et 119 précités). Une organisation déficiente ou une surcharge structurelle ne peuvent cependant justifier la lenteur excessive d'une procédure (<ref-ruling> consid. I/4 p. 111; <ref-ruling> consid. 3c p. 165); il appartient en effet à l'Etat d'organiser ses juridictions de manière à garantir aux citoyens une administration de la justice conforme aux règles (<ref-ruling> consid. 3 p. 3; Jörg Paul Müller, op. cit., p. 506 s.; Haefliger/Schürmann, op. cit., p. 204 s.; Auer/Malinverni/Hottelier, op. cit., nos 1244 ss).
3.3 En l'espèce, la recourante a déposé son recours cantonal le 4 novembre 2002. L'intimé a répondu par mémoire du 11 décembre 2002 qui a été communiqué à la recourante le 13 décembre suivant. Le jugement attaqué a été rendu le 5 juillet 2004 et envoyé aux parties le même jour. Durant cette période, aucun acte de procédure n'a été accompli, à l'exception de trois écritures de la recourante qui s'enquerrait de l'état d'avancement de la procédure, ainsi que d'une réponse du Tribunal administratif.
Si l'instruction de l'affaire ne présentait pas de difficultés particulières, elle requérait néanmoins du Tribunal un examen consciencieux de plusieurs avis médicaux, parmi lesquels figuraient deux expertises médicales. En rendant son jugement 20 mois après le dépôt du recours, alors que la cause se trouvait en état d'être jugée depuis 18 1/2 mois environ, la juridiction cantonale n'a pas fait preuve d'un retard injustifié dans le traitement de l'affaire (cf. arrêt non publié O. du 3 février 1999, H 390/98). Le grief est mal fondé.
Si l'instruction de l'affaire ne présentait pas de difficultés particulières, elle requérait néanmoins du Tribunal un examen consciencieux de plusieurs avis médicaux, parmi lesquels figuraient deux expertises médicales. En rendant son jugement 20 mois après le dépôt du recours, alors que la cause se trouvait en état d'être jugée depuis 18 1/2 mois environ, la juridiction cantonale n'a pas fait preuve d'un retard injustifié dans le traitement de l'affaire (cf. arrêt non publié O. du 3 février 1999, H 390/98). Le grief est mal fondé.
4. Les conditions de l'assistance judiciaire gratuite sont réunies. La recourante est cependant rendue attentive au fait qu'elle devra rembourser la caisse du tribunal, si elle devient ultérieurement en mesure de le faire (art. 152 al. 3 OJ).

Par ces motifs, le Tribunal fédéral des assurances prononce:
Par ces motifs, le Tribunal fédéral des assurances prononce:
1. Le recours est rejeté.
1. Le recours est rejeté.
2. Il n'est pas perçu de frais de justice.
2. Il n'est pas perçu de frais de justice.
3. L'assistance judiciaire est accordée à la recourante. Les honoraires de Me Schweizer sont fixés à 2'500 fr. (y compris la taxe sur la valeur ajoutée) et seront supportés par la caisse du tribunal.
3. L'assistance judiciaire est accordée à la recourante. Les honoraires de Me Schweizer sont fixés à 2'500 fr. (y compris la taxe sur la valeur ajoutée) et seront supportés par la caisse du tribunal.
4. Le présent arrêt sera communiqué aux parties, au Tribunal administratif du canton de Neuchâtel et à l'Office fédéral des assurances sociales.
Lucerne, le 29 novembre 2005
Au nom du Tribunal fédéral des assurances
Le Président de la IVe Chambre: Le Greffier: