Démystifier l’assistant LLM local : une innovation dans l’écosystème Salesforce
Dans le monde de la technologie, l’innovation est souvent le résultat d’expérimentations et de réflexions approfondies. Récemment, un développeur a créé un assistant basé sur des modèles de langage de grande taille (LLM) qui fonctionne localement sur un ordinateur, intégrant ainsi les données de Salesforce pour produire des réponses contextuelles. Cet article explore les caractéristiques de cet assistant, son fonctionnement, ainsi que les défis rencontrés lors de son développement.
Les caractéristiques de l’assistant LLM local
Cet assistant est conçu pour offrir une interface de discussion familière tout en utilisant les enregistrements de Salesforce pour fournir un contexte pertinent. Voici quelques fonctionnalités clés :
– Supporte plusieurs modèles : Il est compatible avec n’importe quel modèle open-source de la plateforme Pico, tels que Gemma, Llama ou Phi, selon les capacités de RAM de l’ordinateur.
– Accès à un enregistrement unique : Lorsqu’il est intégré à une page d’enregistrement, l’assistant peut générer des réponses basées sur les valeurs des champs de cet enregistrement.
– Prise en charge des enregistrements connexes : L’assistant peut interroger et incorporer des informations provenant d’enregistrements connexes pour enrichir ses réponses.
– Configurable : Les utilisateurs peuvent ajuster les options de génération, comme la limite de tokens de complétion, la température et le top P, via une fenêtre de configuration.
Comment cela fonctionne
Du point de vue de l’utilisateur, le processus est simple :
1. Upload d’un modèle : L’utilisateur choisit et charge un modèle de son choix.
2. Sélection d’un prompt système : Un prompt système enregistré peut être sélectionné facilement.
3. Saisie d’un prompt utilisateur : L’utilisateur écrit sa requête dans une zone de texte redimensionnable.
4. Accès aux enregistrements Salesforce : Les utilisateurs peuvent sélectionner des champs ou des enregistrements connexes à interroger.
5. Ajustement des options de génération : Les options de génération peuvent être modifiées selon les besoins.
6. Génération d’un résultat : Le modèle chargé produit une réponse en tenant compte de l’historique de la conversation.
Qu’est-ce que Pico LLM ?
Pico LLM est une solution développée pour rendre l’exécution de modèles de langage plus efficace sur des machines locales. Grâce à une technique de compression innovante, il permet aux développeurs d’exécuter des LLM dans leurs navigateurs, sans avoir à recourir à des services tiers. L’infrastructure utilise un SDK JavaScript qui supporte tous les navigateurs modernes, permettant ainsi une large accessibilité.
Défis rencontrés lors du développement
Le développement de cet assistant a présenté plusieurs défis techniques.
– Limitations des web workers : La nécessité d’utiliser des web workers pour le traitement parallèle a conduit à des complications, car leur utilisation n’est pas autorisée dans les composants LWC. Cependant, l’utilisation d’une page Visualforce a permis de contourner ce problème en exécutant le code Pico LLM dans un iframe.
– Utilisation des enregistrements Salesforce pour le contexte : Initialement, l’intégration des enregistrements dans le prompt n’a pas donné les résultats escomptés. Après plusieurs tentatives infructueuses, le développeur a découvert que l’ordre des éléments dans le prompt était crucial. En plaçant le contexte avant le prompt utilisateur, l’assistant a pu générer des réponses pertinentes.
Performance et efficacité
Les tests de performance de l’assistant ont été réalisés sur plusieurs machines, mettant en évidence l’importance de la vitesse de la mémoire RAM dans le chargement des modèles. Des résultats surprenants ont montré que des machines avec une mémoire plus rapide pouvaient surpasser des processeurs plus puissants en matière de temps de chargement des modèles et de génération de réponses.
L’utilisation potentielle d’un GPU pour améliorer l’efficacité des réponses est envisageable, mais n’a pas encore été testée, en raison de la disponibilité limitée de la VRAM nécessaire.
Exploration des possibilités futures
L’assistant développé représente un pas en avant dans l’intégration des modèles de langage au sein de l’écosystème Salesforce. En utilisant des données localement, il offre des avantages significatifs en matière de sécurité des données et de réactivité. Les applications potentielles sont vastes, allant de l’automatisation de la génération de contenu à l’assistance intelligente. Alors que ce projet continue de se développer, il ouvre la voie à de nouvelles innovations dans le domaine des assistants basés sur l’IA.
L’exploration de ces technologies est essentielle pour rester compétitif dans un paysage technologique en constante évolution. Les défis rencontrés tout au long de ce parcours témoignent de la complexité et du potentiel de l’IA, renforçant l’idée que l’innovation est un voyage continu.
