{"id":16427,"date":"2024-10-08T18:26:16","date_gmt":"2024-10-09T01:26:16","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=16427"},"modified":"2025-06-13T16:36:39","modified_gmt":"2025-06-13T23:36:39","slug":"ai-in-action-enhancing-and-not-replacing-jobs","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/ai-in-action-enhancing-and-not-replacing-jobs\/","title":{"rendered":"La IA en acci\u00f3n: Mejorar y no sustituir puestos de trabajo"},"content":{"rendered":"<h2><span style=\"font-weight: 400;\">Parte 1 - Construir con Vonage y Couchbase para transformar la comunicaci\u00f3n y los datos<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Imaginemos un cambio de paradigma en la forma en que percibimos el papel de la IA en el lugar de trabajo. En lugar de sustituir funciones, \u00bfqu\u00e9 pasar\u00eda si viniera a mejorar el trabajo de las personas en esas mismas funciones? En otras palabras, en lugar de temer que la IA haga que los puestos de trabajo sean redundantes, la utilizamos para mejorar nuestros propios flujos de trabajo y ser m\u00e1s productivos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00bfLe parece descabellado? No tiene por qu\u00e9 serlo.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En esta serie de entradas de blog en dos partes, vamos a descubrir c\u00f3mo aprovechar la precisi\u00f3n y claridad de la b\u00fasqueda vectorial para construir una experiencia de atenci\u00f3n al cliente que capacite a los agentes de soporte. El resultado final ser\u00e1 mejorar su eficacia, no sustituirlos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00bfPor qu\u00e9 centrarse en los agentes de atenci\u00f3n al cliente? Bueno, porque ellos, m\u00e1s a menudo que muchas otras funciones, pasan todo el d\u00eda necesitando acceder a grandes cantidades de conocimientos sobre una amplia variedad de temas y cambiar de contexto entre temas de forma r\u00e1pida y eficiente. Tienen que hacer todo esto al tiempo que mantienen la amabilidad y la accesibilidad con los clientes que acuden a ellos a menudo en un estado de angustia. Los agentes de atenci\u00f3n al cliente hacen este trabajo d\u00eda tras d\u00eda.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00bfPodr\u00edamos crear una experiencia para ellos que les proporcionara acceso a un contexto \u00fatil m\u00e1s r\u00e1pidamente y con menos esfuerzo por su parte para todas y cada una de las solicitudes de los clientes en las que est\u00e1n trabajando? S\u00ed, y eso es exactamente lo que vamos a hacer.<\/span><\/p>\n<hr \/>\n<p><b><i>tl;dr En caso de que desee pasar directamente a la aplicaci\u00f3n, puede encontrar un ejemplo totalmente funcional de esta aplicaci\u00f3n en <\/i><\/b><a href=\"https:\/\/github.com\/hummusonrails\/whatsapp_support_app\"><b><i>GitHub<\/i><\/b><\/a><b><i> junto con instrucciones detalladas README.<\/i><\/b><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/es\/part2-ai-in-action-enhancing-and-not-replacing-jobs\/\">Saltar a la Parte 2 aqu\u00ed<\/a>.<\/p>\n<hr \/>\n<p><span style=\"font-weight: 400;\">Esto es lo que vamos a construir juntos -\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Una aplicaci\u00f3n Ruby on Rails que permite a los agentes de atenci\u00f3n al cliente:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Recibir y responder a los clientes en el salpicadero de la aplicaci\u00f3n a trav\u00e9s de WhatsApp.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Ver respuestas a consultas resueltas anteriormente que se relacionan con el ticket abierto actual para proporcionar un contexto cr\u00edtico.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Marcar los tickets como resueltos y a\u00f1adir su respuesta resuelta a la base de conocimientos para que sirva de contexto para futuras consultas de los clientes.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Todo ello se construir\u00e1 utilizando tres servicios:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/cloud.couchbase.com\/\"><span style=\"font-weight: 400;\">Couchbase Capella<\/span><\/a><span style=\"font-weight: 400;\">una base de datos como servicio (DBaaS) totalmente gestionada para almacenar informaci\u00f3n sobre usuarios y billetes, junto con las incrustaciones vectoriales que representan la base de conocimientos de las soluciones resueltas<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/developer.vonage.com\/en\/messages\/overview\"><span style=\"font-weight: 400;\">API de mensajes de Vonage<\/span><\/a><span style=\"font-weight: 400;\">una API de comunicaciones multicanal que permite conversaciones bidireccionales en WhatsApp, SMS, Facebook Messenger y otros proveedores.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/platform.openai.com\/docs\/guides\/embeddings\"><span style=\"font-weight: 400;\">API de incrustaci\u00f3n de OpenAI<\/span><\/a><span style=\"font-weight: 400;\">un servicio de OpenAI que convierte los datos proporcionados en representaciones vectoriales de los mismos para permitir la b\u00fasqueda vectorial.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">\u00bfNo sabe qu\u00e9 son la b\u00fasqueda vectorial y las incrustaciones vectoriales? Consulte <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-vector-search-in-5-minutes\/\"><span style=\"font-weight: 400;\">esta entrada del blog<\/span><\/a><span style=\"font-weight: 400;\"> que lo explica todo y c\u00f3mo empezar en 5 minutos. Cuando termines de leerlo, \u00a1vuelve aqu\u00ed y contin\u00faa el viaje!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00bfListo para empezar a construir? Pong\u00e1monos manos a la obra.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Andamiaje de la aplicaci\u00f3n Rails<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">El primer paso para cualquier nueva aplicaci\u00f3n Rails, comienza con el querido <\/span><i><span style=\"font-weight: 400;\">ra\u00edles nuevo<\/span><\/i><span style=\"font-weight: 400;\"> en el terminal, y este proyecto no es diferente.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Sigue adelante e inicializa una nueva aplicaci\u00f3n ejecutando lo siguiente en tu l\u00ednea de comandos:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">rails new whatsapp_support_app -css tailwind<\/pre>\n<p><span style=\"font-weight: 400;\">Este comando crear\u00e1 una nueva aplicaci\u00f3n Rails con <a href=\"https:\/\/tailwindcss.com\">TailwindCSS<\/a> instalado. Utilizaremos Tailwind para el estilo del frontend de la aplicaci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A continuaci\u00f3n, una vez que el comando haya terminado de ejecutarse, cambia al nuevo directorio e instalemos las dependencias adicionales que necesitaremos, a saber, el SDK Ruby de Vonage, el ORM Ruby de Couchbase y un popular SDK OpenAI de Ruby:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">bundle add vonage couchbase-orm ruby-openai<\/pre>\n<p><span style=\"font-weight: 400;\">En este punto, ejecute <\/span><i><span style=\"font-weight: 400;\">instalaci\u00f3n del paquete<\/span><\/i><span style=\"font-weight: 400;\"> para instalar estas dependencias.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ahora, vamos a crear el inicializador para los clientes de Vonage y OpenAI en nuestra aplicaci\u00f3n:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">toca config\/initializers\/vonage.rb\r\ntoca config\/initializers\/openai.rb<\/pre>\n<p><span style=\"font-weight: 400;\">Mientras estamos creando archivos en el directorio config, vamos a a\u00f1adir tambi\u00e9n el archivo de configuraci\u00f3n donde definiremos nuestra configuraci\u00f3n de conexi\u00f3n a Couchbase:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">tocar config\/couchbase.yml<\/pre>\n<p><span style=\"font-weight: 400;\">Una vez que hemos creado los archivos para los inicializadores, podemos crear los archivos para contener nuestros futuros Modelos y Controladores:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">toca app\/controllers\/messages_controller.rb\r\ntocar app\/controllers\/dashboard_controller.rb\r\ntoca app\/models\/ticket.rb\r\ntouch aplicaci\u00f3n\/modelos\/usuario.rb\r\ntouch aplicaci\u00f3n\/modelos\/agente.rb\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">Los \u00fanicos archivos que quedan por crear en este punto son las vistas frontales, que crearemos m\u00e1s adelante en la secci\u00f3n <\/span><strong>Creaci\u00f3n de la interfaz de la aplicaci\u00f3n<\/strong><span style=\"font-weight: 400;\"> secci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Llegados a este punto, la estructura de archivos deber\u00eda parecerse a esto, incluyendo tambi\u00e9n todos los archivos est\u00e1ndar de Rails que no se mencionan a continuaci\u00f3n:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">whatsapp_support_app\/\r\n    app\/\r\n        controllers\/\r\n            application_controller.rb\r\n            messages_controller.rb\r\n            dashboard_controller.rb\r\n        modelos\/\r\n            application_record.rb\r\n            ticket.rb\r\n            usuario.rb\r\n            agente.rb\r\n    config\/\r\n        inicializadores\/\r\n            vonage.rb\r\n            openai.rb\r\n        couchbase.yml\r\n        aplicaci\u00f3n.rb\r\n        entorno.rb\r\n        rutas.rb\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">Lo \u00faltimo que a\u00f1adiremos en este punto es un archivo para guardar nuestras credenciales y otra informaci\u00f3n confidencial que no queramos consultar en Git ni hacer p\u00fablica:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">tocar .env<\/pre>\n<p><span style=\"font-weight: 400;\">Con este \u00faltimo archivo, ya estamos listos para seguir adelante y crear nuestra cuenta de Couchbase Capella, nuestro cluster y nuestro bucket para guardar los datos de tickets y usuarios.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Configuraci\u00f3n de Couchbase Capella<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Capella es una base de datos como servicio (DBaaS) totalmente gestionada que ofrece Couchbase. Ofrece una plataforma de datos completa que te ayudar\u00e1 a satisfacer muchas de tus necesidades, desde el almacenamiento en cach\u00e9 hasta la b\u00fasqueda de texto completo y el an\u00e1lisis de big data. <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/analytics\/\"><span style=\"font-weight: 400;\">Columnar<\/span><\/a><span style=\"font-weight: 400;\">. Para esta aplicaci\u00f3n, vamos a aprovechar la base de datos de documentos JSON de Capella junto con sus capacidades de b\u00fasqueda vectorial.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cada documento alojado en Capella ser\u00e1 un <\/span><b>billete<\/b><span style=\"font-weight: 400;\"> o un <\/span><b>usuario<\/b>:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A <\/span><b>usuario<\/b><span style=\"font-weight: 400;\"> contendr\u00e1 el n\u00famero de tel\u00e9fono de WhatsApp con el que el usuario envi\u00f3 el mensaje.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A <\/span><b>billete<\/b><span style=\"font-weight: 400;\"> tendr\u00e1 la consulta original, el ID del usuario que realiz\u00f3 la consulta, el estado del ticket (ya sea <\/span><b>abra<\/b><span style=\"font-weight: 400;\"> o <\/span><b>resuelto<\/b><span style=\"font-weight: 400;\">), eventualmente un resumen de la soluci\u00f3n, y la incrustaci\u00f3n vectorial que representa la soluci\u00f3n.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Tambi\u00e9n vamos a crear un <\/span><b>\u00edndice de b\u00fasqueda vectorial<\/b><span style=\"font-weight: 400;\"> que permitir\u00e1 a la aplicaci\u00f3n buscar en las incrustaciones alojadas en los documentos del ticket similitudes con el ticket en el que un agente est\u00e1 trabajando en ese momento.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Crear una cuenta Capella<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">El primer paso es crear una cuenta gratuita en Capella. Para ello, vaya a <\/span><a href=\"https:\/\/cloud.couchbase.com\/sign-up\"><span style=\"font-weight: 400;\">nube.couchbase.com<\/span><\/a><span style=\"font-weight: 400;\"> y reg\u00edstrate con tu cuenta de Google o GitHub o crea una cuenta utilizando una combinaci\u00f3n de correo electr\u00f3nico y contrase\u00f1a.<\/span><\/p>\n<p><a href=\"https:\/\/cloud.couchbase.com\/sign-up\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16409 size-large\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/capella-cloud-dbaas-couchbase-signup-free-1024x835.png\" alt=\"\" width=\"900\" height=\"734\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/capella-cloud-dbaas-couchbase-signup-free-1024x835.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/capella-cloud-dbaas-couchbase-signup-free-300x245.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/capella-cloud-dbaas-couchbase-signup-free-768x626.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/capella-cloud-dbaas-couchbase-signup-free-1536x1252.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/capella-cloud-dbaas-couchbase-signup-free-2048x1670.png 2048w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/capella-cloud-dbaas-couchbase-signup-free-1320x1076.png 1320w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">\u00a1Eso es todo lo que se necesita para crear una cuenta! Ahora que ya tienes tu cuenta, puedes crear tu cl\u00faster. Un cl\u00faster, en caso de que no est\u00e9s familiarizado con la terminolog\u00eda, es similar a un servidor de base de datos. \u00a1Manos a la obra!<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Crear un cl\u00faster<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Capella trabaja en un entorno multicloud, lo que significa que tiene la libertad de elegir desplegar su cl\u00faster en AWS, GCP o Azure. Todo lo que tiene que hacer es seleccionar la que prefiera y Capella, entre bastidores, se encargar\u00e1 del resto por usted.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">En la p\u00e1gina de inicio de su cuenta, despu\u00e9s de conectarse, haga clic en el bot\u00f3n <\/span><b>+ Crear base de datos<\/b><span style=\"font-weight: 400;\"> en la esquina superior derecha y rellene los datos, es decir, el nombre que ha elegido para \u00e9l. Si a\u00fan no ha elegido un nombre, tal vez <\/span><i><span style=\"font-weight: 400;\">cluster_soporte_sapp<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cuando est\u00e9 listo, haga clic en el bot\u00f3n final <\/span><b>Crear base de datos<\/b><span style=\"font-weight: 400;\"> y deja que Capella haga el resto del trabajo por ti.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ahora tiene un cl\u00faster, es decir, una base de datos. El siguiente paso es a\u00f1adir un bucket para almacenar los datos. Un bucket es similar a una tabla de base de datos, con diferencias significativas. Puesto que estamos trabajando con datos JSON no estructurados y semiestructurados, un \u00fanico bucket puede contener diversos tipos de datos.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Crear un cubo<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Ahora que se encuentra en la vista del cuadro de mandos de Capella para su cl\u00faster, ver\u00e1 otro <\/span><b>+ Crear<\/b><span style=\"font-weight: 400;\"> en la esquina superior izquierda. Una vez que haga clic en el bot\u00f3n, tendr\u00e1 la posibilidad de crear su primer cubo de Capella.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-16428\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image4-1-1024x653.png\" alt=\"\" width=\"900\" height=\"574\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image4-1-1024x653.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image4-1-300x191.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image4-1-768x490.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image4-1-1536x980.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image4-1-1320x842.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image4-1.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pongamos nombre al cubo <\/span><i><span style=\"font-weight: 400;\">whatsapp_support_bucket<\/span><\/i><span style=\"font-weight: 400;\"> y aseg\u00farese de hacer clic en el bot\u00f3n <\/span><b>utilizar _default generado por el sistema para el \u00e1mbito y la colecci\u00f3n<\/b><span style=\"font-weight: 400;\"> casilla de verificaci\u00f3n.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ahora, a\u00f1ade el nombre del cubo a tu <\/span><b>.env<\/b><span style=\"font-weight: 400;\"> que ha creado anteriormente:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">COUCHBASE_BUCKET=nombre_de_tu_cubo<\/pre>\n<p><span style=\"font-weight: 400;\">Con su cubo creado, lo \u00faltimo que haremos en este punto es crear sus credenciales de acceso y obtener su cadena de conexi\u00f3n Capella.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Crear credenciales de acceso<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Para interactuar con sus datos en Capella desde su aplicaci\u00f3n, necesita conocer la cadena de conexi\u00f3n y crear las credenciales de acceso. La cadena de conexi\u00f3n se puede encontrar haciendo clic en el bot\u00f3n <\/span><b>Conectar<\/b><span style=\"font-weight: 400;\"> en la barra de navegaci\u00f3n superior del panel de control. Siga adelante y a\u00f1adir que a la <\/span><b>.env<\/b><span style=\"font-weight: 400;\"> que cre\u00f3 anteriormente en su c\u00f3digo base de esta manera:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">COUCHBASE_CONNECTION_STRING=su_cadena_de_conexi\u00f3n<\/pre>\n<p><span style=\"font-weight: 400;\">Para a\u00f1adir credenciales de acceso, navegue hasta esta p\u00e1gina en la configuraci\u00f3n de Capella como se muestra a continuaci\u00f3n y haga clic en el bot\u00f3n <\/span><b>+ Crear acceso a base de datos<\/b><span style=\"font-weight: 400;\"> bot\u00f3n . Introduzca un nombre y una contrase\u00f1a y haga clic en Guardar. Aseg\u00farese de a\u00f1adir inmediatamente las credenciales a su <\/span><b>.env <\/b><span style=\"font-weight: 400;\">ya que despu\u00e9s de esto no podr\u00e1s volver a acceder a la contrase\u00f1a:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">COUCHBASE_USERNAME=su_nombre_de_usuario\r\nCOUCHBASE_PASSWORD=su_contrase\u00f1a<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-16429\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image8-1024x820.png\" alt=\"\" width=\"900\" height=\"721\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image8-1024x820.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image8-300x240.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image8-768x615.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image8-1536x1230.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image8-1320x1057.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image8.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Despu\u00e9s de crear sus credenciales, la configuraci\u00f3n de Capella est\u00e1 casi completa. El \u00faltimo paso consiste en crear el \u00edndice de b\u00fasqueda de vectores, para lo cual puede seguir los pasos que se indican a continuaci\u00f3n<\/span> <a href=\"https:\/\/www.bengreenberg.dev\/blog\/blog_add-vector-search-to-your-astro-blog_1716508800000\"><span style=\"font-weight: 400;\">en este post<\/span><\/a><span style=\"font-weight: 400;\"> para hacerlo.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Llegados a este punto, ya puedes pasar a configurar el proveedor de servicios de la API de WhatsApp que impulsar\u00e1 las conversaciones en la aplicaci\u00f3n. Para nuestro proveedor de servicios, utilizaremos la API de mensajes de Vonage.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Uso de la API de mensajes de Vonage<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Vonage ofrece un conjunto de API de comunicaciones que cubren casi todos los aspectos de las interacciones modernas, desde SMS hasta llamadas telef\u00f3nicas y chatbots. La API que utilizaremos para esta aplicaci\u00f3n es la <\/span><b>API de mensajes<\/b><span style=\"font-weight: 400;\"> y ofrece comunicaciones multicanal en una \u00fanica API para Facebook Messenger, WhatsApp, Viber, SMS y MMS.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Lo utilizaremos por sus funciones de WhatsApp, en las que se pueden enviar y recibir mensajes de WhatsApp mediante programaci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">La configuraci\u00f3n de la funcionalidad de WhatsApp para su uso en producci\u00f3n requiere varios pasos por parte de Meta, concretamente la creaci\u00f3n de una cuenta de WhatsApp para empresas. Los detalles sobre qu\u00e9 es esto y los pasos para hacerlo se explican en el <\/span><a href=\"https:\/\/developer.vonage.com\/en\/messages\/concepts\/whatsapp\"><span style=\"font-weight: 400;\">Documentaci\u00f3n de Vonage<\/span><\/a><span style=\"font-weight: 400;\">y le animamos a leer m\u00e1s al respecto.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Sin embargo, el hecho de que a\u00fan no tengas una cuenta empresarial de Meta WhatsApp no significa que no puedas crear y probar la funcionalidad. Entra en escena el sandbox de la API de mensajes de Vonage. Con el sandbox, puedes autenticar tu n\u00famero de m\u00f3vil personal para enviar y recibir mensajes de WhatsApp mediante programaci\u00f3n. Esto te permite desarrollar tu aplicaci\u00f3n de forma s\u00f3lida mientras esperas la aprobaci\u00f3n de tu cuenta comercial de Meta WhatsApp.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ahora que entendemos un poco el contexto, sigamos adelante y creemos una cuenta de API de Vonage.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Crear una cuenta de Vonage<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Para crear una cuenta de Vonage, ve a <a href=\"https:\/\/dashboard.vonage.com\">salpicadero.vonage.com<\/a> y haga clic en <strong>inscr\u00edbase en<\/strong>. Crear una cuenta y empezar a construir con las distintas API es gratis.<\/span><\/p>\n<p><a href=\"https:\/\/dashboard.vonage.com\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16430 size-large\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image7-1024x761.png\" alt=\"\" width=\"900\" height=\"669\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image7-1024x761.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image7-300x223.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image7-768x571.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image7-1536x1141.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image7-1320x981.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image7.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Ahora que ya tienes tu cuenta, est\u00e1s listo para configurar el sandbox de la API de mensajes.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Configurar el entorno de pruebas de la API de mensajes de Vonage<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Como se explic\u00f3 anteriormente, el sandbox es excelente para probar y crear prototipos de tu aplicaci\u00f3n. Te permite enviar y recibir mensajes desde un n\u00famero de tel\u00e9fono preconfigurado de Vonage y un n\u00famero de tel\u00e9fono personal aprobado.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para configurar el sandbox de la API de mensajes de Vonage, deber\u00e1s enviar un mensaje al n\u00famero de tel\u00e9fono preconfigurado de Vonage provisto. El panel te guiar\u00e1 a trav\u00e9s del proceso al proporcionarte un c\u00f3digo QR, un enlace y un n\u00famero de tel\u00e9fono directo al que enviar un mensaje. Tambi\u00e9n compartir\u00e1 el mensaje exacto para enviar al n\u00famero. Puedes elegir usar cualquiera de los m\u00e9todos para enviar el mensaje.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-16431\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-3-656x1024.png\" alt=\"\" width=\"656\" height=\"1024\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-3-656x1024.png 656w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-3-192x300.png 192w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-3-768x1199.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-3-984x1536.png 984w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-3-300x469.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image1-3.png 1280w\" sizes=\"auto, (max-width: 656px) 100vw, 656px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Una vez que env\u00edes el mensaje, habr\u00e1s configurado correctamente tu n\u00famero de tel\u00e9fono personal para recibir y responder mensajes desde el sandbox de la API de mensajes de Vonage.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Observar\u00e1s que en la configuraci\u00f3n del sandbox hay espacio para proporcionar URLs tanto para los mensajes entrantes como para los mensajes de webhook de estado. La forma de recibir nuevos mensajes de WhatsApp desde la API es a trav\u00e9s de un webhook, por lo que es necesario disponer de una URL accesible desde el exterior para que el webhook pueda acceder a ella. Hay herramientas populares disponibles que pueden exponer su <\/span><b>localhost<\/b><span style=\"font-weight: 400;\"> a Internet y le proporcionan una URL externa, entre ellos se encuentra ngrok.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Utilizar ngrok es tan sencillo como instalarlo en tu m\u00e1quina y ejecutar <\/span><i><span style=\"font-weight: 400;\">ngrok http 3000<\/span><\/i><span style=\"font-weight: 400;\"> en una ventana de terminal independiente. En este ejemplo, el comando recibe dos argumentos:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">El servicio a exponer - <\/span><b>http<\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">El puerto en el que se ejecuta el servidor localhost - <\/span><b>3000<\/b><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Siga las <\/span><a href=\"https:\/\/ngrok.com\/docs\/getting-started\/\"><span style=\"font-weight: 400;\">Gu\u00eda de inicio r\u00e1pido<\/span><\/a><span style=\"font-weight: 400;\"> de ngrok con instrucciones sobre c\u00f3mo instalar ngrok en su m\u00e1quina dependiendo de si utiliza Mac, Linux o Windows.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Definir las variables de entorno de Vonage<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Como has ido a\u00f1adiendo tus datos de Capella a tu <\/span><i><span style=\"font-weight: 400;\">.env <\/span><\/i><span style=\"font-weight: 400;\">ahora agregar\u00e1s tus detalles de Vonage al mismo archivo. Es decir, debes agregar tu clave y secreto de API y el n\u00famero de tel\u00e9fono preconfigurado de Vonage que se te proporcion\u00f3 en el sandbox.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Abra el <\/span><i><span style=\"font-weight: 400;\">.env <\/span><\/i><span style=\"font-weight: 400;\">y a\u00f1ada lo siguiente:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">VONAGE_API_KEY=tu_clave_api_de_vonage\r\nVONAGE_API_SECRET=su_vonage_api_secret\r\nVONAGE_FROM_NUMBER=su_n\u00famero_de_vonage\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">Ahora que ya has configurado tanto Capella como Vonage, el \u00faltimo paso de la configuraci\u00f3n inicial es crear una cuenta de API de OpenAI y a\u00f1adir tu clave de API de OpenAI a tus <\/span><i><span style=\"font-weight: 400;\">.env<\/span><\/i><span style=\"font-weight: 400;\"> archivo.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Introducci\u00f3n a la API de incrustaci\u00f3n de OpenAI<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Antes de crear una cuenta OpenAI, vamos a tomarnos un momento para entender por qu\u00e9 estamos utilizando OpenAI y lo que es una incrustaci\u00f3n. Esto no pretende ser una visi\u00f3n exhaustiva de las incrustaciones vectoriales y lo que hacen. M\u00e1s bien, considere esto s\u00f3lo un breve resumen para equiparlo para construir la aplicaci\u00f3n.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Una incrustaci\u00f3n vectorial es una matriz de n\u00fameros que representa matem\u00e1ticamente un dato. Esos datos pueden ser texto, una imagen, audio o v\u00eddeo. Hay diferentes algoritmos que generan estas incrustaciones, cada uno dise\u00f1ado para capturar diversos aspectos de los datos de forma que resulten \u00fatiles para los modelos de aprendizaje autom\u00e1tico.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Por ejemplo, en el contexto del texto, una incrustaci\u00f3n capta el significado sem\u00e1ntico de las palabras o frases, lo que permite a la IA comprender las relaciones entre conceptos m\u00e1s all\u00e1 de la simple coincidencia de palabras clave. Estas incrustaciones se convierten en los componentes b\u00e1sicos de tareas como los sistemas de b\u00fasqueda, clasificaci\u00f3n y recomendaci\u00f3n, ya que permiten a las m\u00e1quinas procesar y comparar datos complejos de forma eficaz. Utilizando los potentes modelos de OpenAI, podemos generar incrustaciones de alta calidad que permitir\u00e1n a nuestra aplicaci\u00f3n realizar funciones avanzadas como la comparaci\u00f3n de similitudes de contenido, que es exactamente lo que se pretende que haga cuando busca respuestas resueltas previamente para ayudar a los agentes en sus tickets actuales.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ahora, vamos a proceder con la configuraci\u00f3n de su cuenta OpenAI para que podamos empezar a construir.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Crear una cuenta OpenAI<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Para crear una cuenta, visite <a href=\"https:\/\/platform.openai.com\">plataforma.openai.com<\/a> y reg\u00edstrate con tus credenciales de Google, Microsoft o Apple, o crea una cuenta utilizando una combinaci\u00f3n de correo electr\u00f3nico y contrase\u00f1a.<\/span><\/p>\n<p><a href=\"https:\/\/platform.openai.com\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16432\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-1-744x1024.png\" alt=\"\" width=\"502\" height=\"690\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-1-744x1024.png 744w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-1-218x300.png 218w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-1-768x1056.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-1-300x413.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image2-1.png 1028w\" sizes=\"auto, (max-width: 502px) 100vw, 502px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Ahora que ya tienes tu cuenta, todo lo que tienes que hacer es crear y copiar tu clave API.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Crear clave API OpenAI<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Una vez que tenga una cuenta, puede navegar a <\/span><a href=\"https:\/\/platform.openai.com\/api-keys\"><span style=\"font-weight: 400;\">plataforma.openai.com\/api-keys<\/span><\/a><span style=\"font-weight: 400;\"> y cree una nueva clave API haciendo clic en el icono <\/span><b>+ Crear nueva clave secreta<\/b><span style=\"font-weight: 400;\"> en la parte superior derecha de la p\u00e1gina.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/platform.openai.com\/api-keys\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-16433 size-large\" style=\"border: 1px solid black;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image5-1-1024x554.png\" alt=\"\" width=\"900\" height=\"487\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image5-1-1024x554.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image5-1-300x162.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image5-1-768x415.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image5-1-1536x831.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image5-1-1320x714.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/image5-1.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/span><\/p>\n<p><span style=\"font-weight: 400;\">Al igual que con sus otras credenciales, debe guardar inmediatamente la clave, ya que no podr\u00e1 volver a verla en el panel de control despu\u00e9s de este momento. Para ello, a\u00f1\u00e1dala a la carpeta <\/span><i><span style=\"font-weight: 400;\">.env<\/span><\/i><span style=\"font-weight: 400;\"> as\u00ed:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">OPENAI_API_KEY=su_clave_api<\/pre>\n<p><span style=\"font-weight: 400;\">Ya est\u00e1. En este punto, tienes todos tus servicios externos definidos y configurados. Ahora est\u00e1s listo para construir tu aplicaci\u00f3n. Pong\u00e1monos en marcha.<\/span><\/p>\n<h3>Continuar\u00e1...<\/h3>\n<p><span style=\"font-weight: 400;\">En el <a href=\"https:\/\/www.couchbase.com\/blog\/es\/part2-ai-in-action-enhancing-and-not-replacing-jobs\/\">segunda parte de esta serie en dos partes<\/a>Construiremos la l\u00f3gica de negocio de la aplicaci\u00f3n y ejecutaremos nuestra aplicaci\u00f3n por primera vez. Aseg\u00farese de revisar <a href=\"https:\/\/www.couchbase.com\/blog\/es\/part2-ai-in-action-enhancing-and-not-replacing-jobs\/\">segunda parte<\/a> para continuar su viaje.<\/span><\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Part 1 &#8211; Building with Vonage and Couchbase to transform communication and data Let\u2019s imagine a paradigm shift in the way we perceive the role of AI in the workplace. Instead of AI replacing roles, what if it comes to [&hellip;]<\/p>\n","protected":false},"author":85356,"featured_media":16435,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[10122,1815,2225,9973,9407,2389,9937],"tags":[9974,9964,10039],"ppma_author":[9985],"class_list":["post-16427","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artificial-intelligence-ai","category-best-practices-and-tutorials","category-cloud","category-generative-ai-genai","category-ruby","category-solutions","category-vector-search","tag-genai","tag-openai","tag-vonage"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>AI in Action: Enhancing and Not Replacing Jobs - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Build a Ruby on Rails app integrating Vonage, Couchbase, and OpenAI for customer support, improving agent workflows with vector search and WhatsApp.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/ai-in-action-enhancing-and-not-replacing-jobs\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI in Action: Enhancing and Not Replacing Jobs\" \/>\n<meta property=\"og:description\" content=\"Build a Ruby on Rails app integrating Vonage, Couchbase, and OpenAI for customer support, improving agent workflows with vector search and WhatsApp.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/ai-in-action-enhancing-and-not-replacing-jobs\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-09T01:26:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-13T23:36:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-vonage-whats-app-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ben Greenberg, Senior Developer Evangelist\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ben Greenberg, Senior Developer Evangelist\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/\"},\"author\":{\"name\":\"Ben Greenberg, Senior Developer Evangelist\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/48efa1524aec97312d92f65a270c255d\"},\"headline\":\"AI in Action: Enhancing and Not Replacing Jobs\",\"datePublished\":\"2024-10-09T01:26:16+00:00\",\"dateModified\":\"2025-06-13T23:36:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/\"},\"wordCount\":2563,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/10\\\/blog-vonage-whats-app-1.png\",\"keywords\":[\"GenAI\",\"openai\",\"vonage\"],\"articleSection\":[\"Artificial Intelligence (AI)\",\"Best Practices and Tutorials\",\"Couchbase Capella\",\"Generative AI (GenAI)\",\"Ruby\",\"Solutions\",\"Vector Search\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/\",\"name\":\"AI in Action: Enhancing and Not Replacing Jobs - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/10\\\/blog-vonage-whats-app-1.png\",\"datePublished\":\"2024-10-09T01:26:16+00:00\",\"dateModified\":\"2025-06-13T23:36:39+00:00\",\"description\":\"Build a Ruby on Rails app integrating Vonage, Couchbase, and OpenAI for customer support, improving agent workflows with vector search and WhatsApp.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/10\\\/blog-vonage-whats-app-1.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/10\\\/blog-vonage-whats-app-1.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/ai-in-action-enhancing-and-not-replacing-jobs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI in Action: Enhancing and Not Replacing Jobs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/48efa1524aec97312d92f65a270c255d\",\"name\":\"Ben Greenberg, Senior Developer Evangelist\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/06\\\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpegc9bda12524045d12a5878a2ef3fbe0de\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/06\\\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2024\\\/06\\\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg\",\"caption\":\"Ben Greenberg, Senior Developer Evangelist\"},\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/es\\\/author\\\/bengreenberg\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"La IA en acci\u00f3n: Mejorar y no sustituir puestos de trabajo - El blog de Couchbase","description":"Construye una app Ruby on Rails integrando Vonage, Couchbase y OpenAI para atenci\u00f3n al cliente, mejorando los flujos de trabajo de los agentes con b\u00fasqueda vectorial y WhatsApp.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/ai-in-action-enhancing-and-not-replacing-jobs\/","og_locale":"es_MX","og_type":"article","og_title":"AI in Action: Enhancing and Not Replacing Jobs","og_description":"Build a Ruby on Rails app integrating Vonage, Couchbase, and OpenAI for customer support, improving agent workflows with vector search and WhatsApp.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/ai-in-action-enhancing-and-not-replacing-jobs\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-10-09T01:26:16+00:00","article_modified_time":"2025-06-13T23:36:39+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-vonage-whats-app-1.png","type":"image\/png"}],"author":"Ben Greenberg, Senior Developer Evangelist","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ben Greenberg, Senior Developer Evangelist","Est. reading time":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/"},"author":{"name":"Ben Greenberg, Senior Developer Evangelist","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d"},"headline":"AI in Action: Enhancing and Not Replacing Jobs","datePublished":"2024-10-09T01:26:16+00:00","dateModified":"2025-06-13T23:36:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/"},"wordCount":2563,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-vonage-whats-app-1.png","keywords":["GenAI","openai","vonage"],"articleSection":["Artificial Intelligence (AI)","Best Practices and Tutorials","Couchbase Capella","Generative AI (GenAI)","Ruby","Solutions","Vector Search"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/","url":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/","name":"La IA en acci\u00f3n: Mejorar y no sustituir puestos de trabajo - El blog de Couchbase","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-vonage-whats-app-1.png","datePublished":"2024-10-09T01:26:16+00:00","dateModified":"2025-06-13T23:36:39+00:00","description":"Construye una app Ruby on Rails integrando Vonage, Couchbase y OpenAI para atenci\u00f3n al cliente, mejorando los flujos de trabajo de los agentes con b\u00fasqueda vectorial y WhatsApp.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-vonage-whats-app-1.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/10\/blog-vonage-whats-app-1.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AI in Action: Enhancing and Not Replacing Jobs"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/48efa1524aec97312d92f65a270c255d","name":"Ben Greenberg, Desarrollador Evangelista Senior","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpegc9bda12524045d12a5878a2ef3fbe0de","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","caption":"Ben Greenberg, Senior Developer Evangelist"},"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/bengreenberg\/"}]}},"acf":[],"authors":[{"term_id":9985,"user_id":85356,"is_guest":0,"slug":"bengreenberg","display_name":"Ben Greenberg, Senior Developer Evangelist","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/T024FJS4M-U075H3NTJUR-b4c321d902e2-512.jpeg"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/16427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/85356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=16427"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/16427\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/16435"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=16427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=16427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=16427"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=16427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}