{"id":16568,"date":"2024-11-15T16:36:03","date_gmt":"2024-11-16T00:36:03","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=16568"},"modified":"2025-06-13T16:36:33","modified_gmt":"2025-06-13T23:36:33","slug":"pdf-rag-demo-couchbase-shell","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/ko\/pdf-rag-demo-couchbase-shell\/","title":{"rendered":"PDF RAG \ub370\ubaa8: Couchbase Shell\ub85c \uac04\uc18c\ud654\ub41c AI \uc6cc\ud06c\ud50c\ub85c \uad6c\ucd95\ud558\uae30"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">\uc774\uc804\uc5d0\ub294 \uc0ac\uc6a9\uc790\uac00 '\ucc44\ud305'\uc744 \ud560 \uc218 \uc788\ub294 Python \uc571\uc744 \ud1b5\ud574 Couchbase RAG \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \ubcf4\uc5ec\ub4dc\ub838\uc2b5\ub2c8\ub2e4. <\/span><a href=\"https:\/\/github.com\/couchbase-examples\/rag-demo\"><span style=\"font-weight: 400;\">PDF\ub85c<\/span><\/a><span style=\"font-weight: 400;\"> \ub610\ub294 <\/span><a href=\"https:\/\/www.couchbase.com\/blog\/ko\/twitter-thread-tldr-with-ai-part-2\/\"><span style=\"font-weight: 400;\">\uc640 X<\/span><\/a><span style=\"font-weight: 400;\">. \uad6c\ucd95\uc740 \uac04\ub2e8\ud558\uc9c0\ub9cc \ub354 \uac04\ub2e8\ud558\uac8c \uad6c\ucd95\ud560 \uc218 \uc788\uc744\uae4c\uc694? \ucd5c\uadfc\uc5d0 Couchbase Shell\uc744 \ub9ce\uc774 \uc0ac\uc6a9\ud574\ubd24\ub294\ub370 \ube44\uc2b7\ud55c \uc791\uc5c5\uc744 \ud560 \uc218 \uc788\uc744 \uac83 \uac19\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">\ubc94\uc704 \ubc0f \uceec\ub809\uc158 \uc124\uc815<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">\uc774\ubbf8 \ub2e4\uc74c \uc0ac\ud56d\uc5d0 \ub300\ud574 \uc798 \uc54c\uace0 \uacc4\uc2dc\ub9ac\ub77c \uc0dd\uac01\ud569\ub2c8\ub2e4. <\/span><a href=\"https:\/\/couchbase.sh\/\"><span style=\"font-weight: 400;\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc178<\/span><\/a><span style=\"font-weight: 400;\"> (cbsh)\ub97c \uc2e4\ud589\ud558\uace0 \ud074\ub7ec\uc2a4\ud130\uc640 \ubaa8\ub378\uc744 \uad6c\uc131\ud569\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\ubc94\uc704\uc640 \uceec\ub809\uc158\uc744 \uc0dd\uc131\ud558\uace0 \uc120\ud0dd\ud55c \ub2e4\uc74c \uae30\ubcf8 \uc778\ub371\uc2a4\ub97c \ub9cc\ub4ed\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"nums:false lang:sh decode:true\">&gt; \ubc94\uc704 PDF \ub9cc\ub4e4\uae30\r\n&gt; cb-env \ubc94\uc704 PDF\r\n&gt; \uceec\ub809\uc158 PDF \ub9cc\ub4e4\uae30\r\n&gt; cb-env \uceec\ub809\uc158 PDF\r\n&gt; \ucffc\ub9ac \"`default`:`cbsh`.`pdf`.`pdf`\uc5d0 \uc8fc \uc778\ub371\uc2a4 \ub9cc\ub4e4\uae30\"<\/pre>\n<h2><span style=\"font-weight: 400;\">PDF\ub97c \uccad\ud06c \ud14d\uc2a4\ud2b8\ub85c \ubcc0\ud658<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">PDF\ub97c \ud14d\uc2a4\ud2b8\ub85c \ubcc0\ud658\ud560 \uc218 \uc788\ub294 \ub2e4\uc591\ud55c \ub3c4\uad6c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 Linux \ubc30\ud3ec\ud310\uc5d0\uc11c \ub2e4\uc74c\uc744 \ucc3e\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/span><i><span style=\"font-weight: 400;\">pdftotext<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">&gt; pdftotext ~\/monopolyInstruction.pdf<\/pre>\n<p><span style=\"font-weight: 400;\">\uc774\ub807\uac8c \ud558\uba74 \uacbd\ub85c\uac00 \uac19\uc9c0\ub9cc \ud30c\uc77c \uc774\ub984\uc5d0 <\/span><i><span style=\"font-weight: 400;\">.txt<\/span><\/i><span style=\"font-weight: 400;\"> \ud655\uc7a5\uc790\uc785\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\ud568\uaed8 <\/span><a href=\"https:\/\/www.nushell.sh\/\"><span style=\"font-weight: 400;\">Nushell<\/span><\/a><span style=\"font-weight: 400;\"> (cbsh\ub294 Nushell \uae30\ubc18) \ubd84\ud560 \uba85\ub839 \ub355\ubd84\uc5d0 \ud14d\uc2a4\ud2b8\ub97c \uc27d\uac8c \ubd84\ud560\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubb38\uc81c\ub294 \ud30c\uc77c\uc744 \ubd84\ud560\ud558\ub294 \ub370 \ud544\uc694\ud55c \uc62c\ubc14\ub978 \uad6c\ubd84 \uae30\ud638\ub97c \ucc3e\ub294 \uac83\uc785\ub2c8\ub2e4. \ub2e4\ud589\ud788 \uc5ec\ub7ec \uc904 \ubb38\uc790\uc5f4\uc744 \uc9c0\uc6d0\ud558\ubbc0\ub85c \ud30c\uc77c\uc5d0\uc11c \ub450 \ub2e8\ub77d \uc0ac\uc774\uc758 \ud14d\uc2a4\ud2b8\ub97c \ubcf5\uc0ac\ud558\uc5ec \ubd99\uc5ec\ub123\uc5c8\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc815\uaddc\uc2dd\uc744 \uc0ac\uc6a9\ud558\uba74 \uc880 \ub354 \uc815\uad50\ud55c \uc791\uc5c5\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uac83\uc774 \ube14\ub85c\uadf8 \uc790\ub8cc\uc640 \ud504\ub85c\ub355\uc158\uc758 \ucc28\uc774\uc810\uc785\ub2c8\ub2e4 \ud83d\ude07.<\/span><\/p>\n<pre class=\"ranges:false lang:default decode:true\">&gt; ~\/monopolyInstruction.txt \uc5f4\uae30 |\ud589 \ubd84\ud560 \"\r\n:::\r\n::: \"|\ud14d\uc2a4\ud2b8 \uc904 \ubc14\uafc8<\/pre>\n<p><span style=\"font-weight: 400;\">\uc774\ub807\uac8c \ud558\uba74 \ud14d\uc2a4\ud2b8 \ubb38\uc790\uc5f4 \ud14c\uc774\ube14\uc744 \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c Couchbase\ub85c \uac00\uc838\uc624\ub824\uba74 \ud14d\uc2a4\ud2b8 \ud544\ub4dc, \ucf58\ud150\uce20 JSON \uac1d\uccb4, \ubb34\uc791\uc704\ub85c \uc0dd\uc131\ub41c UUID\ub97c \ucd94\uac00\ud558\uace0 \uacb0\uacfc\ub97c \uc5c5\uc11c\ud2b8\ud569\ub2c8\ub2e4.<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">&gt; ~\/monopolyInstruction.txt \uc5f4\uae30 |\ud589 \ubd84\ud560 \"\r\n:::\r\n::: \"|\uc904 \ubc14\uafc8 \ud14d\uc2a4\ud2b8 |\uc904 \ubc14\uafc8 \ub0b4\uc6a9 |\uac01\uac01 { \uc0bd\uc785 ID { \uc784\uc758 UUID } } | \ubb38\uc11c \uc5c5\uc11c\ud2b8<\/pre>\n<p><span style=\"font-weight: 400;\">\ub2e4\uc74c \ub2e8\uacc4\ub294 \uc784\ubca0\ub529 \ub610\ub294 \ud14d\uc2a4\ud2b8\uc758 \ubca1\ud130 \ud45c\ud604\uc744 \ub9cc\ub4dc\ub294 \uac83\uc785\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:default decode:true\">&gt; \ucffc\ub9ac \"SELECT meta().id as id, p.* from pdf as p\" | \ucf58\ud150\uce20 \uc904 \ubc14\uafc8 | \ubca1\ud130 \ubb38\uc11c \ud14d\uc2a4\ud2b8 \uac15\ud654 | \ubb38\uc11c \uc5c5\uc11c\ud2b8<\/pre>\n<p><span style=\"font-weight: 400;\">\uadf8\ub7f0 \ub2e4\uc74c \ubca1\ud130 \uac80\uc0c9 \uc778\ub371\uc2a4\ub97c \ub9cc\ub4ed\ub2c8\ub2e4. \uc5ec\uae30\uc11c\ub294 PDF\ub77c\uace0 \ud558\uba70 \ud544\ub4dc\ub97c \uc0c9\uc778\ud654\ud569\ub2c8\ub2e4. <\/span><i><span style=\"font-weight: 400;\">\ud14d\uc2a4\ud2b8 \ubca1\ud130<\/span><\/i><span style=\"font-weight: 400;\">\ub97c \uc0ac\uc6a9\ud558\uc5ec 1536 \ucc28\uc6d0 \ubca1\ud130\ub97c \uc0dd\uc131\ud558\uace0<\/span><i><span style=\"font-weight: 400;\"> l2_norm<\/span><\/i><span style=\"font-weight: 400;\"> \ub97c \uc720\uc0ac\ub3c4 \uc54c\uace0\ub9ac\uc998\uc758 \uae30\ubcf8\uac12\uc73c\ub85c \uc124\uc815\ud569\ub2c8\ub2e4.<\/span><\/p>\n<pre class=\"nums:false lang:default decode:true\">&gt; \ubca1\ud130 \uc0dd\uc131-\uc778\ub371\uc2a4 pdf textVector 1536<\/pre>\n<p><span style=\"font-weight: 400;\">\ubaa8\ub178\ud3f4\ub9ac\uc758 \uaddc\uce59\uc744 \uac00\uc838\uc640\uc11c \uac10\uc625\uc5d0\uc11c \ube60\uc838\ub098\uc624\ub294 \ubc29\ubc95\uc744 \ubb3b\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc6d0\ub798 \uc608\uc81c\uc5d0\uc11c\ub294 \ucee8\ud14d\uc2a4\ud2b8\uac00 \uc788\ub294 \ub2f5\ubcc0\uacfc \uc5c6\ub294 \ub2f5\ubcc0\uc774 \uc788\uc5c8\uc2b5\ub2c8\ub2e4.<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:default decode:true\">&gt; \"\uac10\uc625\uc5d0\uc11c \ub098\uac00\ub294 \ubc29\ubc95\"\uc744 \ubb38\uc758\ud558\uc138\uc694.\r\n\r\n\ubcf8\uc778 \ub610\ub294 \uc9c0\uc778\uc774 \uac10\uc625\uc5d0 \uc218\uac10\ub418\uc5b4 \ucd9c\uc18c\ud574\uc57c \ud558\ub294 \uacbd\uc6b0 \ucde8\ud560 \uc218 \uc788\ub294 \uba87 \uac00\uc9c0 \uc77c\ubc18\uc801\uc778 \uc870\uce58\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4:\r\n\r\n\ubcc0\ud638\uc0ac\uc5d0\uac8c \uc5f0\ub77d\ud558\uae30: \ubc95\uc801 \ub300\ub9ac\uc778\uc774 \uc788\uac70\ub098 \uc0ac\uac74\uc744 \ub3c4\uc640\uc904 \uc218 \uc788\ub294 \ubcc0\ud638\uc0ac\ub97c \uc54c\uace0 \uc788\ub294 \uacbd\uc6b0 \ud574\ub2f9 \ubcc0\ud638\uc0ac\uc5d0\uac8c \uc5f0\ub77d\ud558\uc5ec \ubc95\uc801 \uc808\ucc28\ub97c \uc9c4\ud589\ud558\ub294 \ub370 \ub3c4\uc6c0\uc744 \uc694\uccad\ud558\uc138\uc694.\r\n\r\n\ubcf4\uc11d \ubcf4\uc99d\uae08 \ubc1b\uae30: \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 \ubcf4\uc11d\uae08\uc744 \ub0b4\uace0 \uad6c\uce58\uc18c\uc5d0\uc11c \ud480\ub824\ub0a0 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc704\ud574\uc11c\ub294 \ubc95\uc6d0\uc5d0 \uc77c\uc815 \uae08\uc561\uc744 \ub0a9\ubd80\ud574\uc57c \ud558\uba70, \uc77c\ubc18\uc801\uc73c\ub85c \ud544\uc694\ud55c \ubaa8\ub4e0 \ubc95\uc815 \uae30\uc77c\uc5d0 \ucd9c\uc11d\ud558\uba74 \ubc18\ud658\ub429\ub2c8\ub2e4.\r\n\r\n\ubc95\uc6d0 \uc2ec\ub9ac\uc5d0 \ucc38\uc11d\ud558\uc138\uc694: \uc608\uc815\ub41c \uc2ec\ub9ac\uc5d0 \ucc38\uc11d\ud558\uace0 \ubc95\uc6d0\uc774 \uc815\ud55c \uc11d\ubc29 \uc870\uac74\uc744 \ub530\ub974\ub294 \ub4f1 \ubaa8\ub4e0 \ubc95\uc6d0 \uc694\uac74\uc744 \uc900\uc218\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4.\r\n\r\n\uc9c0\uc6d0\uc744 \uad6c\ud558\uc138\uc694: \uc774 \uc5b4\ub824\uc6b4 \uc2dc\uae30\uc5d0 \ub3c4\uc6c0\uc774\ub098 \uc548\ub0b4\ub97c \uc81c\uacf5\ud560 \uc218 \uc788\ub294 \uac00\uc871, \uce5c\uad6c \ub610\ub294 \uc9c0\uc5ed \ub2e8\uccb4\uc5d0 \uc5f0\ub77d\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.\r\n\r\n\ucd9c\uc18c \uc808\ucc28\ub294 \uc0ac\uac74\uc758 \uad6c\uccb4\uc801\uc778 \uc0c1\ud669\uacfc \uad00\ud560\uad8c\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c8 \uc218 \uc788\ub2e4\ub294 \uc810\uc744 \uba85\uc2ec\ud558\uc138\uc694. \ud56d\uc0c1 \ubc95\ub960 \uc804\ubb38\uac00\uc640 \uc0c1\ub2f4\ud558\uc5ec \ub9de\ucda4\ud615 \uc870\uc5b8\uacfc \ub3c4\uc6c0\uc744 \ubc1b\ub294 \uac83\uc774 \uac00\uc7a5 \uc88b\uc2b5\ub2c8\ub2e4.<\/pre>\n<p><span style=\"font-weight: 400;\">\uadf8\ub9ac\uace0 \ucee8\ud14d\uc2a4\ud2b8\uc640 \ud568\uaed8:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:default decode:true\">&gt; let question = \"how to get out of jail\"; vector enrich-text $question | vector search pdf textVector | select id |doc get| select content.text | ask $question\r\n\r\n\ud83d\udc64 Laurent Doguin \ud83c\udfe0 capella in \u2601\ufe0f cbsh.gitlog.pdf\r\n\r\n&gt; let question = \"how to get out of jail\"; vector enrich-text $question | vector search pdf textVector | select id |doc get| select content.text | ask $question\r\n\r\nEmbedding batch 1\/1&amp;nbsp;\r\n\r\nYou can get out of jail by following these methods:\r\n\r\n**Roll Doubles:** If you roll a double with the white dice on any of your next three turns, you can immediately move out of Jail. You then move the number of spaces shown by your doubles roll.\r\n\r\n**\"Get Out of Jail Free\" Card:** If you have a \"Get Out of Jail Free\" card, you can use it to get out of Jail without rolling doubles. This card can be obtained by purchasing it from another player or drawing it from the Chance or Community Chest cards.\r\n\r\n**Pay Fine:** You can also choose to pay a fine of $50 before you roll the dice on either of your next two turns. After paying the fine, you are free to move and continue playing.\r\n\r\nRemember, if you do not roll doubles by your third turn or use a \"Get Out of Jail Free\" card, you must pay the $50 fine to get out of Jail.<\/pre>\n<p><span style=\"font-weight: 400;\">\ubaa8\ub4e0 \uac83\uc744 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0 \ub123\uc5b4\uc11c \ub2e8\uc21c\ud654\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \ub2e4\uc74c\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ub0b4\uc6a9\uc785\ub2c8\ub2e4. <\/span><i><span style=\"font-weight: 400;\">myScript.nu<\/span><\/i><span style=\"font-weight: 400;\">:<\/span><\/p>\n<pre class=\"nums:false wrap:true lang:default decode:true\">def initRAGPipeline [] {\r\n    \ubc94\uc704 PDF \uc0dd\uc131\r\n    cb-env \ubc94\uc704 pdf\r\n    \uceec\ub809\uc158 PDF \uc0dd\uc131\r\n    cb-env \uceec\ub809\uc158 PDF\r\n    \ucffc\ub9ac \"`default`:`cbsh`.`pdf`.`pdf`\uc5d0 \uae30\ubcf8 \uc778\ub371\uc2a4 \ub9cc\ub4e4\uae30\"\r\n    \ubca1\ud130 create-index pdf textVector 1536\r\n}\r\n\r\ndef storeRAGDoc [] {\r\n    WRAP TEXT | WRAP CONTENT | EACH { INSERT ID { RANDOM UUID } } | \ubb38\uc11c \uc5c5\uc11c\ud2b8\r\n    \ucffc\ub9ac \"SELECT meta().id as id, p.* from `pdf` as p\"  | \ub0b4\uc6a9 \uc904 \ubc14\uafc8 | \ubca1\ud130 \uc11c\uc2dd \uc788\ub294 \ubb38\uc11c \ud14d\uc2a4\ud2b8 | \ubb38\uc11c \uc5c5\uc11c\ud2b8\r\n}\r\n\r\ndef myAsk [$question: \ubb38\uc790\uc5f4] {\r\n    let norag = ask $question\r\n    let rag = \ubca1\ud130 enrich-text $question | \ubca1\ud130 \uac80\uc0c9 pdf textVector | select id | doc get| select content.text | ask $question\r\n    {\"rag\":$rag, \"norag\":$norag}\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">\uc2a4\ud06c\ub9bd\ud2b8 \ud30c\uc77c\uc744 \uc18c\uc2f1\ud55c \ub2e4\uc74c \ud574\ub2f9 \ud568\uc218\ub97c \ud638\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4:<\/span><\/p>\n<pre class=\"font-size:10 line-height:10 nums:false lang:default decode:true\">&gt; \uc18c\uc2a4 .\/ragDemo\/ragScript.nu\r\n&gt; initRAGPipeline\r\n&gt; monopolyInstruction.txt \uc5f4\uae30 | \ud589 \ubd84\ud560 \"\r\n:::\r\n::: \"| store\r\n&gt; myAsk \"\uac10\uc625\uc5d0\uc11c \ud0c8\ucd9c\ud558\ub294 \ubc29\ubc95\"\r\n\ubc30\uce58 1\/1 \uc784\ubca0\ub529\r\n\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\r\n\ud5dd\uac8a \u2502 \u2502 \ubaa8\ub178\ud3f4\ub9ac \uac8c\uc784\uc5d0\uc11c \uac10\uc625\uc5d0\uc11c \ud0c8\ucd9c\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 1. **\ub450 \ubc30\ub85c \uad74\ub9ac\uae30:** \uac10\uc625\uc5d0\uc11c \ud0c8\ucd9c\ud558\ub294 \uac00\uc7a5 \uc77c\ubc18\uc801\uc778 \ubc29\ubc95\uc740 \uc790\uc2e0\uc758 \ucc28\ub840\uc5d0 \ub450 \ubc30\ub97c \uad74\ub9ac\ub294 \uac83\uc785\ub2c8\ub2e4. \ub864\uc744 \uad74\ub9ac\uba74 \u2502 \u2502 \u2502\r\n\u2502 \u2502 \uac10\uc625\uc5d0 \ubcf4\ub0b4\uc9c4 \ud6c4 \ub2e4\uc74c \uc138 \ud134\uc5d0 \uc77c\ubc18 \ud770\uc0c9 \uc8fc\uc0ac\uc704\ub85c \ub450 \ubc30\ub97c \uad74\ub9ac\uba74, \uc989\uc2dc \ud1a0\ud070\uc744 \uac10\uc625 \ubc16\uc73c\ub85c \uc62e\uae30\uace0 \ud574\ub2f9 \u2502 \u2502 \uce78\ub9cc\ud07c \uc804\uc9c4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\uce78\ub9cc\ud07c \uc804\uc9c4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud770\uc0c9 \uc8fc\uc0ac\uc704\ub294 \uc774 \uc6a9\ub3c4\ub85c\ub9cc \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4\ub294 \uc810\uc744 \uae30\uc5b5\ud558\uc138\uc694.                                                                                              \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 2. **\"\uac10\uc625 \ubb34\ub8cc \ud0c8\ucd9c\" \uce74\ub4dc \uc0ac\uc6a9\ud558\uae30:** \"\uac10\uc625 \ubb34\ub8cc \ud0c8\ucd9c\" \uce74\ub4dc\uac00 \uc788\uc73c\uba74 \u2502 \u2502 \u2502\r\n\u2502 \u2502 \uc774 \uce74\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \ub450 \ubc30\ub85c \uacc4\uc0b0\ud558\uc9c0 \uc54a\uace0 \ucd9c\uc18c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc740\ud589\uc6d0\uc5d0\uac8c \uce74\ub4dc\ub97c \uc81c\uc2dc\ud558\uae30\ub9cc \ud558\uba74 \uac10\uc625\uc5d0\uc11c \ubb34\ub8cc\ub85c \ucd9c\uc18c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7f0 \ub2e4\uc74c \uce74\ub4dc\ub294 \ub371\uc758 \ub9e8 \uc544\ub798\ub85c \ub418\ub3cc\ub824\uc9d1\ub2c8\ub2e4.     \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 3. \u2502\r\n\uce74\ub4dc \uad6c\ub9e4: ** \ub2e4\ub978 \ud50c\ub808\uc774\uc5b4\uac00 \"\uac10\uc625\uc5d0\uc11c \ubb34\ub8cc\ub85c \ud0c8\ucd9c\" \uce74\ub4dc\ub97c \uac00\uc9c0\uace0 \uc788\uace0 \ud310\ub9e4\ud560 \uc758\uc0ac\uac00 \uc788\ub2e4\uba74, \uc11c\ub85c \ud569\uc758\ud55c \uac00\uaca9\uc5d0 \uce74\ub4dc\ub97c \uad6c\ub9e4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.     \u2502\r\n\u2502 \u2502 \uce74\ub4dc\ub97c \uc9c1\uc811 \uac00\uc9c0\uace0 \uc788\uc9c0 \uc54a\ub354\ub77c\ub3c4 \uac10\uc625\uc5d0\uc11c \ud0c8\ucd9c\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.                                                                                                   \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 4. **\ubc8c\uae08 \ub0b4\uae30:** \uc138 \ud134 \uc548\uc5d0 \ub450 \ubc30\ub97c \uad74\ub9ac\uc9c0 \uc54a\uac70\ub098 \"\u2502 \u2502 \uac10\uc625\uc5d0\uc11c \ud0c8\ucd9c\ud558\uae30\" \uce74\ub4dc\uac00 \uc5c6\ub294 \uacbd\uc6b0 \u2502 \u2502 \u2502 \uac10\uc625\uc5d0\uc11c \ud0c8\ucd9c\ud558\uae30\r\n\uac10\uc625\uc5d0\uc11c \ud0c8\ucd9c\" \uce74\ub4dc\ub97c \uac00\uc9c0\uace0 \uc788\uc9c0 \uc54a\ub2e4\uba74, \ub2e4\uc74c \ub450 \ud134\uc5d0 \uc8fc\uc0ac\uc704\ub97c \uad74\ub9ac\uae30 \uc804\uc5d0 $50\uc758 \ubc8c\uae08\uc744 \uc740\ud589\uc5d0 \uc9c0\ubd88\ud574\uc57c \ud569\ub2c8\ub2e4. \ubc8c\uae08\uc744 \uc9c0\ubd88\ud558\uba74 \uc989\uc2dc \u2502 \u2502 \uac10\uc625\uc5d0\uc11c \ud480\ub824\ub098 \u2502 \u2502 \u2502 \uac10\uc625\uc5d0\uc11c \ubc97\uc5b4\ub0a0 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\uac10\uc625\uc5d0\uc11c \ud480\ub824\ub098 \uc8fc\uc0ac\uc704\ub97c \uad74\ub9b0 \uacb0\uacfc\uc5d0 \ub530\ub77c \ud1a0\ud070\uc744 \uc774\ub3d9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.                                                                                                                             \u2502\r\n\u2502 \u2502 \u2502\r\n\ubaa8\ub178\ud3f4\ub9ac\uc5d0\uc11c \uac10\uc625\uc5d0\uc11c \ud0c8\ucd9c\ud558\ub294 \ubc29\ubc95\uc740 \ud06c\uac8c \ub124 \uac00\uc9c0\uc785\ub2c8\ub2e4.                                                                                                                   \u2502\r\n\ub178\ub77c\uadf8 \u2502 \ubcf8\uc778 \ub610\ub294 \uc9c0\uc778\uc774 \ud604\uc7ac \uac10\uc625\uc5d0 \uc218\uac10\ub418\uc5b4 \uc788\uace0 \ucd9c\uc18c\ud558\ub824\ub294 \uacbd\uc6b0 \uace0\ub824\ud574\uc57c \ud560 \uba87 \uac00\uc9c0 \uc77c\ubc18\uc801\uc778 \ub2e8\uacc4\uac00 \uc788\uc2b5\ub2c8\ub2e4:                                                          \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 1. \ubcc0\ud638\uc0ac\uc5d0\uac8c \uc5f0\ub77d\ud558\uc138\uc694: \ud615\uc0ac \ubcc0\ud638\uc0ac\ub294 \u2502 \u2502 \u2502 \u2502 \ub2e4\uc74c\uacfc \uac19\uc740 \uc77c\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\u2502 \u2502 \ubc95\uc801 \uc635\uc158\uc5d0 \ub300\ud55c \uc548\ub0b4\ub97c \uc81c\uacf5\ud558\uace0 \uc11d\ubc29\uc744 \uc704\ud55c \ubc95\uc801 \uc808\ucc28\ub97c \ud0d0\uc0c9\ud558\ub294 \ub370 \ub3c4\uc6c0\uc744 \uc904 \uc218 \uc788\uc2b5\ub2c8\ub2e4.                                                                                             \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 2. \ubc95\uc6d0 \uc2ec\ub9ac\uc5d0 \ucc38\uc11d\ud558\uc2ed\uc2dc\uc624: \ubaa8\ub4e0 \ubc95\uc6d0 \uc2ec\ub9ac\uc5d0 \ucc38\uc11d\ud558\uace0 \ubc95\uc6d0\uc774 \uc815\ud55c \u2502 \u2502 \u2502 \uc870\uac74\uc744 \uc900\uc218\ud558\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4.\r\n\u2502 \u2502 \ubc95\uc6d0\uc774 \ubc95\ub960 \uc2dc\uc2a4\ud15c\uc5d0 \ub300\ud55c \ud611\uc870\ub97c \uc785\uc99d\ud558\uae30 \uc704\ud574 \uc124\uc815\ud55c \uc870\uac74\uc744 \uc900\uc218\ud574\uc57c \ud569\ub2c8\ub2e4.                                                                                                  \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 3. \ubcf4\uc11d\uc744 \uace0\ub824\ud569\ub2c8\ub2e4: \ubcf4\uc11d\uae08\uc774 \uc120\ud0dd \uc0ac\ud56d\uc778 \uacbd\uc6b0, \uc77c\uc815 \uae08\uc561\uc744 \uc9c0\ubd88\ud558\uace0 \u2502 \u2502 \uad6c\uae08 \uc911\uc778 \uc7ac\ud310\uc5d0\uc11c \ud480\ub824\ub0a0 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\r\n\u2502 \u2502 \uc7ac\ud310 \uacc4\ub958 \uc911\uc778 \uac10\uc625\uc5d0\uc11c \uc11d\ubc29\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubcf4\uc11d \uae08\uc561\uc744 \uac10\ub2f9\ud560 \uc218 \uc5c6\ub294 \uacbd\uc6b0 \ubcf4\uc11d\uae08 \ub300\ub9ac\uc778\uc5d0\uac8c \ub3c4\uc6c0\uc744 \uc694\uccad\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.                                                                      \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 4. \ub2e4\ub978 \uc635\uc158\uc744 \ubaa8\uc0c9\ud569\ub2c8\ub2e4: \uadc0\ud558\uc758 \u2502 \u2502 \u2502 \uc0ac\uac74\uc758 \uc0c1\ud669\uc5d0 \ub530\ub77c\r\n\uc0ac\uac74\uc758 \uc0c1\ud669\uc5d0 \ub530\ub77c \uc7ac\ud310 \uc804 \uc11c\ube44\uc2a4, \uc804\ud658 \ud504\ub85c\uadf8\ub7a8 \ub610\ub294 \uac10\ub3c5 \uc11d\ubc29\uacfc \uac19\uc740 \uc11d\ubc29\uc5d0 \ub300\ud55c \ub300\uccb4 \uc635\uc158\uc774 \uc788\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.                                                       \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 5. \ubc95\ub960 \uc790\ubb38\uc744 \ub530\ub974\uc138\uc694: \ubc95\ub960 \uc804\ubb38\uac00\uc758 \u2502 \u2502 \u2502 \u2502 \uc870\uc5b8\uc744 \ub530\ub974\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4.\r\n\ubc95\ub960 \uace0\ubb38\uc758 \uc870\uc5b8\uc744 \ub530\ub974\uace0 \ubaa8\ub4e0 \ubc95\uc801 \uc694\uac74\uc744 \uc900\uc218\ud558\uc5ec \uc131\uacf5\uc801\uc778 \uc11d\ubc29 \uac00\ub2a5\uc131\uc744 \ub192\uc774\ub294 \uac83\uc774 \uc911\uc694\ud569\ub2c8\ub2e4.                                                           \u2502\r\n\u2502 \u2502 \u2502\r\n\u2502 \u2502 \u2502 \uac10\uc625\uc5d0\uc11c \ub098\uc624\ub294 \uacfc\uc815\uc740 \u2502 \u2502 \u2502\r\n\uc0ac\uac74\uc758 \uad6c\uccb4\uc801\uc778 \uc0c1\ud669\uacfc \uad00\ud560 \uc9c0\uc5ed\uc758 \ubc95\ub960\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub9de\ucda4\ud615 \uc548\ub0b4\ub97c \ubc1b\uc73c\ub824\uba74 \ubcc0\ud638\uc0ac \ub610\ub294 \u2502 \u2502 \u2502 \u2502 \ubc95\ub960 \uc804\ubb38\uac00\uc640 \uc0c1\ub2f4\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.\r\n\u2502 \u2502 \ud615\ubc95\uc744 \uc804\ubb38\uc73c\ub85c \ud558\ub294 \ubc95\ub960 \uc804\ubb38\uac00\uc640 \uc0c1\ub2f4\ud558\ub294 \uac83\uc774 \uc88b\uc2b5\ub2c8\ub2e4.                                                                                                                               \u2502\r\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f<\/pre>\n<p><span style=\"font-weight: 400;\">\uc5ec\uae30\uc5d0\uc11c\ub294 Python RAG \ub370\ubaa8\uc5d0\uc11c \uc5bb\uc740 \uac83\uacfc \ub3d9\uc77c\ud55c \uc885\ub958\uc758 \uacb0\uacfc\ub97c \ubcfc \uc218 \uc788\uc9c0\ub9cc \uc774\ubc88\uc5d0\ub294 Couchbase Shell\uc744 \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc571\uc744 \ubc30\ud3ec\ud558\uac70\ub098 Python\uc744 \uc54c \ud544\uc694\uac00 \uc5c6\uc73c\ubbc0\ub85c \uc870\uc791, \ubcc0\uacbd \ub610\ub294 \ud655\uc7a5\ud558\uae30\uac00 \ub354 \uc26c\uc6b8 \uac83\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \ud30c\uc774\uc36c\uacfc \ub7ad\uccb4\uc778\uc73c\ub85c \ub2ec\uc131\ud560 \uc218 \uc788\ub294 \uac83\ubcf4\ub2e4\ub294 \uc720\uc5f0\uc131\uc774 \ub5a8\uc5b4\uc9c8 \uac83\uc785\ub2c8\ub2e4.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\uad00\uc2ec\uc774 \uc788\uc73c\uc2dc\ub2e4\uba74 \uacc4\uc18d \uc9c0\ucf1c\ubd10 \uc8fc\uc138\uc694. \ub354 \ub9ce\uc740 AI \ubc0f Couchbase Shell \ucf58\ud150\uce20\uac00 \uc900\ube44 \uc911\uc785\ub2c8\ub2e4!<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>\uc790\uc138\ud788 \uc54c\uc544\ubcf4\uae30 <a href=\"https:\/\/couchbase.sh\/\"><span style=\"font-weight: 400;\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \uc178<\/span><\/a><\/li>\n<li>\uadf8\ub9ac\uace0 <a href=\"https:\/\/www.couchbase.com\/blog\/ko\/products\/vector-search\/\">\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ubca1\ud130 \uac80\uc0c9<\/a> \uae30\ub2a5<\/li>\n<\/ul>\n<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Previously, we showed how to use Couchbase RAG capabilities through a Python app that allows the user to &#8216;chat&#8217; with their PDF or with X. It&#8217;s simple to build, but can we build it simpler? I have been playing a [&hellip;]<\/p>","protected":false},"author":49,"featured_media":16570,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[10122,1815,9973,9937],"tags":[10020,10024,10038,9924],"ppma_author":[9023],"class_list":["post-16568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artificial-intelligence-ai","category-best-practices-and-tutorials","category-generative-ai-genai","category-vector-search","tag-cbshell","tag-couchbase-shell","tag-nushell","tag-rag-retrieval-augmented-generation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PDF RAG Demo: Building Simplified AI Workflows with Couchbase Shell<\/title>\n<meta name=\"description\" content=\"Explore how to create a PDF-based RAG pipeline using Couchbase Shell, making AI workflows simpler and more efficient with step-by-step guidance.\" \/>\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\/ko\/pdf-rag-demo-couchbase-shell\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PDF RAG Demo: Building Simplified AI Workflows with Couchbase Shell\" \/>\n<meta property=\"og:description\" content=\"Explore how to create a PDF-based RAG pipeline using Couchbase Shell, making AI workflows simpler and more efficient with step-by-step guidance.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/ko\/pdf-rag-demo-couchbase-shell\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-16T00:36:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-13T23:36:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.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=\"Laurent Doguin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ldoguin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"unstructured.io\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/\"},\"author\":{\"name\":\"Laurent Doguin\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\"},\"headline\":\"PDF RAG Demo: Building Simplified AI Workflows with Couchbase Shell\",\"datePublished\":\"2024-11-16T00:36:03+00:00\",\"dateModified\":\"2025-06-13T23:36:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/\"},\"wordCount\":441,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png\",\"keywords\":[\"cbshell\",\"couchbase shell\",\"nushell\",\"RAG retrieval-augmented generation\"],\"articleSection\":[\"Artificial Intelligence (AI)\",\"Best Practices and Tutorials\",\"Generative AI (GenAI)\",\"Vector Search\"],\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/\",\"name\":\"PDF RAG Demo: Building Simplified AI Workflows with Couchbase Shell\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png\",\"datePublished\":\"2024-11-16T00:36:03+00:00\",\"dateModified\":\"2025-06-13T23:36:33+00:00\",\"description\":\"Explore how to create a PDF-based RAG pipeline using Couchbase Shell, making AI workflows simpler and more efficient with step-by-step guidance.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png\",\"width\":2400,\"height\":1256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PDF RAG Demo: Building Simplified AI Workflows with Couchbase Shell\"}]},{\"@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\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@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\/c0aa9b8f1ed51b7a9e2f7cb755994a5e\",\"name\":\"Laurent Doguin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/12929ce99397769f362b7a90d6b85071\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g\",\"caption\":\"Laurent Doguin\"},\"description\":\"Laurent is a nerdy metal head who lives in Paris. He mostly writes code in Java and structured text in AsciiDoc, and often talks about data, reactive programming and other buzzwordy stuff. He is also a former Developer Advocate for Clever Cloud and Nuxeo where he devoted his time and expertise to helping those communities grow bigger and stronger. He now runs Developer Relations at Couchbase.\",\"sameAs\":[\"https:\/\/x.com\/ldoguin\"],\"honorificPrefix\":\"Mr\",\"birthDate\":\"1985-06-07\",\"gender\":\"male\",\"award\":[\"Devoxx Champion\",\"Couchbase Legend\"],\"knowsAbout\":[\"Java\"],\"knowsLanguage\":[\"English\",\"French\"],\"jobTitle\":\"Director Developer Relation & Strategy\",\"worksFor\":\"Couchbase\",\"url\":\"https:\/\/www.couchbase.com\/blog\/ko\/author\/laurent-doguin\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PDF RAG \ub370\ubaa8: Couchbase Shell\ub85c \uac04\uc18c\ud654\ub41c AI \uc6cc\ud06c\ud50c\ub85c \uad6c\ucd95\ud558\uae30","description":"\ub2e8\uacc4\ubcc4 \uc548\ub0b4\ub97c \ud1b5\ud574 \ub2e8\uacc4\ubcc4 \uc548\ub0b4\ub97c \ud1b5\ud574 AI \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \ub354 \uac04\ub2e8\ud558\uace0 \ud6a8\uc728\uc801\uc73c\ub85c \ub9cc\ub4dc\ub294 Couchbase Shell\uc744 \uc0ac\uc6a9\ud558\uc5ec PDF \uae30\ubc18 RAG \ud30c\uc774\ud504\ub77c\uc778\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uc138\uc694.","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\/ko\/pdf-rag-demo-couchbase-shell\/","og_locale":"ko_KR","og_type":"article","og_title":"PDF RAG Demo: Building Simplified AI Workflows with Couchbase Shell","og_description":"Explore how to create a PDF-based RAG pipeline using Couchbase Shell, making AI workflows simpler and more efficient with step-by-step guidance.","og_url":"https:\/\/www.couchbase.com\/blog\/ko\/pdf-rag-demo-couchbase-shell\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-11-16T00:36:03+00:00","article_modified_time":"2025-06-13T23:36:33+00:00","og_image":[{"width":2400,"height":1256,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png","type":"image\/png"}],"author":"Laurent Doguin","twitter_card":"summary_large_image","twitter_creator":"@ldoguin","twitter_misc":{"Written by":"unstructured.io","Est. reading time":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/"},"author":{"name":"Laurent Doguin","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/c0aa9b8f1ed51b7a9e2f7cb755994a5e"},"headline":"PDF RAG Demo: Building Simplified AI Workflows with Couchbase Shell","datePublished":"2024-11-16T00:36:03+00:00","dateModified":"2025-06-13T23:36:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/"},"wordCount":441,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png","keywords":["cbshell","couchbase shell","nushell","RAG retrieval-augmented generation"],"articleSection":["Artificial Intelligence (AI)","Best Practices and Tutorials","Generative AI (GenAI)","Vector Search"],"inLanguage":"ko-KR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/","url":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/","name":"PDF RAG \ub370\ubaa8: Couchbase Shell\ub85c \uac04\uc18c\ud654\ub41c AI \uc6cc\ud06c\ud50c\ub85c \uad6c\ucd95\ud558\uae30","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png","datePublished":"2024-11-16T00:36:03+00:00","dateModified":"2025-06-13T23:36:33+00:00","description":"\ub2e8\uacc4\ubcc4 \uc548\ub0b4\ub97c \ud1b5\ud574 \ub2e8\uacc4\ubcc4 \uc548\ub0b4\ub97c \ud1b5\ud574 AI \uc6cc\ud06c\ud50c\ub85c\uc6b0\ub97c \ub354 \uac04\ub2e8\ud558\uace0 \ud6a8\uc728\uc801\uc73c\ub85c \ub9cc\ub4dc\ub294 Couchbase Shell\uc744 \uc0ac\uc6a9\ud558\uc5ec PDF \uae30\ubc18 RAG \ud30c\uc774\ud504\ub77c\uc778\uc744 \ub9cc\ub4dc\ub294 \ubc29\ubc95\uc744 \uc0b4\ud3b4\ubcf4\uc138\uc694.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/"]}]},{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/11\/blog-pdf-chat-couchbase-shell.png","width":2400,"height":1256},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/pdf-rag-demo-couchbase-shell\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PDF RAG Demo: Building Simplified AI Workflows with Couchbase Shell"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","description":"NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4, Couchbase","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":"ko-KR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"\uce74\uc6b0\uce58\ubca0\uc774\uc2a4 \ube14\ub85c\uadf8","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@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\/c0aa9b8f1ed51b7a9e2f7cb755994a5e","name":"\ub85c\ub791 \ub3c4\uadc4","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/12929ce99397769f362b7a90d6b85071","url":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","caption":"Laurent Doguin"},"description":"Laurent\ub294 \ud30c\ub9ac\uc5d0 \uc0ac\ub294 \uad34\uc9dc \uae08\uc18d\uacf5\ud559\ub3c4\uc785\ub2c8\ub2e4. \uc8fc\ub85c Java\ub85c \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uace0 AsciiDoc\uc73c\ub85c \uad6c\uc870\ud654\ub41c \ud14d\uc2a4\ud2b8\ub97c \uc791\uc131\ud558\uba70 \ub370\uc774\ud130, \ub9ac\uc561\ud2f0\ube0c \ud504\ub85c\uadf8\ub798\ubc0d \ubc0f \uae30\ud0c0 \uc720\ud589\uc5b4\uc5d0 \ub300\ud574 \uc790\uc8fc \uc774\uc57c\uae30\ud569\ub2c8\ub2e4. \ub610\ud55c Clever Cloud\uc640 Nuxeo\uc758 \uac1c\ubc1c\uc790 \uc639\ud638\uc790\ub85c \ud65c\ub3d9\ud558\uba70 \ud574\ub2f9 \ucee4\ubba4\ub2c8\ud2f0\uac00 \ub354 \ud06c\uace0 \uac15\ub825\ud558\uac8c \uc131\uc7a5\ud560 \uc218 \uc788\ub3c4\ub85d \uc790\uc2e0\uc758 \uc2dc\uac04\uacfc \uc804\ubb38\uc131\uc744 \ubc14\ucce4\uc2b5\ub2c8\ub2e4. \ud604\uc7ac Couchbase\uc5d0\uc11c \uac1c\ubc1c\uc790 \uad00\uacc4\ub97c \uc6b4\uc601\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.","sameAs":["https:\/\/x.com\/ldoguin"],"honorificPrefix":"Mr","birthDate":"1985-06-07","gender":"male","award":["Devoxx Champion","Couchbase Legend"],"knowsAbout":["Java"],"knowsLanguage":["English","French"],"jobTitle":"Director Developer Relation & Strategy","worksFor":"Couchbase","url":"https:\/\/www.couchbase.com\/blog\/ko\/author\/laurent-doguin\/"}]}},"authors":[{"term_id":9023,"user_id":49,"is_guest":0,"slug":"laurent-doguin","display_name":"Laurent Doguin","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b8c466908092b46634af916b6921f30187a051e4367ded7ac9b1a3f2c5692fd2?s=96&d=mm&r=g","author_category":"","last_name":"Doguin","first_name":"Laurent","job_title":"","user_url":"","description":"Laurent\ub294 \ud30c\ub9ac\uc5d0 \uc0ac\ub294 \uad34\uc9dc \uae08\uc18d\uacf5\ud559\ub3c4\uc785\ub2c8\ub2e4. \uc8fc\ub85c Java\ub85c \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uace0 AsciiDoc\uc73c\ub85c \uad6c\uc870\ud654\ub41c \ud14d\uc2a4\ud2b8\ub97c \uc791\uc131\ud558\uba70 \ub370\uc774\ud130, \ub9ac\uc561\ud2f0\ube0c \ud504\ub85c\uadf8\ub798\ubc0d \ubc0f \uae30\ud0c0 \uc720\ud589\uc5b4\uc5d0 \ub300\ud574 \uc790\uc8fc \uc774\uc57c\uae30\ud569\ub2c8\ub2e4. \ub610\ud55c Clever Cloud\uc640 Nuxeo\uc758 \uac1c\ubc1c\uc790 \uc639\ud638\uc790\ub85c \ud65c\ub3d9\ud558\uba70 \ud574\ub2f9 \ucee4\ubba4\ub2c8\ud2f0\uac00 \ub354 \ud06c\uace0 \uac15\ub825\ud558\uac8c \uc131\uc7a5\ud560 \uc218 \uc788\ub3c4\ub85d \uc790\uc2e0\uc758 \uc2dc\uac04\uacfc \uc804\ubb38\uc131\uc744 \ubc14\ucce4\uc2b5\ub2c8\ub2e4. \ud604\uc7ac Couchbase\uc5d0\uc11c \uac1c\ubc1c\uc790 \uad00\uacc4\ub97c \uc6b4\uc601\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/16568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/comments?post=16568"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/posts\/16568\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media\/16570"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/media?parent=16568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/categories?post=16568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/tags?post=16568"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/ko\/wp-json\/wp\/v2\/ppma_author?post=16568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}