{"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\/pt\/ai-in-action-enhancing-and-not-replacing-jobs\/","title":{"rendered":"IA em a\u00e7\u00e3o: Aprimorando e n\u00e3o substituindo empregos"},"content":{"rendered":"<h2><span style=\"font-weight: 400;\">Parte 1 - Criando com a Vonage e o Couchbase para transformar a comunica\u00e7\u00e3o e os dados<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Vamos imaginar uma mudan\u00e7a de paradigma na forma como percebemos o papel da IA no local de trabalho. Em vez de a IA substituir fun\u00e7\u00f5es, o que aconteceria se ela viesse para aprimorar o trabalho das pessoas nessas mesmas fun\u00e7\u00f5es? Em outras palavras, em vez de temer que a IA torne os empregos redundantes, usamos a IA para melhorar nossos pr\u00f3prios fluxos de trabalho e nos tornarmos mais produtivos.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Isso parece exagerado? N\u00e3o precisa ser.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nesta s\u00e9rie de postagens em duas partes do blog, vamos descobrir como aproveitar a precis\u00e3o e a clareza da pesquisa vetorial para criar uma experi\u00eancia de suporte ao cliente que capacite os agentes de suporte. O resultado final ser\u00e1 melhorar sua efic\u00e1cia, n\u00e3o substitu\u00ed-los.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Por que focar nos agentes de suporte ao cliente? Bem, porque eles, mais frequentemente do que muitas outras fun\u00e7\u00f5es, passam o dia inteiro precisando acessar grandes quantidades de conhecimento em uma ampla variedade de t\u00f3picos e alternar entre os t\u00f3picos de forma r\u00e1pida e eficiente. Eles precisam fazer tudo isso e, ao mesmo tempo, manter a simpatia e a acessibilidade com os clientes que est\u00e3o entrando em contato com eles, muitas vezes em um estado de ang\u00fastia. Os agentes de suporte ao cliente fazem esse trabalho todos os dias.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Poder\u00edamos criar uma experi\u00eancia para eles que lhes fornecesse acesso a um contexto \u00fatil com mais rapidez e menos esfor\u00e7o para cada ticket de cliente em que estivessem trabalhando? Sim, e \u00e9 exatamente isso que vamos fazer.<\/span><\/p>\n<hr \/>\n<p><b><i>tl;dr Caso queira pular direto para a implementa\u00e7\u00e3o, voc\u00ea pode encontrar um exemplo totalmente funcional desse aplicativo em <\/i><\/b><a href=\"https:\/\/github.com\/hummusonrails\/whatsapp_support_app\"><b><i>GitHub<\/i><\/b><\/a><b><i> juntamente com instru\u00e7\u00f5es detalhadas do README.<\/i><\/b><\/p>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/part2-ai-in-action-enhancing-and-not-replacing-jobs\/\">Pule para a Parte 2 aqui<\/a>.<\/p>\n<hr \/>\n<p><span style=\"font-weight: 400;\">Aqui est\u00e1 o que vamos construir juntos -\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Um aplicativo Ruby on Rails que permite que os agentes de suporte ao 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;\">Receber e responder aos clientes no painel do aplicativo via WhatsApp<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Veja as respostas de consultas resolvidas anteriormente que se relacionam com o t\u00edquete aberto atual para fornecer um contexto cr\u00edtico<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Marque os t\u00edquetes como resolvidos e adicione a resposta resolvida \u00e0 base de conhecimento para contextualizar futuras consultas dos clientes<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Tudo isso ser\u00e1 desenvolvido usando tr\u00eas servi\u00e7os:<\/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;\">Um banco de dados como servi\u00e7o (DBaaS) totalmente gerenciado para armazenar informa\u00e7\u00f5es de usu\u00e1rios e t\u00edquetes, juntamente com as incorpora\u00e7\u00f5es de vetores que representam a base de conhecimento das solu\u00e7\u00f5es resolvidas<\/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 mensagens da Vonage<\/span><\/a><span style=\"font-weight: 400;\">A API de comunica\u00e7\u00e3o multicanal que permite conversas bidirecionais no WhatsApp, SMS, Facebook Messenger e outros provedores<\/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 incorpora\u00e7\u00e3o da OpenAI<\/span><\/a><span style=\"font-weight: 400;\">O OpenAI oferece um servi\u00e7o que converte os dados fornecidos em representa\u00e7\u00f5es vetoriais desses dados para permitir a pesquisa vetorial<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">N\u00e3o tem certeza do que \u00e9 pesquisa vetorial e incorpora\u00e7\u00e3o vetorial? D\u00ea uma olhada em <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-vector-search-in-5-minutes\/\"><span style=\"font-weight: 400;\">esta postagem do blog<\/span><\/a><span style=\"font-weight: 400;\"> que explica tudo e como come\u00e7ar em 5 minutos. Quando terminar de l\u00ea-lo, volte aqui e continue a jornada!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pronto para come\u00e7ar a construir? Vamos a isso!<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Andaimes do aplicativo Rails<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">A primeira etapa de qualquer novo aplicativo Rails come\u00e7a com o amado <\/span><i><span style=\"font-weight: 400;\">trilhos novos<\/span><\/i><span style=\"font-weight: 400;\"> no terminal, e este projeto n\u00e3o \u00e9 diferente.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">V\u00e1 em frente e inicialize um novo aplicativo executando o seguinte em sua linha de comando:<\/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;\">Esse comando criar\u00e1 um aplicativo Rails totalmente novo com <a href=\"https:\/\/tailwindcss.com\">TailwindCSS<\/a> instalado. Usaremos o Tailwind para estilizar o frontend do aplicativo.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Em seguida, quando o comando terminar de ser executado, mude para o novo diret\u00f3rio e vamos instalar as depend\u00eancias adicionais de que precisaremos, ou seja, o Vonage Ruby SDK, o Couchbase Ruby ORM e um popular Ruby OpenAI SDK:<\/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;\">Neste ponto, v\u00e1 em frente e execute <\/span><i><span style=\"font-weight: 400;\">instala\u00e7\u00e3o do pacote<\/span><\/i><span style=\"font-weight: 400;\"> para instalar essas depend\u00eancias.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agora, vamos criar o inicializador para os clientes Vonage e OpenAI em nosso aplicativo:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">toque em config\/initializers\/vonage.rb\r\ntoque em config\/initializers\/openai.rb<\/pre>\n<p><span style=\"font-weight: 400;\">Enquanto estivermos criando arquivos no diret\u00f3rio config, vamos adicionar tamb\u00e9m o arquivo de configura\u00e7\u00e3o em que definiremos nossas configura\u00e7\u00f5es de conex\u00e3o com o Couchbase:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">toque em config\/couchbase.yml<\/pre>\n<p><span style=\"font-weight: 400;\">Depois de criarmos os arquivos para os inicializadores, podemos criar os arquivos que conter\u00e3o nossos futuros Models e Controllers:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">toque em app\/controllers\/messages_controller.rb\r\ntoque em app\/controllers\/dashboard_controller.rb\r\ntoque em app\/models\/ticket.rb\r\ntoque em app\/models\/user.rb\r\ntoque em app\/models\/agent.rb\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">Os \u00fanicos arquivos que ainda precisam ser criados neste momento s\u00e3o as exibi\u00e7\u00f5es de front-end, que ser\u00e3o criadas mais tarde no arquivo <\/span><strong>Cria\u00e7\u00e3o do front-end para o aplicativo<\/strong><span style=\"font-weight: 400;\"> se\u00e7\u00e3o.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nesse ponto, sua estrutura de arquivos deve ser parecida com esta, incluindo tamb\u00e9m todos os arquivos padr\u00e3o do Rails que n\u00e3o s\u00e3o mencionados abaixo:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">whatsapp_support_app\/\r\n    aplicativo\/\r\n        controladores\/\r\n            controlador_aplicativo.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            user.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        application.rb\r\n        environment.rb\r\n        rotas.rb\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">A \u00faltima parte que adicionaremos neste momento \u00e9 um arquivo para armazenar nossas credenciais e outras informa\u00e7\u00f5es confidenciais que n\u00e3o queremos verificar no Git ou disponibilizar publicamente:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">toque em .env<\/pre>\n<p><span style=\"font-weight: 400;\">Com esse \u00faltimo arquivo, estamos prontos para seguir em frente e criar nossa conta do Couchbase Capella, nosso cluster e nosso bucket para armazenar dados de t\u00edquetes e usu\u00e1rios.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Configura\u00e7\u00e3o do Couchbase Capella<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">O Capella \u00e9 um banco de dados como servi\u00e7o (DBaaS) totalmente gerenciado, oferecido a voc\u00ea pelo Couchbase. Ele oferece uma plataforma de dados completa para ajudar a atender a muitas de suas necessidades, desde o armazenamento em cache at\u00e9 a pesquisa de texto completo e a an\u00e1lise de big data com <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/products\/analytics\/\"><span style=\"font-weight: 400;\">Colunar<\/span><\/a><span style=\"font-weight: 400;\">. Para este aplicativo, vamos aproveitar o banco de dados de documentos JSON da Capella, juntamente com seus recursos de pesquisa vetorial.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cada documento hospedado no Capella ser\u00e1 um <\/span><b>ingresso<\/b><span style=\"font-weight: 400;\"> ou um <\/span><b>usu\u00e1rio<\/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>usu\u00e1rio<\/b><span style=\"font-weight: 400;\"> O documento conter\u00e1 o n\u00famero de telefone do WhatsApp para o qual o usu\u00e1rio enviou a mensagem.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A <\/span><b>ingresso<\/b><span style=\"font-weight: 400;\"> O documento ter\u00e1 a consulta original, a ID do usu\u00e1rio que fez a consulta, o status do t\u00edquete (ou <\/span><b>aberto<\/b><span style=\"font-weight: 400;\"> ou <\/span><b>resolvido<\/b><span style=\"font-weight: 400;\">), eventualmente um resumo da solu\u00e7\u00e3o e a incorpora\u00e7\u00e3o do vetor que representa a solu\u00e7\u00e3o.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Tamb\u00e9m vamos criar um <\/span><b>\u00edndice de pesquisa vetorial<\/b><span style=\"font-weight: 400;\"> que permitir\u00e1 que o aplicativo pesquise nos embeddings hospedados nos documentos do ticket as semelhan\u00e7as com o ticket em que o agente est\u00e1 trabalhando no momento.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Criar uma conta Capella<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">A primeira etapa \u00e9 criar uma conta Capella gratuita. Para isso, navegue at\u00e9 <\/span><a href=\"https:\/\/cloud.couchbase.com\/sign-up\"><span style=\"font-weight: 400;\">cloud.couchbase.com<\/span><\/a><span style=\"font-weight: 400;\"> e inscreva-se com sua conta do Google ou do GitHub ou crie uma conta usando uma combina\u00e7\u00e3o de e-mail e senha.<\/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;\">Isso \u00e9 tudo o que \u00e9 necess\u00e1rio para criar uma conta! Agora que voc\u00ea tem sua conta, pode criar seu cluster. Um cluster, caso voc\u00ea n\u00e3o esteja familiarizado com a terminologia, \u00e9 semelhante a um servidor de banco de dados. Vamos l\u00e1!<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Criar um cluster<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">O Capella trabalha em um ambiente de v\u00e1rias nuvens, o que significa que voc\u00ea tem a liberdade de escolher implantar seu cluster no AWS, GCP ou Azure. Tudo o que voc\u00ea precisa fazer \u00e9 clicar em qual deles prefere e o Capella, nos bastidores, cuida do resto para voc\u00ea.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Na p\u00e1gina inicial da sua conta, depois de fazer login, clique em <\/span><b>+ Criar banco de dados<\/b><span style=\"font-weight: 400;\"> no canto superior direito e preencha os detalhes, ou seja, o nome que voc\u00ea escolheu para ele. Se ainda n\u00e3o tiver um nome escolhido, talvez voc\u00ea <\/span><i><span style=\"font-weight: 400;\">cluster de suporte ao whatsapp<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Quando estiver pronto, clique no bot\u00e3o final <\/span><b>Criar banco de dados<\/b><span style=\"font-weight: 400;\"> e deixe que o Capella fa\u00e7a o resto do trabalho para voc\u00ea.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agora voc\u00ea tem um cluster, ou seja, um banco de dados. A pr\u00f3xima etapa \u00e9 adicionar um bucket para armazenar seus dados. Um bucket \u00e9 semelhante a uma tabela de banco de dados, com diferen\u00e7as significativas. Como voc\u00ea est\u00e1 trabalhando com dados JSON n\u00e3o estruturados e semiestruturados, um \u00fanico bucket pode conter diversos tipos de dados.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Criar um balde<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Agora que voc\u00ea est\u00e1 na exibi\u00e7\u00e3o do painel do Capella para o seu cluster, ver\u00e1 outro <\/span><b>+ Criar<\/b><span style=\"font-weight: 400;\"> no canto superior esquerdo. Depois de clicar no bot\u00e3o, voc\u00ea poder\u00e1 criar seu primeiro balde 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;\">Vamos nomear o balde <\/span><i><span style=\"font-weight: 400;\">whatsapp_support_bucket<\/span><\/i><span style=\"font-weight: 400;\"> e certifique-se de clicar no bot\u00e3o <\/span><b>usar _default gerado pelo sistema para escopo e cole\u00e7\u00e3o<\/b><span style=\"font-weight: 400;\"> caixa de sele\u00e7\u00e3o.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agora, adicione o nome do bucket ao seu <\/span><b>.env<\/b><span style=\"font-weight: 400;\"> que voc\u00ea criou anteriormente, assim:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">COUCHBASE_BUCKET=nome_do_seu_bucket<\/pre>\n<p><span style=\"font-weight: 400;\">Com seu bucket criado, a \u00faltima coisa que faremos neste momento \u00e9 criar suas credenciais de acesso e obter sua string de conex\u00e3o Capella.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Criar credenciais de acesso<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Para interagir com seus dados no Capella a partir do seu aplicativo, voc\u00ea precisa conhecer a string de conex\u00e3o e criar credenciais de acesso. A string de conex\u00e3o pode ser encontrada clicando no \u00edcone <\/span><b>Conectar<\/b><span style=\"font-weight: 400;\"> na barra de navega\u00e7\u00e3o superior do painel. V\u00e1 em frente e adicione-o \u00e0 se\u00e7\u00e3o <\/span><b>.env<\/b><span style=\"font-weight: 400;\"> que voc\u00ea criou anteriormente em sua base de c\u00f3digo, assim:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">COUCHBASE_CONNECTION_STRING=sua_string_de_conex\u00e3o<\/pre>\n<p><span style=\"font-weight: 400;\">Para adicionar credenciais de acesso, navegue at\u00e9 essa p\u00e1gina em suas configura\u00e7\u00f5es do Capella, conforme mostrado abaixo, e clique no bot\u00e3o <\/span><b>+ Criar acesso ao banco de dados<\/b><span style=\"font-weight: 400;\"> bot\u00e3o. Voc\u00ea fornecer\u00e1 um nome e uma senha e clicar\u00e1 em salvar. Certifique-se de adicionar imediatamente as credenciais ao seu <\/span><b>.env <\/b><span style=\"font-weight: 400;\">pois voc\u00ea n\u00e3o poder\u00e1 acessar a senha novamente depois disso:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">COUCHBASE_USERNAME=seu_nome_de_usu\u00e1rio\r\nCOUCHBASE_PASSWORD=sua_senha<\/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;\">Depois de criar suas credenciais, a configura\u00e7\u00e3o do Capella est\u00e1 praticamente conclu\u00edda! A \u00faltima etapa \u00e9 criar o \u00edndice de pesquisa de vetores, que voc\u00ea pode seguir conforme as etapas descritas<\/span> <a href=\"https:\/\/www.bengreenberg.dev\/blog\/blog_add-vector-search-to-your-astro-blog_1716508800000\"><span style=\"font-weight: 400;\">nesta postagem<\/span><\/a><span style=\"font-weight: 400;\"> para fazer isso.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Neste ponto, voc\u00ea est\u00e1 pronto para configurar o provedor de servi\u00e7os da API do WhatsApp que alimentar\u00e1 as conversas no aplicativo. Para nosso provedor de servi\u00e7os, usaremos a API Vonage Messages.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Usando a API de mensagens da Vonage<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">A Vonage oferece um conjunto de APIs de comunica\u00e7\u00e3o que abrange quase todos os aspectos das intera\u00e7\u00f5es modernas, de SMS a chamadas telef\u00f4nicas e chatbots. A API que usaremos para este aplicativo \u00e9 a <\/span><b>API de mensagens<\/b><span style=\"font-weight: 400;\"> e oferece comunica\u00e7\u00f5es multicanal em uma \u00fanica API para Facebook Messenger, WhatsApp, Viber, SMS e MMS.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">N\u00f3s o usaremos por seus recursos do WhatsApp, nos quais voc\u00ea pode enviar e receber mensagens do WhatsApp de forma program\u00e1tica.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A configura\u00e7\u00e3o da funcionalidade do WhatsApp para uso em produ\u00e7\u00e3o exige v\u00e1rias etapas da Meta, como a cria\u00e7\u00e3o de uma conta comercial do WhatsApp. Os detalhes sobre o que \u00e9 isso e as etapas para faz\u00ea-lo s\u00e3o explicados na se\u00e7\u00e3o <\/span><a href=\"https:\/\/developer.vonage.com\/en\/messages\/concepts\/whatsapp\"><span style=\"font-weight: 400;\">Documenta\u00e7\u00e3o da Vonage<\/span><\/a><span style=\"font-weight: 400;\">e voc\u00ea \u00e9 incentivado a ler mais sobre isso l\u00e1.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">No entanto, s\u00f3 porque voc\u00ea ainda n\u00e3o tem uma conta comercial do Meta WhatsApp, n\u00e3o significa que n\u00e3o possa criar e testar a funcionalidade! Entre em cena a sandbox da API do Vonage Messages. Com a sandbox, voc\u00ea pode autenticar seu n\u00famero de celular pessoal para enviar e receber mensagens do WhatsApp de forma program\u00e1tica. Isso permite que voc\u00ea crie seu aplicativo de forma robusta enquanto aguarda a aprova\u00e7\u00e3o da sua conta comercial do Meta WhatsApp.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agora que entendemos um pouco do contexto, vamos criar uma conta de APIs da Vonage.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Criar uma conta Vonage<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Para criar uma conta Vonage, navegue at\u00e9 <a href=\"https:\/\/dashboard.vonage.com\">painel de controle.vonage.com<\/a> e clique em <strong>registrar-se<\/strong>. \u00c9 gratuito criar uma conta e come\u00e7ar a construir com as v\u00e1rias APIs.<\/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;\">Agora que voc\u00ea tem sua conta, est\u00e1 pronto para configurar o sandbox da API Messages!<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Configurar o Sandbox da API do Vonage Messages<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Conforme explicado acima, a sandbox \u00e9 excelente para testar e criar prot\u00f3tipos de seu aplicativo. Ela permite que voc\u00ea envie e receba mensagens de um n\u00famero de telefone pr\u00e9-configurado da Vonage e de um n\u00famero de telefone pessoal aprovado.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Para configurar a sandbox da API do Vonage Messages, voc\u00ea precisar\u00e1 enviar uma mensagem para o n\u00famero de telefone pr\u00e9-configurado do Vonage fornecido. O painel o guiar\u00e1 pelo processo, fornecendo um c\u00f3digo QR, um link e um n\u00famero de telefone direto para o qual enviar uma mensagem. Ele tamb\u00e9m compartilhar\u00e1 a mensagem exata a ser enviada para o n\u00famero. Voc\u00ea pode optar por usar qualquer um dos m\u00e9todos para enviar a mensagem.<\/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;\">Depois de enviar a mensagem, voc\u00ea ter\u00e1 configurado com \u00eaxito seu n\u00famero de telefone pessoal para receber e responder a mensagens da sandbox da API do Vonage Messages.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Voc\u00ea notar\u00e1 o espa\u00e7o na configura\u00e7\u00e3o da sandbox para fornecer URLs para mensagens de webhook de entrada e de status. A maneira pela qual voc\u00ea recebe novas mensagens do WhatsApp da API \u00e9 por meio de um webhook, portanto, voc\u00ea precisa ter um URL acess\u00edvel externamente para fornecer o acesso ao webhook. Existem ferramentas populares dispon\u00edveis que podem expor seu <\/span><b>localhost<\/b><span style=\"font-weight: 400;\"> para a Internet e fornecem a voc\u00ea um URL externo, entre eles o ngrok.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Usar o ngrok \u00e9 t\u00e3o simples quanto instal\u00e1-lo em seu computador e, em seguida, executar <\/span><i><span style=\"font-weight: 400;\">ngrok http 3000<\/span><\/i><span style=\"font-weight: 400;\"> em uma janela de terminal separada. Neste exemplo, o comando recebe dois 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;\">O servi\u00e7o a ser exposto - <\/span><b>http<\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A porta em que o servidor localhost est\u00e1 sendo executado - <\/span><b>3000<\/b><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Siga a <\/span><a href=\"https:\/\/ngrok.com\/docs\/getting-started\/\"><span style=\"font-weight: 400;\">Guia de in\u00edcio r\u00e1pido<\/span><\/a><span style=\"font-weight: 400;\"> do ngrok com instru\u00e7\u00f5es sobre como instalar o ngrok em seu computador, dependendo se voc\u00ea estiver usando Mac, Linux ou Windows.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Definir as vari\u00e1veis de ambiente do Vonage<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Como voc\u00ea adicionou seus detalhes do Capella ao seu <\/span><i><span style=\"font-weight: 400;\">.env <\/span><\/i><span style=\"font-weight: 400;\">agora voc\u00ea adicionar\u00e1 seus detalhes do Vonage ao mesmo arquivo. Ou seja, voc\u00ea precisa adicionar sua chave e segredo da API e o n\u00famero de telefone pr\u00e9-configurado da Vonage fornecido a voc\u00ea na sandbox.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">V\u00e1 em frente e abra o <\/span><i><span style=\"font-weight: 400;\">.env <\/span><\/i><span style=\"font-weight: 400;\">e adicione o seguinte:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">VONAGE_API_KEY=sua_chave_de_api_do_vonage\r\nVONAGE_API_SECRET=seu_vonage_api_secret\r\nVONAGE_FROM_NUMBER=seu_vonage_from_number\r\n<\/pre>\n<p><span style=\"font-weight: 400;\">Agora que voc\u00ea configurou o Capella e o Vonage, a \u00faltima etapa da configura\u00e7\u00e3o inicial \u00e9 criar uma conta da API do OpenAI e adicionar sua chave da API do OpenAI \u00e0 sua conta do <\/span><i><span style=\"font-weight: 400;\">.env<\/span><\/i><span style=\"font-weight: 400;\"> arquivo.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Primeiros passos com a API OpenAI Embeddings<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Antes de criarmos uma conta no OpenAI, vamos entender por que estamos usando o OpenAI e o que \u00e9 uma incorpora\u00e7\u00e3o. Para que todos saibam, n\u00e3o se trata de uma vis\u00e3o abrangente das incorpora\u00e7\u00f5es vetoriais e do que elas fazem. Em vez disso, considere esta apenas uma breve vis\u00e3o geral para equip\u00e1-lo para criar o aplicativo.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Uma incorpora\u00e7\u00e3o de vetor \u00e9 uma matriz de n\u00fameros que representa matematicamente uma parte dos dados. Esses dados podem ser um texto, uma imagem, um \u00e1udio ou um v\u00eddeo. Existem diferentes algoritmos que geram esses embeddings, cada um deles projetado para capturar v\u00e1rios aspectos dos dados de forma a torn\u00e1-los \u00fateis para os modelos de aprendizado de m\u00e1quina.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Por exemplo, no contexto do texto, uma incorpora\u00e7\u00e3o captura o significado sem\u00e2ntico de palavras ou frases, permitindo que a IA compreenda as rela\u00e7\u00f5es entre os conceitos al\u00e9m da simples correspond\u00eancia de palavras-chave. Essas incorpora\u00e7\u00f5es tornam-se os blocos de constru\u00e7\u00e3o de tarefas como sistemas de pesquisa, classifica\u00e7\u00e3o e recomenda\u00e7\u00e3o, pois permitem que as m\u00e1quinas processem e comparem dados complexos com efici\u00eancia. Ao usar os modelos avan\u00e7ados da OpenAI, podemos gerar embeddings de alta qualidade que permitir\u00e3o que nosso aplicativo execute fun\u00e7\u00f5es avan\u00e7adas, como correspond\u00eancia de similaridade de conte\u00fado, que \u00e9 exatamente o que ele deve fazer quando busca respostas resolvidas anteriormente para dar suporte aos agentes em seus tickets atuais.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agora, vamos prosseguir com a configura\u00e7\u00e3o de sua conta OpenAI para que possamos come\u00e7ar a criar.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Criar uma conta OpenAI<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Para criar uma conta, acesse <a href=\"https:\/\/platform.openai.com\">platform.openai.com<\/a> e inscreva-se com suas credenciais do Google, da Microsoft ou da Apple, ou crie uma conta usando uma combina\u00e7\u00e3o de e-mail e senha.<\/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;\">Agora que voc\u00ea tem sua conta, tudo o que precisa fazer \u00e9 criar e copiar sua chave de API.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Criar chave de API da OpenAI<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Depois de ter uma conta, voc\u00ea pode navegar at\u00e9 <\/span><a href=\"https:\/\/platform.openai.com\/api-keys\"><span style=\"font-weight: 400;\">platform.openai.com\/api-keys<\/span><\/a><span style=\"font-weight: 400;\"> e crie uma nova chave de API clicando no bot\u00e3o <\/span><b>+ Criar nova chave secreta<\/b><span style=\"font-weight: 400;\"> na parte superior direita da 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;\">Da mesma forma que suas outras credenciais, voc\u00ea precisa salvar imediatamente a chave, pois n\u00e3o ser\u00e1 poss\u00edvel visualiz\u00e1-la novamente no painel ap\u00f3s esse momento. Dessa forma, adicione-a \u00e0 pasta <\/span><i><span style=\"font-weight: 400;\">.env<\/span><\/i><span style=\"font-weight: 400;\"> assim:<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">OPENAI_API_KEY=sua_chave_de_api<\/pre>\n<p><span style=\"font-weight: 400;\">\u00c9 isso a\u00ed! Neste ponto, voc\u00ea tem todos os seus servi\u00e7os externos definidos e configurados. Agora voc\u00ea est\u00e1 pronto para criar seu aplicativo. Vamos em frente!<\/span><\/p>\n<h3>Para continuar...<\/h3>\n<p><span style=\"font-weight: 400;\">No <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/part2-ai-in-action-enhancing-and-not-replacing-jobs\/\">segunda parte desta s\u00e9rie de duas partes<\/a>Em seguida, criaremos a l\u00f3gica comercial do aplicativo e o executaremos pela primeira vez. N\u00e3o deixe de conferir <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/part2-ai-in-action-enhancing-and-not-replacing-jobs\/\">segunda parte<\/a> para continuar sua jornada.<\/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>","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"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\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\/pt\/ai-in-action-enhancing-and-not-replacing-jobs\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\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\/pt\/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\":\"pt-BR\",\"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\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/c9bda12524045d12a5878a2ef3fbe0de\",\"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\/pt\/author\/bengreenberg\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AI in Action: Enhancing and Not Replacing Jobs - The Couchbase Blog","description":"Crie um aplicativo Ruby on Rails integrando Vonage, Couchbase e OpenAI para suporte ao cliente, melhorando os fluxos de trabalho do agente com pesquisa vetorial e 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\/pt\/ai-in-action-enhancing-and-not-replacing-jobs\/","og_locale":"pt_BR","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\/pt\/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":"pt-BR","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":"Crie um aplicativo Ruby on Rails integrando Vonage, Couchbase e OpenAI para suporte ao cliente, melhorando os fluxos de trabalho do agente com pesquisa vetorial e WhatsApp.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/ai-in-action-enhancing-and-not-replacing-jobs\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@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":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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, desenvolvedor s\u00eanior evangelista","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/c9bda12524045d12a5878a2ef3fbe0de","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\/pt\/author\/bengreenberg\/"}]}},"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"},"author_category":"","last_name":"Greenberg, Senior Developer Evangelist","first_name":"Ben","job_title":"Senior Developer Evangelist","user_url":"","description":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/16427","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/85356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=16427"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/16427\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/16435"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=16427"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=16427"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=16427"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=16427"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}