{"id":2402,"date":"2025-08-28T08:00:00","date_gmt":"2025-08-28T08:00:00","guid":{"rendered":"https:\/\/nuno.digital\/a-pilha-oculta-o-que-todos-os-engenheiros-precisam-saber-sobre-construir-com-llms\/"},"modified":"2025-10-31T23:37:32","modified_gmt":"2025-10-31T23:37:32","slug":"a-pilha-oculta-o-que-todos-os-engenheiros-precisam-saber-sobre-construir-com-llms","status":"publish","type":"post","link":"https:\/\/nuno.digital\/pt-pt\/a-pilha-oculta-o-que-todos-os-engenheiros-precisam-saber-sobre-construir-com-llms\/","title":{"rendered":"A pilha oculta: o que todos os Engenheiros precisam saber sobre construir com LLMs"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"2402\" class=\"elementor elementor-2402 elementor-1340\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7cbcfd6 e-flex e-con-boxed e-con e-parent\" data-id=\"7cbcfd6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-606d9c79 elementor-widget elementor-widget-heading\" data-id=\"606d9c79\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Introdu\u00e7\u00e3o<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7b3f4818 elementor-widget elementor-widget-text-editor\" data-id=\"7b3f4818\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>A Intelig\u00eancia Artificial j\u00e1 n\u00e3o \u00e9 experimental. Est\u00e1 incorporada nos nossos produtos digitais\u2014alimentando recomenda\u00e7\u00f5es, automatizando decis\u00f5es e permitindo experi\u00eancias de utilizador totalmente novas. \u00c0 medida que os sistemas de IA se expandem, tamb\u00e9m cresce o seu impacto. \u00c9 por isso que a Uni\u00e3o Europeia introduziu o <a href=\"https:\/\/digital-strategy.ec.europa.eu\/en\/policies\/regulatory-framework-ai\" target=\"_blank\" rel=\"noopener\">Lei da IA da UE\u2014o primeiro quadro legal<\/a> especificamente concebido para <a href=\"https:\/\/www.ibm.com\/think\/topics\/eu-ai-act\" target=\"_blank\" rel=\"noopener\">regular os riscos da intelig\u00eancia artificial<\/a>.   <\/p><p>Para as equipas de produto e inova\u00e7\u00e3o, <a href=\"https:\/\/www.freshfields.com\/en\/our-thinking\/campaigns\/tech-data-and-ai-the-digital-frontier\/eu-digital-strategy\/artificial-intelligence-act\" target=\"_blank\" rel=\"noopener\">isto n\u00e3o \u00e9 apenas uma quest\u00e3o de conformidade<\/a>\u2014\u00e9 estrat\u00e9gico. As decis\u00f5es que toma hoje em torno do design, implementa\u00e7\u00e3o e monitoriza\u00e7\u00e3o da IA determinar\u00e3o n\u00e3o apenas a sua exposi\u00e7\u00e3o legal, mas tamb\u00e9m a sua capacidade de construir produtos digitais escal\u00e1veis, \u00e9ticos e confi\u00e1veis. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c90acdc e-flex e-con-boxed e-con e-parent\" data-id=\"c90acdc\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3d3485f elementor-widget elementor-widget-heading\" data-id=\"3d3485f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Introdu\u00e7\u00e3o \u2013 porque isto \u00e9 importante agora<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-830bf82 elementor-widget elementor-widget-text-editor\" data-id=\"830bf82\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"3126\" data-end=\"3342\">A r\u00e1pida ado\u00e7\u00e3o de Modelos de Linguagem Grandes (LLMs) est\u00e1 a transformar a engenharia de software. GPT-4, Claude, Mistral e outros j\u00e1 n\u00e3o s\u00e3o apenas APIs de backend \u2014 s\u00e3o <strong data-start=\"3292\" data-end=\"3341\">ambientes de execu\u00e7\u00e3o para l\u00f3gica de linguagem humana<\/strong>. <\/p><p data-start=\"3344\" data-end=\"3603\">No entanto, para a maioria dos engenheiros, o processo entre <strong data-start=\"3393\" data-end=\"3427\">prompt do utilizador e resposta do modelo<\/strong> continua a ser uma caixa negra. Este artigo revela essa pilha oculta: as camadas de ferramentas, fluxos de dados, caching, armazenamentos vetoriais e estrutura UX que alimentam aplica\u00e7\u00f5es inteligentes. <\/p><p data-start=\"3605\" data-end=\"3765\">Se est\u00e1 a implementar funcionalidades alimentadas por GPT, n\u00e3o est\u00e1 apenas a chamar uma API \u2014 est\u00e1 a criar uma <strong data-start=\"3701\" data-end=\"3718\">experi\u00eancia de IA<\/strong>. \u00c9 hora de compreender o sistema por detr\u00e1s. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5d7801a0 e-flex e-con-boxed e-con e-parent\" data-id=\"5d7801a0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4d2860d9 elementor-widget elementor-widget-heading\" data-id=\"4d2860d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">O que acontece entre um prompt e uma resposta?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b9a684f elementor-widget elementor-widget-text-editor\" data-id=\"5b9a684f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"3826\" data-end=\"3894\">Quando um utilizador introduz texto, ocorre uma quantidade surpreendente de computa\u00e7\u00e3o:<\/p><ol data-start=\"3896\" data-end=\"4126\"><li data-start=\"3896\" data-end=\"3932\"><p data-start=\"3899\" data-end=\"3932\">O frontend captura a entrada do utilizador.<\/p><\/li><li data-start=\"3933\" data-end=\"3980\"><p data-start=\"3936\" data-end=\"3980\">Contexto ou documentos opcionais s\u00e3o recuperados.<\/p><\/li><li data-start=\"3981\" data-end=\"4026\"><p data-start=\"3984\" data-end=\"4026\">Um prompt \u00e9 constru\u00eddo (frequentemente com template).<\/p><\/li><li data-start=\"4027\" data-end=\"4064\"><p data-start=\"4030\" data-end=\"4064\">Uma API LLM (como GPT-4) \u00e9 chamada.<\/p><\/li><li data-start=\"4065\" data-end=\"4126\"><p data-start=\"4068\" data-end=\"4126\">A resposta \u00e9 analisada, validada e renderizada na UI.<\/p><\/li><\/ol><p data-start=\"4128\" data-end=\"4306\">Por detr\u00e1s deste fluxo est\u00e1 <strong data-start=\"4150\" data-end=\"4173\">uma pilha multicamada<\/strong>, n\u00e3o muito diferente de uma framework web moderna. Mas em vez de HTTP e bases de dados, est\u00e1 a lidar com <strong data-start=\"4265\" data-end=\"4305\">linguagem, incerteza e infer\u00eancia<\/strong>. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d2aa2cf e-flex e-con-boxed e-con e-parent\" data-id=\"d2aa2cf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-822e796 elementor-widget elementor-widget-heading\" data-id=\"822e796\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Componentes principais da pilha LLM<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-30c68c4 elementor-widget elementor-widget-n-accordion\" data-id=\"30c68c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;expanded&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-5110\" class=\"e-n-accordion-item\" open>\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"e-n-accordion-item-5110\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> API LLM <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5110\" class=\"elementor-element elementor-element-afa252d e-con-full e-flex e-con e-child\" data-id=\"afa252d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5110\" class=\"elementor-element elementor-element-e649e2f e-flex e-con-boxed e-con e-child\" data-id=\"e649e2f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e000e95 elementor-widget elementor-widget-text-editor\" data-id=\"e000e95\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Descri\u00e7\u00e3o:<\/strong><\/p><p>O motor que gera texto<\/p><p><strong>Ferramentas:<\/strong><\/p><p>OpenAI, Anthropic, Mistral<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-5111\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-5111\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Orquestra\u00e7\u00e3o de prompts <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5111\" class=\"elementor-element elementor-element-4b75349 e-con-full e-flex e-con e-child\" data-id=\"4b75349\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5111\" class=\"elementor-element elementor-element-2d39b70 e-flex e-con-boxed e-con e-child\" data-id=\"2d39b70\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-90972be elementor-widget elementor-widget-text-editor\" data-id=\"90972be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Descri\u00e7\u00e3o:<\/strong><\/p><p>Ferramentas para estruturar, encadear e testar prompts<\/p><p><strong>Ferramentas:<\/strong><\/p><p>LangChain, PromptLayer<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-5112\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-5112\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Embeddings <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5112\" class=\"elementor-element elementor-element-5a8647c e-con-full e-flex e-con e-child\" data-id=\"5a8647c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5112\" class=\"elementor-element elementor-element-d54e103 e-flex e-con-boxed e-con e-child\" data-id=\"d54e103\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c5cfc69 elementor-widget elementor-widget-text-editor\" data-id=\"c5cfc69\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Descri\u00e7\u00e3o:<\/strong><\/p><p>Vetores que representam significado<\/p><p><strong>Ferramentas:<\/strong><\/p><p>OpenAI embeddings, Hugging Face<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-5113\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"4\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-5113\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Base de dados vetorial <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5113\" class=\"elementor-element elementor-element-aa94df7 e-con-full e-flex e-con e-child\" data-id=\"aa94df7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5113\" class=\"elementor-element elementor-element-c4393b5 e-flex e-con-boxed e-con e-child\" data-id=\"c4393b5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9717b1f elementor-widget elementor-widget-text-editor\" data-id=\"9717b1f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"8771\" data-end=\"8883\"><strong>Descri\u00e7\u00e3o:<\/strong><\/p><p data-start=\"8771\" data-end=\"8883\">Motor de pesquisa e recupera\u00e7\u00e3o<\/p><p data-start=\"8771\" data-end=\"8883\"><strong>Ferramentas:<\/strong><\/p><p data-start=\"8771\" data-end=\"8883\">Pinecone, weaviate, redis<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-5114\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"5\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-5114\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Runtime frontend <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5114\" class=\"elementor-element elementor-element-e0cde76 e-con-full e-flex e-con e-child\" data-id=\"e0cde76\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-5114\" class=\"elementor-element elementor-element-f4c0e70 e-flex e-con-boxed e-con e-child\" data-id=\"f4c0e70\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1a2c4e1 elementor-widget elementor-widget-text-editor\" data-id=\"1a2c4e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"8885\" data-end=\"8996\"><strong>Descri\u00e7\u00e3o:<\/strong><\/p><p data-start=\"8885\" data-end=\"8996\">Entrega de UX, gest\u00e3o de lat\u00eancia<\/p><p data-start=\"8885\" data-end=\"8996\"><strong>Ferramentas:<\/strong><\/p><p data-start=\"8885\" data-end=\"8996\">Vercel AI SDK, Next.js, SvelteKit<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4e54649 e-flex e-con-boxed e-con e-parent\" data-id=\"4e54649\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f6ef5aa elementor-widget elementor-widget-heading\" data-id=\"f6ef5aa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">O papel da engenharia de prompts<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea6296a elementor-widget elementor-widget-text-editor\" data-id=\"ea6296a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"4985\" data-end=\"5081\">Os prompts s\u00e3o as <strong data-start=\"5001\" data-end=\"5018\">novas fun\u00e7\u00f5es<\/strong> \u2014 desenha-os com inten\u00e7\u00e3o, par\u00e2metros e prote\u00e7\u00f5es.<\/p><p data-start=\"5083\" data-end=\"5112\">Um prompt bem estruturado pode:<\/p><ul data-start=\"5113\" data-end=\"5213\"><li data-start=\"5113\" data-end=\"5136\"><p data-start=\"5115\" data-end=\"5136\">Reduzir alucina\u00e7\u00f5es<\/p><\/li><li data-start=\"5137\" data-end=\"5164\"><p data-start=\"5139\" data-end=\"5164\">Guiar a persona do modelo<\/p><\/li><li data-start=\"5165\" data-end=\"5213\"><p data-start=\"5167\" data-end=\"5213\">Lidar com casos extremos (com instru\u00e7\u00f5es de fallback)<\/p><\/li><\/ul><p data-start=\"5215\" data-end=\"5348\">Considere usar ferramentas como <strong data-start=\"5241\" data-end=\"5272\">PromptTemplates do LangChain<\/strong> ou mensagens de sistema do OpenAI para construir <strong data-start=\"5310\" data-end=\"5347\">l\u00f3gica de prompt test\u00e1vel e repet\u00edvel<\/strong>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-270887b e-flex e-con-boxed e-con e-parent\" data-id=\"270887b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-35e2d99 elementor-widget elementor-widget-heading\" data-id=\"35e2d99\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Gera\u00e7\u00e3o aumentada por recupera\u00e7\u00e3o (RAG)<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-798b9cd elementor-widget elementor-widget-text-editor\" data-id=\"798b9cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"5400\" data-end=\"5429\">RAG \u00e9 uma t\u00e9cnica onde:<\/p><ol data-start=\"5430\" data-end=\"5604\"><li data-start=\"5430\" data-end=\"5479\"><p data-start=\"5433\" data-end=\"5479\">Armazena os seus dados espec\u00edficos do dom\u00ednio numa BD vetorial<\/p><\/li><li data-start=\"5480\" data-end=\"5519\"><p data-start=\"5483\" data-end=\"5519\">Converte a entrada do utilizador num embedding<\/p><\/li><li data-start=\"5520\" data-end=\"5557\"><p data-start=\"5523\" data-end=\"5557\">Recupera os k melhores fragmentos relevantes<\/p><\/li><li data-start=\"5558\" data-end=\"5604\"><p data-start=\"5561\" data-end=\"5604\">Injeta isso no prompt enviado ao LLM<\/p><\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d1d79cc elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"d1d79cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-lightbulb\" viewBox=\"0 0 352 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tIdeal para aplica\u00e7\u00f5es como:\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tFAQs com IA, chat com documentos, pesquisa de conhecimento, etc.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7abf16cb e-con-full e-flex e-con e-child\" data-id=\"7abf16cb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-499ad443 elementor-widget elementor-widget-heading\" data-id=\"499ad443\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Comece com:<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3e62649d elementor-widget elementor-widget-text-editor\" data-id=\"3e62649d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li data-start=\"5690\" data-end=\"5716\"><p data-start=\"5692\" data-end=\"5716\"><strong data-start=\"5692\" data-end=\"5716\">LangChain + pinecone<\/strong><\/p><\/li><li data-start=\"5717\" data-end=\"5740\"><p data-start=\"5719\" data-end=\"5740\"><strong data-start=\"5719\" data-end=\"5740\">Supabase pgvector<\/strong><\/p><\/li><li data-start=\"5741\" data-end=\"5778\"><p data-start=\"5743\" data-end=\"5778\"><strong data-start=\"5743\" data-end=\"5778\">LlamaIndex para encaminhamento avan\u00e7ado<\/strong><\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-764d53ac e-flex e-con-boxed e-con e-parent\" data-id=\"764d53ac\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-657795 elementor-widget elementor-widget-heading\" data-id=\"657795\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Lat\u00eancia e streaming no frontend<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b8e1f1f elementor-widget elementor-widget-text-editor\" data-id=\"2b8e1f1f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"5829\" data-end=\"5904\">A infer\u00eancia LLM pode demorar tempo. \u00c9 por isso que o <strong data-start=\"5869\" data-end=\"5891\">streaming no frontend<\/strong> \u00e9 cr\u00edtico. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3677351 e-con-full e-flex e-con e-child\" data-id=\"3677351\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c86b15 elementor-widget elementor-widget-heading\" data-id=\"4c86b15\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Use:<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7cdb3a0 elementor-widget elementor-widget-text-editor\" data-id=\"7cdb3a0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li data-start=\"5913\" data-end=\"5953\"><strong data-start=\"5913\" data-end=\"5930\">Vercel AI SDK<\/strong> para streaming em React<\/li><li data-start=\"5956\" data-end=\"6008\"><strong data-start=\"5956\" data-end=\"5984\">Suspense + UIs de streaming<\/strong> para renderiza\u00e7\u00e3o em tempo real<\/li><li data-start=\"6011\" data-end=\"6068\">Padr\u00f5es de <strong data-start=\"6011\" data-end=\"6028\">UI otimista<\/strong> enquanto aguarda respostas LLM<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-882c72b elementor-blockquote--skin-boxed elementor-blockquote--align-center elementor-widget elementor-widget-blockquote\" data-id=\"882c72b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tO streaming parece mais r\u00e1pido e constr\u00f3i confian\u00e7a do utilizador.\t\t\t<\/p>\n\t\t\t\t\t\t\t<div class=\"e-q-footer\">\n\t\t\t\t\t\t\t\t\t\t\t<cite class=\"elementor-blockquote__author\">Key Takeaway<\/cite>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-42175fe e-flex e-con-boxed e-con e-parent\" data-id=\"42175fe\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5f96b44 elementor-widget elementor-widget-heading\" data-id=\"5f96b44\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Limita\u00e7\u00e3o de taxa, caching e controlo de custos<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-146c4e1 elementor-widget elementor-widget-text-editor\" data-id=\"146c4e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"6168\" data-end=\"6216\">Evite atingir limites de utiliza\u00e7\u00e3o ou estourar o seu or\u00e7amento:<\/p><ul data-start=\"6217\" data-end=\"6349\"><li data-start=\"6217\" data-end=\"6248\"><p data-start=\"6219\" data-end=\"6248\">Cache pares de prompt + resposta<\/p><\/li><li data-start=\"6249\" data-end=\"6295\"><p data-start=\"6251\" data-end=\"6295\">Use embeddings para detetar similaridade sem\u00e2ntica<\/p><\/li><li data-start=\"6296\" data-end=\"6349\"><p data-start=\"6298\" data-end=\"6349\">Introduza retry + backoff exponencial em erros 429<\/p><\/li><\/ul><p data-start=\"6351\" data-end=\"6410\">Considere armazenar sa\u00eddas de prompt comuns num CDN ou Edge KV.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9245ff4 e-flex e-con-boxed e-con e-parent\" data-id=\"9245ff4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8731052 elementor-widget elementor-widget-heading\" data-id=\"8731052\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Observabilidade em aplica\u00e7\u00f5es de IA<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3ce34a5 elementor-widget elementor-widget-text-editor\" data-id=\"3ce34a5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"6458\" data-end=\"6499\">Como APM para modelos. Voc\u00ea vai querer saber: <\/p><ul data-start=\"6500\" data-end=\"6586\"><li data-start=\"6500\" data-end=\"6522\"><p data-start=\"6502\" data-end=\"6522\">Quando o modelo falha<\/p><\/li><li data-start=\"6523\" data-end=\"6556\"><p data-start=\"6525\" data-end=\"6556\">Quais prompts est\u00e3o causando erros<\/p><\/li><li data-start=\"6557\" data-end=\"6586\"><p data-start=\"6559\" data-end=\"6586\">Quais sa\u00eddas s\u00e3o de alto risco<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-084b8b6 e-con-full e-flex e-con e-child\" data-id=\"084b8b6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d4b611c elementor-widget elementor-widget-heading\" data-id=\"d4b611c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Use:<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-83a2deb elementor-widget elementor-widget-text-editor\" data-id=\"83a2deb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li data-start=\"6593\" data-end=\"6629\"><p data-start=\"6595\" data-end=\"6629\"><strong data-start=\"6595\" data-end=\"6607\">Langfuse<\/strong> \u2013 monitoriza uso de prompts<\/p><\/li><li data-start=\"6630\" data-end=\"6673\"><p data-start=\"6632\" data-end=\"6673\"><strong data-start=\"6632\" data-end=\"6647\">PromptLayer<\/strong> \u2013 regista e versiona prompts<\/p><\/li><li data-start=\"6674\" data-end=\"6740\"><p data-start=\"6676\" data-end=\"6740\"><strong data-start=\"6676\" data-end=\"6689\">HoneyHive<\/strong> \u2013 ferramentas de feedback para corre\u00e7\u00f5es com humano no ciclo<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6b0691e e-flex e-con-boxed e-con e-parent\" data-id=\"6b0691e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8ba2ae elementor-widget elementor-widget-heading\" data-id=\"e8ba2ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Colabora\u00e7\u00e3o Frontend + Backend<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ad3ea3 elementor-widget elementor-widget-text-editor\" data-id=\"9ad3ea3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"6788\" data-end=\"6821\">Engenheiros frontend agora influenciam:<\/p><ul data-start=\"6822\" data-end=\"6925\"><li data-start=\"6822\" data-end=\"6838\"><p data-start=\"6824\" data-end=\"6838\">Clareza do prompt<\/p><\/li><li data-start=\"6839\" data-end=\"6861\"><p data-start=\"6841\" data-end=\"6861\">Experi\u00eancia de streaming<\/p><\/li><li data-start=\"6862\" data-end=\"6892\"><p data-start=\"6864\" data-end=\"6892\">Tratamento de erros e fallbacks<\/p><\/li><li data-start=\"6893\" data-end=\"6925\"><p data-start=\"6895\" data-end=\"6925\">Relev\u00e2ncia do contexto recuperado<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9f2262 elementor-blockquote--skin-boxed elementor-blockquote--align-center elementor-widget elementor-widget-blockquote\" data-id=\"f9f2262\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tIsto n\u00e3o \u00e9 apenas infraestrutura de IA \u2014 \u00e9 UX de IA.\t\t\t<\/p>\n\t\t\t\t\t\t\t<div class=\"e-q-footer\">\n\t\t\t\t\t\t\t\t\t\t\t<cite class=\"elementor-blockquote__author\">Key Takeaway<\/cite>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-755e92b e-flex e-con-boxed e-con e-parent\" data-id=\"755e92b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-491f4dc elementor-widget elementor-widget-heading\" data-id=\"491f4dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Engenharia para gest\u00e3o de alucina\u00e7\u00f5es<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8263ddf elementor-widget elementor-widget-text-editor\" data-id=\"8263ddf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"7034\" data-end=\"7054\">Ferramentas e pr\u00e1ticas:<\/p><ul data-start=\"7055\" data-end=\"7175\"><li data-start=\"7055\" data-end=\"7096\"><p data-start=\"7057\" data-end=\"7096\"><strong data-start=\"7057\" data-end=\"7075\">Prompts de sistema<\/strong> para refor\u00e7ar honestidade<\/p><\/li><li data-start=\"7097\" data-end=\"7134\"><p data-start=\"7099\" data-end=\"7134\"><strong data-start=\"7099\" data-end=\"7124\">Limiares de confian\u00e7a<\/strong> na sa\u00edda<\/p><\/li><li data-start=\"7135\" data-end=\"7175\"><p data-start=\"7137\" data-end=\"7175\"><strong data-start=\"7137\" data-end=\"7158\">Mensagens de fallback<\/strong> e transpar\u00eancia<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-859b049 elementor-blockquote--skin-boxed elementor-blockquote--align-center elementor-widget elementor-widget-blockquote\" data-id=\"859b049\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tA confian\u00e7a \u00e9 cr\u00edtica. Design em torno da imprevisibilidade. \t\t\t<\/p>\n\t\t\t\t\t\t\t<div class=\"e-q-footer\">\n\t\t\t\t\t\t\t\t\t\t\t<cite class=\"elementor-blockquote__author\">Key Takeaway<\/cite>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2633209 e-flex e-con-boxed e-con e-parent\" data-id=\"2633209\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f42476 elementor-widget elementor-widget-heading\" data-id=\"7f42476\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Do prot\u00f3tipo \u00e0 produ\u00e7\u00e3o<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d018851 elementor-widget elementor-widget-text-editor\" data-id=\"d018851\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"7271\" data-end=\"7313\">Para passar de demo hackathon para produ\u00e7\u00e3o:<\/p><ul data-start=\"7314\" data-end=\"7432\"><li data-start=\"7314\" data-end=\"7342\"><p data-start=\"7316\" data-end=\"7342\">Registe cada prompt + resultado<\/p><\/li><li data-start=\"7343\" data-end=\"7374\"><p data-start=\"7345\" data-end=\"7374\">Construa pipelines de observabilidade<\/p><\/li><li data-start=\"7375\" data-end=\"7395\"><p data-start=\"7377\" data-end=\"7395\">Teste em casos extremos<\/p><\/li><li data-start=\"7396\" data-end=\"7432\"><p data-start=\"7398\" data-end=\"7432\">Considere atualiza\u00e7\u00f5es do modelo + teste A\/B<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-985c5a6 elementor-blockquote--skin-boxed elementor-blockquote--align-center elementor-widget elementor-widget-blockquote\" data-id=\"985c5a6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tImplementar IA \u00e9 um ciclo cont\u00ednuo de produto, n\u00e3o uma integra\u00e7\u00e3o \u00fanica.\t\t\t<\/p>\n\t\t\t\t\t\t\t<div class=\"e-q-footer\">\n\t\t\t\t\t\t\t\t\t\t\t<cite class=\"elementor-blockquote__author\">Key Takeaway<\/cite>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-81df9b7 e-flex e-con-boxed e-con e-parent\" data-id=\"81df9b7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2066800 elementor-widget elementor-widget-heading\" data-id=\"2066800\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Exemplos de arquitetura do mundo real<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bdf5643 elementor-widget elementor-widget-text-editor\" data-id=\"bdf5643\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong data-start=\"7553\" data-end=\"7608\">Pilha GPT-4 + RAG + LangChain + vercel SDK<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-42b74b7 elementor-widget elementor-widget-image\" data-id=\"42b74b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/nuno-digital.s3.eu-north-1.amazonaws.com\/wp-content\/uploads\/2025\/08\/21135736\/diagram.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e17bbaf elementor-blockquote--skin-boxed elementor-blockquote--align-center elementor-widget elementor-widget-blockquote\" data-id=\"e17bbaf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tImplementar IA \u00e9 um ciclo cont\u00ednuo de produto, n\u00e3o uma integra\u00e7\u00e3o \u00fanica.\t\t\t<\/p>\n\t\t\t\t\t\t\t<div class=\"e-q-footer\">\n\t\t\t\t\t\t\t\t\t\t\t<cite class=\"elementor-blockquote__author\">Key Takeaway<\/cite>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4d1fc76 e-flex e-con-boxed e-con e-parent\" data-id=\"4d1fc76\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-786082e elementor-widget elementor-widget-heading\" data-id=\"786082e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Armadilhas comuns a evitar<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db5ebdd elementor-widget elementor-widget-text-editor\" data-id=\"db5ebdd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li data-start=\"7704\" data-end=\"7741\"><p data-start=\"7706\" data-end=\"7741\">Prolifera\u00e7\u00e3o de prompts sem observabilidade<\/p><\/li><li data-start=\"7742\" data-end=\"7774\"><p data-start=\"7744\" data-end=\"7774\">Ignorar lat\u00eancia \u2192 UX degradada<\/p><\/li><li data-start=\"7775\" data-end=\"7831\"><p data-start=\"7777\" data-end=\"7831\">RAG sem prote\u00e7\u00f5es = alucina\u00e7\u00f5es com autoridade<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-641f059 e-flex e-con-boxed e-con e-parent\" data-id=\"641f059\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f9a77ad elementor-widget elementor-widget-heading\" data-id=\"f9a77ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Tend\u00eancias futuras na engenharia de aplica\u00e7\u00f5es IA<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c585d2b elementor-widget elementor-widget-text-editor\" data-id=\"c585d2b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<ul><li data-start=\"7882\" data-end=\"7916\"><p data-start=\"7884\" data-end=\"7916\"><strong data-start=\"7884\" data-end=\"7907\">Agentes personalizados<\/strong> por utilizador<\/p><\/li><li data-start=\"7917\" data-end=\"7973\"><p data-start=\"7919\" data-end=\"7973\"><strong data-start=\"7919\" data-end=\"7942\">Infer\u00eancia no dispositivo<\/strong> com modelos GGUF + WebAssembly<\/p><\/li><li data-start=\"7974\" data-end=\"8035\"><p data-start=\"7976\" data-end=\"8035\"><strong data-start=\"7976\" data-end=\"8004\">Sistemas de design nativos de IA<\/strong> com componentes conscientes de feedback<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c577604 e-flex e-con-boxed e-con e-parent\" data-id=\"c577604\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-18e313f elementor-widget elementor-widget-heading\" data-id=\"18e313f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Conclus\u00e3o \u2013 abra\u00e7ando a camada de IA<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-00a263b elementor-widget elementor-widget-text-editor\" data-id=\"00a263b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"8086\" data-end=\"8161\">O engenheiro moderno deve pensar al\u00e9m do CRUD. Com LLMs, a sua pilha inclui: <\/p><ul data-start=\"8162\" data-end=\"8213\"><li data-start=\"8162\" data-end=\"8172\"><p data-start=\"8164\" data-end=\"8172\">Linguagem<\/p><\/li><li data-start=\"8173\" data-end=\"8184\"><p data-start=\"8175\" data-end=\"8184\">Relev\u00e2ncia<\/p><\/li><li data-start=\"8185\" data-end=\"8196\"><p data-start=\"8187\" data-end=\"8196\">Racioc\u00ednio<\/p><\/li><li data-start=\"8197\" data-end=\"8213\"><p data-start=\"8199\" data-end=\"8213\">Capacidade de resposta<\/p><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-04d2990 elementor-blockquote--skin-boxed elementor-blockquote--align-center elementor-widget elementor-widget-blockquote\" data-id=\"04d2990\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"blockquote.default\">\n\t\t\t\t\t\t\t<blockquote class=\"elementor-blockquote\">\n\t\t\t<p class=\"elementor-blockquote__content\">\n\t\t\t\tCompreender a pilha oculta torna-o n\u00e3o apenas um melhor programador \u2014 mas um melhor arquiteto de IA.\t\t\t<\/p>\n\t\t\t\t\t\t\t<div class=\"e-q-footer\">\n\t\t\t\t\t\t\t\t\t\t\t<cite class=\"elementor-blockquote__author\">Key Takeaway<\/cite>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/blockquote>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-59a6faed e-con-full e-flex e-con e-child\" data-id=\"59a6faed\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d4b115b elementor-widget elementor-widget-heading\" data-id=\"d4b115b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Perguntas frequentes<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6eeee10e elementor-widget elementor-widget-n-accordion\" data-id=\"6eeee10e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;expanded&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1860\" class=\"e-n-accordion-item\" open>\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"true\" aria-controls=\"e-n-accordion-item-1860\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Como escolho entre RAG e fine-tuning? <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1860\" class=\"elementor-element elementor-element-2d49dd3f e-con-full e-flex e-con e-child\" data-id=\"2d49dd3f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1860\" class=\"elementor-element elementor-element-1bbc24f3 e-flex e-con-boxed e-con e-child\" data-id=\"1bbc24f3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3d46f527 elementor-widget elementor-widget-text-editor\" data-id=\"3d46f527\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>RAG \u00e9 mais f\u00e1cil, mais r\u00e1pido de iterar e mais barato. Fine-tuning s\u00f3 \u00e9 necess\u00e1rio quando as sa\u00eddas devem ser altamente estruturadas ou espec\u00edficas do dom\u00ednio. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1861\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1861\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Qual \u00e9 a melhor maneira de fazer streaming do GPT-4 para o frontend? <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1861\" class=\"elementor-element elementor-element-39012146 e-con-full e-flex e-con e-child\" data-id=\"39012146\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1861\" class=\"elementor-element elementor-element-34d6715f e-flex e-con-boxed e-con e-child\" data-id=\"34d6715f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5c5e7458 elementor-widget elementor-widget-text-editor\" data-id=\"5c5e7458\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Use Vercel AI SDK com React ou APIs de streaming do SvelteKit.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1862\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1862\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Que BD vetorial funciona melhor com Next.js? <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1862\" class=\"elementor-element elementor-element-3f10b302 e-con-full e-flex e-con e-child\" data-id=\"3f10b302\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1862\" class=\"elementor-element elementor-element-3869634c e-flex e-con-boxed e-con e-child\" data-id=\"3869634c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6a62709 elementor-widget elementor-widget-text-editor\" data-id=\"6a62709\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Pinecone (hospedado) ou Supabase (pgvector auto-hospedado) integram bem.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1863\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"4\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1863\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Preciso do LangChain? <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1863\" class=\"elementor-element elementor-element-dedfac3 e-con-full e-flex e-con e-child\" data-id=\"dedfac3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1863\" class=\"elementor-element elementor-element-27984fd e-flex e-con-boxed e-con e-child\" data-id=\"27984fd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7876130 elementor-widget elementor-widget-text-editor\" data-id=\"7876130\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"8771\" data-end=\"8883\">Nem sempre. Comece com APIs simples. Use LangChain quando a orquestra\u00e7\u00e3o ficar complexa.  <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1864\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"5\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1864\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Posso executar GPT localmente? <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1864\" class=\"elementor-element elementor-element-d229c4a e-con-full e-flex e-con e-child\" data-id=\"d229c4a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1864\" class=\"elementor-element elementor-element-93ab083 e-flex e-con-boxed e-con e-child\" data-id=\"93ab083\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5dbb143 elementor-widget elementor-widget-text-editor\" data-id=\"5dbb143\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"8885\" data-end=\"8996\">Sim, com modelos como Mistral 7B ou Phi-3 via Ollama ou WebLLM, mas n\u00e3o GPT-4.<\/p><p data-start=\"8998\" data-end=\"9123\"> <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1865\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"6\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1865\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><h3 class=\"e-n-accordion-item-title-text\"> Como fa\u00e7o prompts com seguran\u00e7a para aplica\u00e7\u00f5es em produ\u00e7\u00e3o? <\/h3><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-up\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chevron-down\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1865\" class=\"elementor-element elementor-element-32e8214 e-con-full e-flex e-con e-child\" data-id=\"32e8214\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1865\" class=\"elementor-element elementor-element-220a708 e-flex e-con-boxed e-con e-child\" data-id=\"220a708\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4cb834b elementor-widget elementor-widget-text-editor\" data-id=\"4cb834b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"8998\" data-end=\"9123\">Use mensagens de sistema, limites de tokens, APIs de modera\u00e7\u00e3o e filtros de sa\u00edda.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Os LLMs s\u00e3o mais do que chatbots \u2014 s\u00e3o uma nova camada de execu\u00e7\u00e3o para software. Esta an\u00e1lise aprofundada da pilha de aplica\u00e7\u00f5es LLM revela o que todos os engenheiros devem saber para implementar funcionalidades baseadas em IA do mundo real com GPT-4, LangChain e bases de dados vetoriais.<\/p>","protected":false},"author":1,"featured_media":2729,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"googlesitekit_rrm_CAow74HBDA:productID":"","footnotes":""},"categories":[395],"tags":[536,470,535,403,533,532,534,401,399],"class_list":["post-2402","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engenharia-em-ia","tag-arquitetura-llm","tag-engenharia-de-prompts","tag-gpt-4","tag-integracao-de-ia-no-frontend","tag-langchain","tag-pinecone","tag-rag","tag-sdk-de-ia-da-vercel","tag-ux-inteligente"],"_links":{"self":[{"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/posts\/2402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/comments?post=2402"}],"version-history":[{"count":3,"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/posts\/2402\/revisions"}],"predecessor-version":[{"id":2407,"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/posts\/2402\/revisions\/2407"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/media\/2729"}],"wp:attachment":[{"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/media?parent=2402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/categories?post=2402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuno.digital\/pt-pt\/wp-json\/wp\/v2\/tags?post=2402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}