En Q2BSTUDIO, empresa líder en desarrollo y servicios tecnológicos, hemos explorado el uso de Modelos de Lenguaje de Gran Escala (LLM) dentro de Salesforce y el resultado ha sido el desarrollo de un componente innovador. Este componente integra una interfaz de chat capaz de utilizar registros de Salesforce como contexto, funcionando completamente de manera local en el equipo del usuario, lo que garantiza la privacidad de los datos sin depender de servicios de terceros.
El concepto de agentes en Salesforce, como Agentforce, nos inspiró a desarrollar este asistente. Mientras los agentes pueden tomar decisiones y ejecutar acciones, los asistentes procesan información de manera reactiva. Si bien consideramos posible construir un agente local con Pico LLM, implicaba un esfuerzo sustancial. Por ello, decidimos enfocarnos en un asistente eficiente e integrado.
Características principales:
- Compatibilidad con múltiples modelos. Soporta cualquier modelo de código abierto de Pico, como Gemma, Llama o Phi, dependiendo de la memoria RAM disponible en el dispositivo.
- Acceso a registros individuales. Al estar en una página de registro, el componente obtiene contexto basado en los valores de los campos.
- Uso de registros relacionados. Permite consultar información adicional de registros relacionados para enriquecer las respuestas.
- Configuración en tiempo real. La configuración del componente es dinámica y permite ajustar parámetros como límite de tokens, temperatura y top P.
El funcionamiento desde la perspectiva del usuario es simple: se sube un modelo, se selecciona un mensaje de sistema, se eligen registros de Salesforce, se introduce la consulta y se generan respuestas en tiempo real.
Pico LLM permite la ejecución eficiente de modelos en un navegador gracias a su técnica de compresión, optimizando el uso de memoria y ancho de banda. En nuestro caso, logramos integrar esta tecnología dentro de Salesforce usando un iframe en una página Visualforce. Este enfoque nos permitió superar las restricciones de los Web Workers en Lightning Web Components (LWC).
Durante el desarrollo, enfrentamos distintos desafíos, especialmente con la optimización del procesamiento local. Uno de los aspectos más interesantes fue la correcta estructuración del contexto dentro del prompt. Inicialmente, los modelos no usaban los registros de Salesforce de manera efectiva, hasta que descubrimos que reorganizar la estructura del mensaje resolvía el problema.
En términos de rendimiento, las pruebas demostraron que la velocidad de carga inicial del modelo depende en gran medida de la velocidad de la memoria RAM. Asimismo, la generación de respuestas es rápida, casi equiparable a soluciones en la nube. Aunque no hemos explorado completamente el uso de GPU para optimización adicional, está claro que esta tecnología tiene un gran potencial.
En Q2BSTUDIO seguimos explorando nuevas soluciones tecnológicas y optimizando nuestras herramientas para que las empresas puedan aprovechar lo mejor de la inteligencia artificial dentro del ecosistema Salesforce.