{"id":16998,"date":"2025-03-31T14:44:55","date_gmt":"2025-03-31T21:44:55","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=16998"},"modified":"2025-06-13T20:40:17","modified_gmt":"2025-06-14T03:40:17","slug":"extending-rag-excel-couchbase-llamaindex-bedrock","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/extending-rag-excel-couchbase-llamaindex-bedrock\/","title":{"rendered":"Amplia\u00e7\u00e3o dos recursos do RAG para o Excel com Couchbase, LLamaIndex e Amazon Bedrock"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Como tudo ao nosso redor est\u00e1 gradualmente se tornando mais orientado por dados, o Excel ainda \u00e9 essencial para as empresas, oferecendo a capacidade de fornecer insights valiosos a partir dos dados nas planilhas. No entanto, os cientistas e analistas de dados concordam que extrair informa\u00e7\u00f5es significativas desses vastos conjuntos de dados pode ser extremamente demorado e requer conjuntos de habilidades especializadas. Mas \u00e9 nesse ponto que a IA generativa e os modelos de linguagem ampla podem ajudar a simplificar o processo de gera\u00e7\u00e3o de insights. Um componente importante para ajudar nesse processo \u00e9 <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/tag\/rag-retrieval-augmented-generation\/\">Gera\u00e7\u00e3o Aumentada de Recupera\u00e7\u00e3o (RAG)<\/a>.\u00a0<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O RAG \u00e9 uma t\u00e9cnica avan\u00e7ada que ajuda a precis\u00e3o de modelos de linguagem grandes, permitindo que o modelo tenha acesso a fatos externos por meio da recupera\u00e7\u00e3o de informa\u00e7\u00f5es. Normalmente, os modelos de linguagem grandes (LLMs) recebem a entrada de um usu\u00e1rio e fornecem respostas com base nas informa\u00e7\u00f5es com as quais o LLM foi treinado (que, \u00e0s vezes, podem estar desatualizadas ou incorretas). O RAG combina essas informa\u00e7\u00f5es com dados suplementares, como a base de conhecimento de uma empresa ou documentos relevantes, permitindo que ele forne\u00e7a respostas factualmente precisas e contextualmente relevantes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Este blog o orientar\u00e1 sobre como criar um sistema RAG especificamente adaptado para ingerir dados do Excel e gerar insights. Utilizaremos o LlamaIndex e o LlamaParse para transformar as planilhas em uma base de conhecimento pesquis\u00e1vel e armazenar esses dados no Couchbase Vector Search para recupera\u00e7\u00e3o r\u00e1pida do contexto relevante com base em uma consulta do usu\u00e1rio e, em seguida, utilizaremos o <a href=\"https:\/\/aws.amazon.com\/bedrock\/\">Bedrock da Amaz\u00f4nia<\/a> para a resposta do LLM.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">O que \u00e9 LLamaIndex e LLamaParse<\/span><\/h2>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/docs.llamaindex.ai\/en\/stable\/api_reference\/storage\/vector_store\/couchbase\/\">LlamaIndex<\/a> \u00e9 uma estrutura de orquestra\u00e7\u00e3o de c\u00f3digo aberto projetada para ajudar os desenvolvedores a criar aplicativos de IA com grandes modelos de linguagem (LLMs). Ele ajuda a preencher a lacuna entre as fontes de dados personalizadas e os LLMs. O LLamaIndex oferece aos usu\u00e1rios a capacidade de ingerir dados de v\u00e1rias fontes, como arquivos ou bancos de dados vetoriais, e depois indexa esses dados em representa\u00e7\u00f5es intermedi\u00e1rias. O LLamaIndex oferece a capacidade de consultar esses dados em linguagem natural e interagir com eles.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Primeiro, os dados s\u00e3o indexados em um \u00edndice vetorial. Isso cria uma base de conhecimento pesquis\u00e1vel espec\u00edfica para o dom\u00ednio. Durante a consulta, o sistema procura informa\u00e7\u00f5es relevantes com base no prompt do usu\u00e1rio e, em seguida, fornece essas informa\u00e7\u00f5es ao modelo de linguagem grande para gerar uma resposta. <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O LlamaParse \u00e9 um componente especializado dentro do ecossistema do LlamaIndex, projetado para ser uma poderosa plataforma de an\u00e1lise de documentos que simplifica o processo de an\u00e1lise e extra\u00e7\u00e3o de informa\u00e7\u00f5es estruturadas de documentos complexos. Ele foi desenvolvido para analisar e limpar dados para garantir que os usu\u00e1rios possam ter uma entrada de alta qualidade para casos de uso do LLM, como o RAG. O LlamaParse suporta a an\u00e1lise de diferentes tipos de documentos, como PDFs, Excel, HTML, etc.\u00a0<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Cria\u00e7\u00e3o de um sistema de gera\u00e7\u00e3o aumentada de recupera\u00e7\u00e3o com dados do Excel<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Neste blog, criaremos um sistema RAG utilizando um <\/span><a href=\"https:\/\/www.kaggle.com\/datasets\/anoopjohny\/consumer-complaint-database\"><span style=\"font-weight: 400;\">conjunto de dados de reclama\u00e7\u00f5es de clientes<\/span><\/a><span style=\"font-weight: 400;\"> (do Kaggle). Esse conjunto de dados fornece informa\u00e7\u00f5es detalhadas sobre reclama\u00e7\u00f5es de consumidores que abrangem v\u00e1rios produtos e servi\u00e7os financeiros. O sistema RAG, alimentado pela pesquisa do Couchbase Vector, facilitar\u00e1 a extra\u00e7\u00e3o de informa\u00e7\u00f5es cr\u00edticas dos dados.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Uma representa\u00e7\u00e3o visual do conjunto de dados \u00e9 fornecida abaixo.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-16999\" style=\"border: 1px solid Gainsboro;\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/complaints-dataset-kaggle-1024x759.png\" alt=\"complaints dataset from kaggle loading into a database\" width=\"900\" height=\"667\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/complaints-dataset-kaggle-1024x759.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/complaints-dataset-kaggle-300x222.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/complaints-dataset-kaggle-768x569.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/complaints-dataset-kaggle-1536x1138.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/complaints-dataset-kaggle-1320x978.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/complaints-dataset-kaggle.png 1999w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<h2><span style=\"font-weight: 400;\">Instala\u00e7\u00e3o das depend\u00eancias necess\u00e1rias e instancia\u00e7\u00e3o do LlamaParse<\/span><\/h2>\n<pre class=\"nums:false wrap:true lang:default decode:true\">!pip install llama-index llama-parse llama-index-vector-stores-couchbase llama-index-llms-bedrock fastembed llama-index-embeddings-bedrock<\/pre>\n<p><span style=\"font-weight: 400;\">Depois de instalar as depend\u00eancias, agora vamos instanciar o LlamaParse com a instru\u00e7\u00e3o de an\u00e1lise para analisar o arquivo do Excel:\u00a0<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">from llama_parse import LlamaParse\r\nfrom google.colab import userdata\r\nfrom llama_index.core import SimpleDirectoryReader\r\nimport nest_asyncio\r\n\r\nnest_asyncio.apply()\r\n\r\nparser = LlamaParse(\r\n\u00a0\u00a0\u00a0api_key=userdata.get('LLAMA_CLOUD_API_KEY'),\r\n\u00a0\u00a0\u00a0parsing_instruction = \"\"\"You are parsing a customer complaints dataset.. The column Company contains the company name.\u00a0 Please extract Product, Sub-product, Issue, Consumer complaint narrative, company public response, company, state, zipcode, information from the columns.\"\"\",\r\n\u00a0\u00a0\u00a0result_type=\"markdown\"\r\n)<\/pre>\n<p><span style=\"font-weight: 400;\">Quando instanciamos o objeto LlamaParse, passamos <em>parsing_instruction<\/em> e <em>tipo_de_resultado<\/em> como o <em>An\u00e1lise<\/em> op\u00e7\u00f5es.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Em <em>tipo_de_resultado<\/em>especificamos o formato da nossa sa\u00edda. Por padr\u00e3o, o LlamaParse retornar\u00e1 os resultados como texto analisado. As outras op\u00e7\u00f5es dispon\u00edveis s\u00e3o <em>remarca\u00e7\u00e3o para baixo<\/em> e <em>JSON<\/em> que retorna uma estrutura que representa o objeto analisado. Em <em>parsing_instruction<\/em> podemos fornecer contexto adicional ao LlamaParse sobre os dados. O LlamaParse usa LLMs, o que nos permite dar a ele instru\u00e7\u00f5es em linguagem natural sobre o que e como analisar as informa\u00e7\u00f5es.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Em seguida, carregaremos o arquivo do Excel e o analisaremos usando o LlamaParser:<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">file_extractor = {\".xlsx\": parser}\r\n\r\ndocuments = SimpleDirectoryReader(input_files=[file_name.xlsx'], file_extractor=file_extractor).load_data()<\/pre>\n<h2><span style=\"font-weight: 400;\">Armazenar os dados analisados usando um \u00edndice de vetor do Couchbase\u00a0<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Antes de prosseguir, verifique se voc\u00ea tem uma conta no Couchbase Capella e se configurou um \u00edndice vetorial no Couchbase. Voc\u00ea pode seguir o guia <\/span><a href=\"https:\/\/developer.couchbase.com\/tutorial-bedrock-serverless-pdf-chat#setup-database-configuration\"><span style=\"font-weight: 400;\">guia a seguir<\/span><\/a><span style=\"font-weight: 400;\"> para configurar seu cluster e o \u00edndice vetorial.  Quando a conta e o \u00edndice estiverem prontos, voc\u00ea poder\u00e1 prosseguir.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Os dados analisados s\u00e3o armazenados na vari\u00e1vel documents. Agora, eles ser\u00e3o preenchidos dentro do Couchbase. Para isso, os documentos ser\u00e3o convertidos em <em>VectorStoreIndex<\/em>. Esse \u00edndice ser\u00e1 armazenado posteriormente no armazenamento do Couchbase Vector, convertendo primeiro os documentos compat\u00edveis com o armazenamento de vetores usando o Bedrock Embeddings:\u00a0<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">from llama_index.llms.bedrock import Bedrock\r\nfrom llama_index.embeddings.bedrock import BedrockEmbedding\r\nllm = Bedrock(model=\"mistral.mistral-large-2402-v1:0\", region_name=\"us-east-1\")\r\nembeddings = BedrockEmbedding(model=\"amazon.titan-embed-text-v1\")<\/pre>\n<p><span style=\"font-weight: 400;\">Tamb\u00e9m nos conectaremos \u00e0 inst\u00e2ncia do Couchbase:\u00a0<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">def connect_to_couchbase(connection_string, db_username, db_password):\r\n\u00a0\u00a0\u00a0\u00a0\"\"\"Connect to couchbase\"\"\"\r\n\u00a0\u00a0\u00a0\u00a0from couchbase.cluster import Cluster\r\n\u00a0\u00a0\u00a0\u00a0from couchbase.auth import PasswordAuthenticator\r\n\u00a0\u00a0\u00a0\u00a0from couchbase.options import ClusterOptions\r\n\u00a0\u00a0\u00a0\u00a0from datetime import timedelta\r\n\r\n\u00a0\u00a0\u00a0\u00a0auth = PasswordAuthenticator(db_username, db_password)\r\n\u00a0\u00a0\u00a0\u00a0options = ClusterOptions(auth)\r\n\u00a0\u00a0\u00a0\u00a0connect_string = connection_string\r\n\u00a0\u00a0\u00a0\u00a0cluster = Cluster(connect_string, options)\r\n\r\n\u00a0\u00a0\u00a0\u00a0# Wait until the cluster is ready for use.\r\n\u00a0\u00a0\u00a0\u00a0cluster.wait_until_ready(timedelta(seconds=5))\r\n\r\n\u00a0\u00a0\u00a0\u00a0return cluster<\/pre>\n<p><span style=\"font-weight: 400;\">Agora, chamaremos o m\u00e9todo VectorStoreIndex para armazenar o \u00edndice no Couchbase. O VectorStoreIndex pega os documentos e os divide em n\u00f3s. Em seguida, ele cria embeddings vetoriais do texto de cada n\u00f3 usando o modelo de embedding especificado, neste caso, embeddings Bedrock, que estar\u00e3o prontos para serem consultados por um LLM.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">O LlamaIndex oferece v\u00e1rios analisadores de n\u00f3s baseados em arquivos, projetados para gerar n\u00f3s de acordo com o tipo de conte\u00fado espec\u00edfico que est\u00e1 sendo processado, como JSON, Markdown e outros formatos:<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\"> index = VectorStoreIndex.from_documents(\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0documents,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0storage_context=storage_context,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0)\r\n\r\n\u00a0\u00a0vector_store = get_vector_store(\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0cluster,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DB_BUCKET,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DB_SCOPE,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0DB_COLLECTION,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0INDEX_NAME,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0)\r\n\r\n\u00a0\u00a0storage_context = StorageContext.from_defaults(vector_store=vector_store)\r\n\r\n\u00a0\u00a0index = VectorStoreIndex.from_documents(\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0documents,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0storage_context=storage_context,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0)<\/pre>\n<h2><span style=\"font-weight: 400;\">Gera\u00e7\u00e3o de resposta do Amazon Bedrock<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Quando um usu\u00e1rio faz upload de um arquivo do Excel, ele \u00e9 analisado usando o LlamaParse e armazenado em um reposit\u00f3rio de vetores do Couchbase. Para cada consulta do usu\u00e1rio, o sistema executa uma pesquisa vetorial para recuperar partes relevantes de informa\u00e7\u00f5es dos dados armazenados do Excel. Esses peda\u00e7os relevantes s\u00e3o usados como contexto para o modelo de linguagem (modelo Mistral da Bedrock) para gerar uma resposta.<\/span><\/p>\n<pre class=\"nums:false lang:python decode:true\">rag_stream_response = st.session_state.chat_engine_rag.stream_chat(question)\r\n\u00a0\u00a0\u00a0for chunk in rag_stream_response.response_gen:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0rag_response += chunk\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0message_placeholder.markdown(rag_response)\r\n<\/pre>\n<h2><span style=\"font-weight: 400;\">Resultados<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Agora podemos verificar o desempenho do nosso aplicativo RAG examinando as respostas a v\u00e1rias consultas fornecidas pelo usu\u00e1rio.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Conclus\u00e3o<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Este blog compartilha como \u00e9 poss\u00edvel criar um sistema RAG (Retrieval Augmented Generation) para simplificar a an\u00e1lise de grandes quantidades de dados do Excel. Isso \u00e9 feito extraindo informa\u00e7\u00f5es dos dados usando o LlamaParse, transformando-as em um formato VectorStoreIndex e, posteriormente, armazenando esse \u00edndice no Couchbase.<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Comece a usar <a href=\"https:\/\/cloud.couchbase.com\">Plataforma de desenvolvedor do Couchbase Capella<\/a> gratuitamente<\/li>\n<li>Leia mais postagens e tutoriais em <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/category\/generative-ai-genai\/\">IA generativa (GenAI)<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/pt\/llm-embeddings\/\">Saiba mais sobre o LLM Embeddings<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>As everything around us is gradually becoming more data-driven, Excel is still integral for businesses, providing the capability to provide invaluable insights from the data in the sheets. However, data scientists and analysts agree that extracting meaningful information from these [&hellip;]<\/p>","protected":false},"author":85559,"featured_media":17000,"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,9139,9937],"tags":[10124,9995,9924],"ppma_author":[10069],"class_list":["post-16998","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-python","category-vector-search","tag-amazon-web-services-aws","tag-llamaindex","tag-rag-retrieval-augmented-generation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Extend Retrieval Augmented Generation (RAG) capabilities to Excel using Couchbase, LlamaIndex, and Amazon Bedrock. Make spreadsheets searchable.\" \/>\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\/extending-rag-excel-couchbase-llamaindex-bedrock\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock\" \/>\n<meta property=\"og:description\" content=\"Extend Retrieval Augmented Generation (RAG) capabilities to Excel using Couchbase, LlamaIndex, and Amazon Bedrock. Make spreadsheets searchable.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/extending-rag-excel-couchbase-llamaindex-bedrock\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-31T21:44:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:40:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.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=\"Shivay Lamba, 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=\"Shivay Lamba, Developer Evangelist\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/\"},\"author\":{\"name\":\"Shivay Lamba, Developer Evangelist\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/377d9b772c90439916236da79c02c418\"},\"headline\":\"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock\",\"datePublished\":\"2025-03-31T21:44:55+00:00\",\"dateModified\":\"2025-06-14T03:40:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/\"},\"wordCount\":970,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png\",\"keywords\":[\"Amazon Web Services (AWS)\",\"llamaindex\",\"RAG retrieval-augmented generation\"],\"articleSection\":[\"Artificial Intelligence (AI)\",\"Best Practices and Tutorials\",\"Couchbase Capella\",\"Generative AI (GenAI)\",\"Python\",\"Vector Search\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/\",\"name\":\"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png\",\"datePublished\":\"2025-03-31T21:44:55+00:00\",\"dateModified\":\"2025-06-14T03:40:17+00:00\",\"description\":\"Extend Retrieval Augmented Generation (RAG) capabilities to Excel using Couchbase, LlamaIndex, and Amazon Bedrock. Make spreadsheets searchable.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock\"}]},{\"@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\/377d9b772c90439916236da79c02c418\",\"name\":\"Shivay Lamba, Developer Evangelist\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7b5e7cd8007bd40de81c1ef6a9e0266f\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/01\/shivay-lambda-couchbase.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/01\/shivay-lambda-couchbase.jpeg\",\"caption\":\"Shivay Lamba, Developer Evangelist\"},\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/shivaylambda\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock - The Couchbase Blog","description":"Estenda os recursos de Gera\u00e7\u00e3o Aumentada de Recupera\u00e7\u00e3o (RAG) para o Excel usando Couchbase, LlamaIndex e Amazon Bedrock. Tornar as planilhas pesquis\u00e1veis.","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\/extending-rag-excel-couchbase-llamaindex-bedrock\/","og_locale":"pt_BR","og_type":"article","og_title":"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock","og_description":"Extend Retrieval Augmented Generation (RAG) capabilities to Excel using Couchbase, LlamaIndex, and Amazon Bedrock. Make spreadsheets searchable.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/extending-rag-excel-couchbase-llamaindex-bedrock\/","og_site_name":"The Couchbase Blog","article_published_time":"2025-03-31T21:44:55+00:00","article_modified_time":"2025-06-14T03:40:17+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png","type":"image\/png"}],"author":"Shivay Lamba, Developer Evangelist","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Shivay Lamba, Developer Evangelist","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/"},"author":{"name":"Shivay Lamba, Developer Evangelist","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/377d9b772c90439916236da79c02c418"},"headline":"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock","datePublished":"2025-03-31T21:44:55+00:00","dateModified":"2025-06-14T03:40:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/"},"wordCount":970,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png","keywords":["Amazon Web Services (AWS)","llamaindex","RAG retrieval-augmented generation"],"articleSection":["Artificial Intelligence (AI)","Best Practices and Tutorials","Couchbase Capella","Generative AI (GenAI)","Python","Vector Search"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/","url":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/","name":"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png","datePublished":"2025-03-31T21:44:55+00:00","dateModified":"2025-06-14T03:40:17+00:00","description":"Estenda os recursos de Gera\u00e7\u00e3o Aumentada de Recupera\u00e7\u00e3o (RAG) para o Excel usando Couchbase, LlamaIndex e Amazon Bedrock. Tornar as planilhas pesquis\u00e1veis.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/03\/blog_header_images_2025-9.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/extending-rag-excel-couchbase-llamaindex-bedrock\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Extending RAG capabilities to Excel with Couchbase, LLamaIndex, and Amazon Bedrock"}]},{"@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\/377d9b772c90439916236da79c02c418","name":"Shivay Lamba, desenvolvedor evangelista","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7b5e7cd8007bd40de81c1ef6a9e0266f","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/01\/shivay-lambda-couchbase.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/01\/shivay-lambda-couchbase.jpeg","caption":"Shivay Lamba, Developer Evangelist"},"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/shivaylambda\/"}]}},"authors":[{"term_id":10069,"user_id":85559,"is_guest":0,"slug":"shivaylambda","display_name":"Shivay Lamba, Developer Evangelist","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/01\/shivay-lambda-couchbase.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2025\/01\/shivay-lambda-couchbase.jpeg"},"author_category":"1","last_name":"Lamba - Developer Evangelist","first_name":"Shivay","job_title":"","user_url":"","description":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/16998","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\/85559"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=16998"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/16998\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/17000"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=16998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=16998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=16998"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=16998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}