{"id":5185,"date":"2025-12-12T13:26:54","date_gmt":"2025-12-12T04:26:54","guid":{"rendered":"https:\/\/secondlife.lol\/?p=5185"},"modified":"2025-12-12T14:15:13","modified_gmt":"2025-12-12T05:15:13","slug":"open-webui-ollama-summarization-workflow-part5","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/en\/open-webui-ollama-summarization-workflow-part5\/","title":{"rendered":"Open WebUI Ollama \uc694\uc57d \ud30c\uc774\ud504\ub77c\uc778 \uc124\uacc4: \uc7a5\uace0 \uc5f0\ub3d9 \uc9c1\uc804\uae4c\uc9c0 \uc2f9 \ub2e4 \uc815\ub9ac"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"335\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-10-600x335.jpg\" alt=\"\" class=\"wp-image-5190\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-10-600x335.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-10-300x168.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-10-768x429.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-10-18x10.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-10.jpg 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\uc88b\uc544\uc694, \ub4dc\ub514\uc5b4 <strong>5\ubd80<\/strong>\uae4c\uc9c0 \uc654\ub124\uc694 \ud83d\ude04<br>\uc774\ubc88 \ud3b8\uc740 \ub9d0 \uadf8\ub300\ub85c<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\ud83d\udc49 \u201c\uc7a5\uace0(<a href=\"https:\/\/www.djangoproject.com\/\" target=\"_blank\" rel=\"noopener\">Django<\/a>)\ub791 \uc2e4\uc81c\ub85c \ubd99\uc774\uae30 \uc9c1\uc804\uae4c\uc9c0,<br>Open WebUI Ollama \uc694\uc57d \ud30c\uc774\ud504\ub77c\uc778 \uc804\uccb4\ub97c \uc815\ub9ac\ud558\ub294 \ub9c8\ubb34\ub9ac \ud3b8\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub77c\uace0 \ubcf4\uc2dc\uba74 \ub429\ub2c8\ub2e4.<br>(\uc989, \uc7a5\uace0 \ucf54\ub4dc\ub294 \ub2e4\uc74c \uc2dc\ub9ac\uc988 \uc8fc\uc81c\uc6a9\uc73c\ub85c \ub0a8\uaca8\ub450\uace0, \uc5ec\uae30\uc11c\ub294 <strong>\uc124\uacc4\u00b7\uc815\ub9ac<\/strong>\uc5d0 \uc9d1\uc911\ud569\ub2c8\ub2e4.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/secondlife.lol\/open-webui-ollama-local-chatgpt-part1\/\" data-type=\"post\" data-id=\"5130\">1<\/a>\u2013<a href=\"https:\/\/secondlife.lol\/open-webui-ollama-python-api-summarize-part4\/\" data-type=\"post\" data-id=\"5170\">4<\/a>\ubd80\uae4c\uc9c0 \uc6b0\ub9ac\ub294 \ucc28\uadfc\ucc28\uadfc:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ub9e5\ubd81\uc5d0 \ubaa8\ub378 \uc5d4\uc9c4(Ollama) \uc124\uce58\ud558\uace0,<\/li>\n\n\n\n<li>Docker\ub85c <strong>Open WebUI <\/strong> \ud658\uacbd\uc744 \ub744\uc6b0\uace0,<\/li>\n\n\n\n<li>Open WebUI Ollama\uc5d0\uc11c \ud55c\uad6d\uc5b4\u00b7\ubaa8\ub378 \uc124\uc815\uc744 \ud29c\ub2dd\ud558\uace0,<\/li>\n\n\n\n<li>Python \ucf54\ub4dc\ub85c <strong>Open WebUI  API\ub97c \uc9c1\uc811 \ud638\ucd9c<\/strong>\ud574\uc11c<br>\uc870\uc9c1\ubb38\ud654 \uba74\ub2f4 \ud14d\uc2a4\ud2b8\ub97c \uc694\uc57d\ud558\ub294 \uac83\uae4c\uc9c0 \ud574\ubd24\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c 5\ubd80\uc5d0\uc11c\ub294 \ud55c \uac78\uc74c \ubb3c\ub7ec\uc11c\uc11c,<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u201c\uadf8\ub7ec\uba74 \uc774\uac78 <strong>\uc2e4\uc81c \uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc5b4\ub5bb\uac8c \uc4f0\uac8c \ub420\uc9c0<\/strong>,<br>Open WebUI  \uae30\uc900\uc73c\ub85c \uc804\uccb4 \ud30c\uc774\ud504\ub77c\uc778\uc744 \uc5b4\ub5bb\uac8c \uc7a1\uc73c\uba74 \uc88b\uc740\uc9c0\u201d<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\ub97c <strong>\uc815\ub9ac\u00b7\uc870\uc9c1\ud654(Organizing)<\/strong> \ud558\ub294 \ub370 \ucd08\uc810\uc744 \ub9de\ucda5\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc7a5\uace0 \ucf54\ub4dc\ub294 \ub2e4\uc74c \uc2dc\ub9ac\uc988\uc5d0\uc11c \ud480\uace0,<br>\uc5ec\uae30\uc11c\ub294 <strong>\uc7a5\uace0\uc5d0\uc11c \ubc14\ub85c \uac00\uc838\ub2e4 \uc4f8 \uc218 \uc788\ub294 \uad6c\uc870\uae4c\uc9c0 \ub2e4\ub4ec\uc5b4 \ub193\ub294 \uac83<\/strong>\uc774 \ubaa9\ud45c\uc608\uc694.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_14e2ef-95, .wp-block-kadence-advancedheading.kt-adv-heading5185_14e2ef-95[data-kb-block=\"kb-adv-heading5185_14e2ef-95\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_14e2ef-95 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_14e2ef-95[data-kb-block=\"kb-adv-heading5185_14e2ef-95\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_14e2ef-95 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_14e2ef-95[data-kb-block=\"kb-adv-heading5185_14e2ef-95\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5185_14e2ef-95 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_14e2ef-95\">1. \uc804\uccb4 big picture \ub2e4\uc2dc \ubcf4\uae30 \u2013 Open WebUI \uc694\uc57d \ud30c\uc774\ud504\ub77c\uc778<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800, \uba38\ub9bf\uc18d\uc5d0 \uadf8\ub9bc\ubd80\ud130 \ub2e4\uc2dc \ud55c \ubc88 \ubc15\uc544\ub458\uac8c\uc694.<\/p>\n\n\n<style>.kb-image5185_eaee73-34 .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5185_eaee73-34\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"328\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-6-600x328.jpg\" alt=\"Open WebUI Ollama big picture\" class=\"kb-img wp-image-5186\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-6-600x328.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-6-300x164.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-6-768x419.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-6-18x10.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-6.jpg 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_5eb6b1-54, .wp-block-kadence-advancedheading.kt-adv-heading5185_5eb6b1-54[data-kb-block=\"kb-adv-heading5185_5eb6b1-54\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_5eb6b1-54 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_5eb6b1-54[data-kb-block=\"kb-adv-heading5185_5eb6b1-54\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_5eb6b1-54 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_5eb6b1-54[data-kb-block=\"kb-adv-heading5185_5eb6b1-54\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_5eb6b1-54 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_5eb6b1-54\">1-1. \uc9c0\uae08 \uc0c1\ud0dc\uc758 \uad6c\uc870<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uc9c0\uae08 \uc6b0\ub9ac\uac00 \ub9cc\ub4e0 \uad6c\uc870\ub97c \ud55c \uc904\ub85c \uc694\uc57d\ud558\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;\uba74\ub2f4 \ud14d\uc2a4\ud2b8 \ud30c\uc77c\/\ub370\uc774\ud130] \n   \u2192 (Python \uc2a4\ud06c\ub9bd\ud2b8)\n   \u2192 &#91;Open WebUI Ollama API] \n   \u2192 &#91;Ollama LLM \ubaa8\ub378] \n   \u2192 (\uc694\uc57d \uacb0\uacfc)\n   \u2192 &#91;\ub85c\uceec \ud30c\uc77c\/DB\uc5d0 \uc800\uc7a5]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c Open WebUI Ollama\ub294<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LLM \ubaa8\ub378\uc744 \uc9c1\uc811 \ub3cc\ub9ac\ub294 <strong>Ollama<\/strong>\uc640,<\/li>\n\n\n\n<li>\uadf8 \uc704\uc5d0 \uc62c\ub77c\uac04 <strong>\uc6f9 UI + API \ud5c8\ube0c<\/strong>\ub97c \ud569\uccd0\uc11c \ubd80\ub974\ub294 \uac1c\ub150\uc774\uace0,<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Python \uc2a4\ud06c\ub9bd\ud2b8\ub294 \uc0ac\uc2e4\uc0c1<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201cOpen WebUI \uc5d0\uac8c \uc694\uc57d\uc744 \ub9e1\uae30\uace0 \uacb0\uacfc\ub9cc \ucc59\uaca8\uc624\ub294 \ub85c\uc9c1\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub77c\uace0 \uc0dd\uac01\ud558\uc2dc\uba74 \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\ub098\uc911\uc5d0 \uc7a5\uace0\uac00 \ub4e4\uc5b4\uc624\uba74, \uad6c\uc870\uac00 \uc774\ub807\uac8c \ubc14\ub00c\uaca0\uc8e0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;\uc7a5\uace0 \uc6f9\uc571 \/ \uc0ac\ub0b4 \uc2dc\uc2a4\ud15c]\n   \u2195 (HTTP)\n&#91;Open WebUI API]\n   \u2195\n&#91;Ollama LLM \ubaa8\ub378\ub4e4]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc989, \uc9c0\uae08 Python\uc5d0\uc11c \ud558\ub358 \uc77c\uc744<br>\ub098\uc911\uc5d0\ub294 \uc7a5\uace0 \uc11c\ube44\uc2a4\/\ubdf0\/\ucee4\ub9e8\ub4dc\uac00 \ub300\uc2e0 \ud558\uac8c \ub420 \uac70\ub77c\uc11c,<br><strong>Open WebUI \ub97c \uae30\uc900\uc73c\ub85c \ud55c \ud30c\uc774\ud504\ub77c\uc778 \uc124\uacc4\uac00 \uad49\uc7a5\ud788 \uc911\uc694<\/strong>\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_96b5c6-c3, .wp-block-kadence-advancedheading.kt-adv-heading5185_96b5c6-c3[data-kb-block=\"kb-adv-heading5185_96b5c6-c3\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_96b5c6-c3 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_96b5c6-c3[data-kb-block=\"kb-adv-heading5185_96b5c6-c3\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_96b5c6-c3 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_96b5c6-c3[data-kb-block=\"kb-adv-heading5185_96b5c6-c3\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5185_96b5c6-c3 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_96b5c6-c3\">2. \ub370\uc774\ud130 \uc900\ube44 \ub2e8\uacc4 \u2013 \uc870\uc9c1\ubb38\ud654 \uba74\ub2f4\uc744 Open WebUI \uc5d0 \uba39\uc774\uae30 \uc88b\uac8c \uc815\ub9ac\ud558\uae30<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open WebUI \uac00 \uc544\ubb34\ub9ac \uc88b\uc544\ub3c4,<br>\uc785\ub825 \ub370\uc774\ud130\uac00 \uc5c9\ub9dd\uc774\uba74 \uc694\uc57d \uacb0\uacfc\ub3c4 \uc5c9\ub9dd\uc774\uc5d0\uc694.<br>\uadf8\ub798\uc11c <strong>\ub370\uc774\ud130 \uc900\ube44<\/strong>\ub97c \ud30c\uc774\ud504\ub77c\uc778\uc758 \uccab \ub2e8\uacc4\ub85c \uc7a1\ub294 \uac8c \uc88b\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_3a8738-73, .wp-block-kadence-advancedheading.kt-adv-heading5185_3a8738-73[data-kb-block=\"kb-adv-heading5185_3a8738-73\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_3a8738-73 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_3a8738-73[data-kb-block=\"kb-adv-heading5185_3a8738-73\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_3a8738-73 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_3a8738-73[data-kb-block=\"kb-adv-heading5185_3a8738-73\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_3a8738-73 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_3a8738-73\">2-1. \ud3f4\ub354\/\ud30c\uc77c \uad6c\uc870 \uc608\uc2dc<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\ub85c\uceec \uae30\uc900 \uc608\ub97c \ub4e4\uc5b4\ubcf4\uba74:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>project_root\/\n  \u251c\u2500 data\/\n  \u2502   \u251c\u2500 interviews_raw\/\n  \u2502   \u2502   \u251c\u2500 2025-01-10_\uae30\ud68d\uc2e4_A001.txt\n  \u2502   \u2502   \u251c\u2500 2025-01-10_\uc7ac\ubb34\uc2e4_A002.txt\n  \u2502   \u2502   \u2514\u2500 ...\n  \u2502   \u2514\u2500 interviews_summary\/\n  \u2502       \u251c\u2500 2025-01-10_\uae30\ud68d\uc2e4_A001_summary.md\n  \u2502       \u251c\u2500 2025-01-10_\uc7ac\ubb34\uc2e4_A002_summary.md\n  \u2502       \u2514\u2500 ...\n  \u2514\u2500 openwebui_summarizer.py<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>interviews_raw\/<\/code> \u2192 Open WebUI Ollama\uc5d0 \ub358\uc9c8 <strong>\uc6d0\ubcf8 \uba74\ub2f4 \ud14d\uc2a4\ud2b8<\/strong><\/li>\n\n\n\n<li><code>interviews_summary\/<\/code> \u2192 Open WebUI Ollama\ub85c\ubd80\ud130 \ubc1b\uc740 <strong>\uc694\uc57d \uacb0\uacfc \uc800\uc7a5\uc6a9<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc7a5\uace0\ub85c \uac00\uae30 \uc804\uae4c\uc9c0\ub294<br>\uc774\ub807\uac8c <strong>\ud30c\uc77c \ub2e8\uc704 \ud30c\uc774\ud504\ub77c\uc778<\/strong>\uc73c\ub85c Open WebUI\ub97c \ud14c\uc2a4\ud2b8\ud558\ub294 \uac8c \ud3b8\ud569\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_2f1175-80, .wp-block-kadence-advancedheading.kt-adv-heading5185_2f1175-80[data-kb-block=\"kb-adv-heading5185_2f1175-80\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_2f1175-80 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_2f1175-80[data-kb-block=\"kb-adv-heading5185_2f1175-80\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_2f1175-80 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_2f1175-80[data-kb-block=\"kb-adv-heading5185_2f1175-80\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_2f1175-80 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_2f1175-80\">2-2. \ud14d\uc2a4\ud2b8\ub97c Open WebUI \uac00 \uc88b\uc544\ud558\ub294 \ud615\ud0dc\ub85c \uc804\ucc98\ub9ac<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ubd88\ud544\uc694\ud55c \uba54\ud0c0(\uc608: \ub179\ucde8 \ubc88\ud638, \ud0c0\uc784\uc2a4\ud0ec\ud504 \ub4f1) \uc81c\uac70<\/li>\n\n\n\n<li>\uc9c8\ubb38\/\ub2f5\ubcc0 \uad6c\ubd84\uc744 \uba85\ud655\ud788:\n<ul class=\"wp-block-list\">\n<li><code>[\uc9c8\ubb38] ...<\/code>, <code>[\ub2f5\ubcc0] ...<\/code> \ub4f1\uc758 \ud0dc\uadf8\ub85c \uad6c\ubd84<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ube44\uc18d\uc5b4, \uc2e4\uba85 \ub4f1\uc740 \uc0ac\ub0b4 \uaddc\uc815\uc5d0 \ub9de\ucdb0 \ucd5c\uc18c\ud55c\uc758 \ub9c8\uc2a4\ud0b9<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub807\uac8c \uc815\ub9ac\ud574 \ub450\uba74,<br>Open WebUI\uc5d0\uac8c \ub358\uc9c8 \ub54c \ud504\ub86c\ud504\ud2b8\uac00 \ud6e8\uc52c \uae54\ub054\ud574\uc9c0\uace0<br>\uc694\uc57d \ud488\uc9c8\ub3c4 \uc88b\uc544\uc9d1\ub2c8\ub2e4.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_06d217-83, .wp-block-kadence-advancedheading.kt-adv-heading5185_06d217-83[data-kb-block=\"kb-adv-heading5185_06d217-83\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_06d217-83 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_06d217-83[data-kb-block=\"kb-adv-heading5185_06d217-83\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_06d217-83 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_06d217-83[data-kb-block=\"kb-adv-heading5185_06d217-83\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5185_06d217-83 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_06d217-83\">3. \uc694\uc57d \ud30c\uc774\ud504\ub77c\uc778 \uc124\uacc4 \u2013 Open WebUI \uae30\uc900 \u201c1\ud68c \ucc98\ub9ac\u201d \uc815\uc758\ud558\uae30<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c \u201c1\ubc88 \uc694\uc57d \ucc98\ub9ac\u201d\ub97c \uc5b4\ub5bb\uac8c \uc815\uc758\ud560\uc9c0 \uc815\ub9ac\ud574 \ubcfc\uac8c\uc694.<br>Open WebUI Ollama \uc785\uc7a5\uc5d0\uc11c <strong>\ud55c \uc0ac\uc774\ud074<\/strong>\uc740 \ubcf4\ud1b5 \uc774\ub807\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\uba74\ub2f4 \ud55c \uac74\uc758 \uc804\uccb4 \ud14d\uc2a4\ud2b8\ub97c \uc900\ube44\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uae38\uc774\uc5d0 \ub530\ub77c\n<ul class=\"wp-block-list\">\n<li>\uc9e7\uc73c\uba74: \ud55c \ubc88\uc5d0 Open WebUI \uc5d0 \ub358\uc838\uc11c \uc694\uc57d<\/li>\n\n\n\n<li>\uae38\uba74: \uccad\ud06c\ub97c \ub098\ub220\uc11c \ubd80\ubd84 \uc694\uc57d \u2192 \uba54\ud0c0 \uc694\uc57d<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uacb0\uacfc\ub97c \ub9c8\ud06c\ub2e4\uc6b4\/\ud14d\uc2a4\ud2b8\ub85c \uc800\uc7a5<\/li>\n\n\n\n<li>\ub098\uc911\uc5d0 \uc7a5\uace0\ub85c \uc62e\uae38 \ub54c\ub294 \uc774 \ud750\ub984\uc744 \uadf8\ub300\ub85c Model\/Service\ub85c \uc62e\uae40<\/li>\n<\/ol>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_8fe70a-d2, .wp-block-kadence-advancedheading.kt-adv-heading5185_8fe70a-d2[data-kb-block=\"kb-adv-heading5185_8fe70a-d2\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_8fe70a-d2 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_8fe70a-d2[data-kb-block=\"kb-adv-heading5185_8fe70a-d2\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_8fe70a-d2 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_8fe70a-d2[data-kb-block=\"kb-adv-heading5185_8fe70a-d2\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_8fe70a-d2 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_8fe70a-d2\">3-1. \ub2e8\uc77c \uc694\uc57d \uc0ac\uc774\ud074\uc758 \uc758\uc0ac \ucf54\ub4dc<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>for raw_file in interviews_raw:\n    \ud14d\uc2a4\ud2b8 \uc77d\uae30\n    if len(\ud14d\uc2a4\ud2b8) &lt; THRESHOLD:\n        summary = Open WebUI Ollama \ud55c \ubc88 \ud638\ucd9c\ub85c \uc694\uc57d\n    else:\n        chunks = \uccad\ud06c \ub098\ub204\uae30\n        partial_summaries = &#91;Open WebUI Ollama\ub85c \uac01 \uccad\ud06c \uc694\uc57d]\n        summary = Open WebUI Ollama\ub85c partial_summaries\ub97c \uba54\ud0c0 \uc694\uc57d\n    summary\ub97c interviews_summary\/ \uc544\ub798\uc5d0 \uc800\uc7a5<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc5ec\uae30\uc11c \ud575\uc2ec\uc740 <strong>Open WebUI \ub294 \uc624\uc9c1 \u201c\uc694\uc57d\u201d \uc5ed\ud560\ub9cc<\/strong> \ud558\uace0,<br>\ud30c\uc77c \uc785\ucd9c\ub825\u00b7\ud3f4\ub354 \uad6c\uc870\u00b7\uc5d0\ub7ec \ucc98\ub9ac \uac19\uc740 \uac74 \uc804\ubd80 Python\uc5d0\uc11c \ucc45\uc784\uc9c0\ub294 \uad6c\uc870\ub77c\ub294 \uc810\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub807\uac8c \ud574 \ub450\uba74,<br>\ub098\uc911\uc5d0 \uc7a5\uace0\ub85c \uc62e\uae38 \ub54c\ub294 \u201c\ud30c\uc77c \uc785\ucd9c\ub825 \u2192 DB \uc785\ucd9c\ub825\u201d \uc815\ub3c4\ub9cc \ubc14\ub00c\uace0<br><strong>Open WebUI \uad00\ub828 \ub85c\uc9c1\uc740 \uac70\uc758 \uc190\ub308 \ud544\uc694\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.<\/strong><\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_e56524-18, .wp-block-kadence-advancedheading.kt-adv-heading5185_e56524-18[data-kb-block=\"kb-adv-heading5185_e56524-18\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_e56524-18 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_e56524-18[data-kb-block=\"kb-adv-heading5185_e56524-18\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_e56524-18 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_e56524-18[data-kb-block=\"kb-adv-heading5185_e56524-18\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5185_e56524-18 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_e56524-18\">4. \ud488\uc9c8\uc744 \uc88c\uc6b0\ud558\ub294 \ud575\uc2ec \u2013 Open WebUI \ud504\ub86c\ud504\ud2b8\u00b7\ubaa8\ub378\u00b7\uccad\ud06c \uc804\ub7b5<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open WebUI \ub97c \uc9c4\uc9dc \uc2e4\ubb34\uc5d0\uc11c \uc4f8 \ub54c<br>\uac00\uc7a5 \ub9ce\uc774 \uc190\ubcf4\uac8c \ub418\ub294 \uc138 \uac00\uc9c0\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\ud504\ub86c\ud504\ud2b8 (System \/ User Prompt)<\/li>\n\n\n\n<li>\ubaa8\ub378 \uc120\ud0dd (\uc5b4\ub5a4 Open WebUI  \ubaa8\ub378\uc744 \uc4f8\uc9c0)<\/li>\n\n\n\n<li>\uccad\ud06c \ub098\ub204\ub294 \uae30\uc900<\/li>\n<\/ol>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_b0d9b0-2d, .wp-block-kadence-advancedheading.kt-adv-heading5185_b0d9b0-2d[data-kb-block=\"kb-adv-heading5185_b0d9b0-2d\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_b0d9b0-2d mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_b0d9b0-2d[data-kb-block=\"kb-adv-heading5185_b0d9b0-2d\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_b0d9b0-2d img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_b0d9b0-2d[data-kb-block=\"kb-adv-heading5185_b0d9b0-2d\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_b0d9b0-2d wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_b0d9b0-2d\">4-1. \ud504\ub86c\ud504\ud2b8: Open WebUI \ub97c \u201c\uc870\uc9c1\ubb38\ud654 \uc804\ubb38\uac00\u201d\ub85c \ub9cc\ub4e4\uc5b4\uc8fc\uae30<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\uc870\uc9c1\ubb38\ud654 \uba74\ub2f4 \uc694\uc57d\uc774\ub77c\uba74,<br>Open WebUI \uc5d0\uac8c \uc774\ub7f0 \uc5ed\ud560\uc744 \uc950\uc5b4\uc8fc\ub294 \uac8c \uc88b\uc2b5\ub2c8\ub2e4:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u201c\ub108\ub294 \uae30\uc5c5\uc758 \uc870\ubb38\ud654 \uc804\ubb38\uac00\uc774\uc790 \uc694\uc57d \uc804\ubb38\uac00\ub2e4.\u201d<\/li>\n\n\n\n<li>\u201c\uae0d\uc815\uc801 \uc694\uc18c \/ \uc6b0\ub824 \uc694\uc18c \/ \uc2dc\uc0ac\uc810\uc73c\ub85c \ub098\ub220\ub77c.\u201d<\/li>\n\n\n\n<li>\u201c\uc2e4\uc81c \ubcf4\uace0\uc11c\uc5d0 \ubd99\uc77c \uc218 \uc788\ub294 \ubb38\uc5b4\uccb4 \uc874\ub313\ub9d0\ub85c \uc791\uc131\ud574\ub77c.\u201d<\/li>\n\n\n\n<li>\u201c\uba74\ub2f4\uc790\uc758 \ube44\ud310\uc801\uc778 \ud45c\ud604\ub3c4 \uc911\ub9bd\uc801\uc778 \ubd84\uc11d \uc5b8\uc5b4\ub85c \ubc14\uafd4\ub77c.\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub7f0 \uc9c0\uc2dc\ub97c \uc2dc\uc2a4\ud15c \ud504\ub86c\ud504\ud2b8\uc5d0 \ubc15\uc544\ub450\uba74<br>Open WebUI \uac00 \ub9e4\ubc88 <strong>\uac19\uc740 \uad00\uc810\uacfc \ud1a4<\/strong>\uc73c\ub85c \uc694\uc57d\ud558\uac8c \ub9cc\ub4e4 \uc218 \uc788\uc5b4\uc694.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_5bd0b7-94, .wp-block-kadence-advancedheading.kt-adv-heading5185_5bd0b7-94[data-kb-block=\"kb-adv-heading5185_5bd0b7-94\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_5bd0b7-94 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_5bd0b7-94[data-kb-block=\"kb-adv-heading5185_5bd0b7-94\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_5bd0b7-94 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_5bd0b7-94[data-kb-block=\"kb-adv-heading5185_5bd0b7-94\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_5bd0b7-94 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_5bd0b7-94\">4-2. \ubaa8\ub378 \uc120\ud0dd: Open WebUI \uc5d0\uc11c \uc5b4\ub5a4 \ubaa8\ub378\ub85c \uc694\uc57d\ud560\uae4c?<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ucf54\ub529\u00b7\ub17c\ub9ac\uc801 \uad6c\uc870\ud654\uac00 \uc911\uc694\ud558\uba74: <code>qwen2.5:7b<\/code><\/li>\n\n\n\n<li>\ud55c\uad6d\uc5b4 \uc790\uc5f0\uc2a4\ub7ec\uc6b4 \ud45c\ud604\u00b7\uae00\uc4f0\uae30: <code>exaone3.5:7.8b<\/code> \ub610\ub294 Llama3 Korean \uacc4\uc5f4<\/li>\n\n\n\n<li>\ub450 \ubaa8\ub378\uc744 \ubc88\uac08\uc544 \uc368\ubcf4\uace0,\n<ul class=\"wp-block-list\">\n<li>\u201c\ubb38\uc7a5 \ud488\uc9c8\uc740 EXAONE\uc774 \uc88b\uace0, \uad6c\uc870\ud654\ub294 Qwen\uc774 \uc88b\ub2e4\u201d<br>\u2192 \uadf8\ub7fc \uad6c\uc870\ud654\ub294 Qwen\uc73c\ub85c, \ucd5c\uc885 \ubb38\uc7a5 \ub2e4\ub4ec\uae30\ub294 EXAONE\uc73c\ub85c<br><strong>\ub450 \ub2e8\uacc4 Open WebUI Ollama \ud30c\uc774\ud504\ub77c\uc778<\/strong>\uc744 \uc9e4 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Open WebUI Ollama\uc758 \uac15\uc810\uc740<br><strong>\uc5ec\ub7ec \ubaa8\ub378\uc744 \ud55c UI\/API\uc5d0\uc11c \ubc14\ub85c \uac08\uc544\ub07c\uc6b0\uba70 \ud14c\uc2a4\ud2b8\ud560 \uc218 \uc788\ub2e4<\/strong>\ub294 \uc810\uc774\uc8e0.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_6ec20a-19, .wp-block-kadence-advancedheading.kt-adv-heading5185_6ec20a-19[data-kb-block=\"kb-adv-heading5185_6ec20a-19\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_6ec20a-19 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_6ec20a-19[data-kb-block=\"kb-adv-heading5185_6ec20a-19\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_6ec20a-19 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_6ec20a-19[data-kb-block=\"kb-adv-heading5185_6ec20a-19\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_6ec20a-19 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_6ec20a-19\">4-3. \uccad\ud06c \uc804\ub7b5: Open WebUI \uac00 \u2018\uc228 \uc548 \ucc28\uac8c\u2019 \ub3c4\uc640\uc8fc\uae30<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uba74\ub2f4 \ub0b4\uc6a9\uc774 \uae38\uc218\ub85d:\n<ul class=\"wp-block-list\">\n<li>\uc9c8\ubb38 \ub2e8\uc704\ub85c \ub098\ub20c\uc9c0,<\/li>\n\n\n\n<li>\ud398\uc774\uc9c0 \ub2e8\uc704\ub85c \ub098\ub20c\uc9c0,<\/li>\n\n\n\n<li>\uae00\uc790 \uc218 \uae30\uc900\uc73c\ub85c \ub2e8\uc21c \ubd84\ud560\ud560\uc9c0<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uac01 \uccad\ud06c \uc694\uc57d\uc758 \uae38\uc774\ub3c4 \ud1b5\uc77c\ud558\ub294 \uac8c \uc88b\uc2b5\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li>\uc608: \u201c\uac01 \uccad\ud06c\ub294 \ucd5c\ub300 10\uc904 \uc548\uc73c\ub85c \uc694\uc57d\ud574\uc918\u201d<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\ub807\uac8c \ub8f0\uc744 \uc815\ud574\ub450\uba74,<br>Open WebUI \uac00 \ub9c8\uc9c0\ub9c9 \uba54\ud0c0 \uc694\uc57d\uc744 \ub9cc\ub4e4 \ub54c\ub3c4<br>\ud6e8\uc52c \uade0\uc77c\ud55c \uc778\ud48b\uc744 \ubc1b\uc744 \uc218 \uc788\uc5b4\uc694.<\/p>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_db23e8-bf, .wp-block-kadence-advancedheading.kt-adv-heading5185_db23e8-bf[data-kb-block=\"kb-adv-heading5185_db23e8-bf\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_db23e8-bf mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_db23e8-bf[data-kb-block=\"kb-adv-heading5185_db23e8-bf\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_db23e8-bf img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_db23e8-bf[data-kb-block=\"kb-adv-heading5185_db23e8-bf\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5185_db23e8-bf wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_db23e8-bf\">5. \ubaa8\ub4c8 \uad6c\uc870 \uc815\ub9ac \u2013 \uc7a5\uace0\uc5d0\uc11c \uc7ac\uc0ac\uc6a9\ud558\uae30 \uc26c\uc6b4 Open WebUI \ud074\ub77c\uc774\uc5b8\ud2b8 \ub9cc\ub4e4\uae30<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c \uc9c4\uc9dc\ub85c \uc7a5\uace0 \uc9c1\uc804 \ub2e8\uacc4\ub85c,<br><strong>\ucf54\ub4dc \uad6c\uc870\ub97c \u201c\ubaa8\ub4c8\ud654\u201d\ud558\ub294 \uad00\uc810\uc5d0\uc11c \ud55c \ubc88 \uc815\ub9ac\ud574\ubcfc\uac8c\uc694.<\/strong><\/p>\n\n\n<style>.kb-image5185_0f56e7-ab .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5185_0f56e7-ab\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"328\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-7-600x328.jpg\" alt=\"folder structure pic\" class=\"kb-img wp-image-5187\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-7-600x328.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-7-300x164.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-7-768x419.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-7-18x10.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-7.jpg 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_f534f7-6e, .wp-block-kadence-advancedheading.kt-adv-heading5185_f534f7-6e[data-kb-block=\"kb-adv-heading5185_f534f7-6e\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_f534f7-6e mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_f534f7-6e[data-kb-block=\"kb-adv-heading5185_f534f7-6e\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_f534f7-6e img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_f534f7-6e[data-kb-block=\"kb-adv-heading5185_f534f7-6e\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_f534f7-6e wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_f534f7-6e\">5-1. \ucd94\ucc9c Python \ubaa8\ub4c8 \uad6c\uc870<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>project_root\/\n  \u251c\u2500 openwebui_client\/\n  \u2502   \u251c\u2500 __init__.py\n  \u2502   \u251c\u2500 config.py          # BASE_URL, API_KEY, DEFAULT_MODEL \uc77d\uae30\n  \u2502   \u251c\u2500 client.py          # \uc800\uc218\uc900 \/api\/chat\/completions \ud638\ucd9c\n  \u2502   \u251c\u2500 summarizer.py      # \uc870\ubb38\ud654 \uba74\ub2f4 \uc694\uc57d \uc804\uc6a9 \ud074\ub798\uc2a4\n  \u2502   \u2514\u2500 chunking.py        # \ud14d\uc2a4\ud2b8 \uccad\ud06c\/\uba54\ud0c0 \uc694\uc57d \uc720\ud2f8\n  \u2514\u2500 scripts\/\n      \u2514\u2500 summarize_batch.py # \ud3f4\ub354 \uc548 \ubaa8\ub4e0 \uba74\ub2f4 \ud30c\uc77c \uc77c\uad04 \uc694\uc57d \uc2e4\ud589<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ub098\uc911\uc5d0 \uc7a5\uace0\uc5d0\uc11c <code>openwebui_client<\/code> \ud3f4\ub354\ub97c<br>\uadf8\ub300\ub85c <code>apps\/core\/llm\/openwebui<\/code> \uac19\uc740 \uc704\uce58\ub85c \uc62e\uaca8\uc11c \uc4f8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub807\uac8c \ud558\uba74 <strong>Open WebUI Ollama \uad00\ub828 \ucf54\ub4dc\ub294 \ud55c \uad70\ub370\uc5d0 \ubaa8\uc5ec \uc788\uace0<\/strong>,<br>\uc7a5\uace0 \ucabd\uc5d0\uc11c\ub294 \uc624\uc9c1 \u201c\uc11c\ube44\uc2a4\ub97c \ud638\ucd9c\ud55c\ub2e4\u201d\ub294 \ub290\ub08c\ub9cc \uac00\uc9c0\uba74 \ub429\ub2c8\ub2e4.<\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_a7607d-7a, .wp-block-kadence-advancedheading.kt-adv-heading5185_a7607d-7a[data-kb-block=\"kb-adv-heading5185_a7607d-7a\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_a7607d-7a mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_a7607d-7a[data-kb-block=\"kb-adv-heading5185_a7607d-7a\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_a7607d-7a img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_a7607d-7a[data-kb-block=\"kb-adv-heading5185_a7607d-7a\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h3 class=\"kt-adv-heading5185_a7607d-7a wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_a7607d-7a\">5-2. \uc124\uc815\uc740 \uc804\ubd80 <code>.env<\/code> + config.py\ub85c \ube7c\ub450\uae30<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>OPENWEBUI_BASE_URL<\/code><\/li>\n\n\n\n<li><code>OPENWEBUI_API_KEY<\/code> (JWT \ud1a0\ud070)<\/li>\n\n\n\n<li><code>OPENWEBUI_DEFAULT_MODEL<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uc138 \uac00\uc9c0\ub294 \uc9c0\uae08\ucc98\ub7fc <code>.env<\/code>\uc5d0 \ub123\uace0,<br><code>config.py<\/code>\uc5d0\uc11c\ub9cc \uc77d\ub3c4\ub85d \ub9cc\ub4e4\uba74:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ub85c\uceec \ud14c\uc2a4\ud2b8, \uc2a4\ud14c\uc774\uc9d5, \uc2e4\uc81c \uc11c\ubc84 \ud658\uacbd\uc5d0\uc11c<br><strong>Open WebUI Ollama \uc124\uc815\ub9cc \ub2e4\ub974\uac8c \uac00\uc838\uac00\uae30\ub3c4 \ud3b8\ud569\ub2c8\ub2e4.<\/strong><\/li>\n<\/ul>\n\n\n<style>.wp-block-kadence-advancedheading.kt-adv-heading5185_f3e579-85, .wp-block-kadence-advancedheading.kt-adv-heading5185_f3e579-85[data-kb-block=\"kb-adv-heading5185_f3e579-85\"]{font-style:normal;}.wp-block-kadence-advancedheading.kt-adv-heading5185_f3e579-85 mark.kt-highlight, .wp-block-kadence-advancedheading.kt-adv-heading5185_f3e579-85[data-kb-block=\"kb-adv-heading5185_f3e579-85\"] mark.kt-highlight{font-style:normal;color:#f76a0c;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.wp-block-kadence-advancedheading.kt-adv-heading5185_f3e579-85 img.kb-inline-image, .wp-block-kadence-advancedheading.kt-adv-heading5185_f3e579-85[data-kb-block=\"kb-adv-heading5185_f3e579-85\"] img.kb-inline-image{width:150px;vertical-align:baseline;}<\/style>\n<h2 class=\"kt-adv-heading5185_f3e579-85 wp-block-kadence-advancedheading\" data-kb-block=\"kb-adv-heading5185_f3e579-85\">6. \uc7a5\uace0 \uc5f0\ub3d9 \uc9c1\uc804 \uccb4\ud06c\ub9ac\uc2a4\ud2b8 \u2013 Open WebUI Ollama \uad00\uc810\uc5d0\uc11c \uaf2d \uc810\uac80\ud560 \uac83\ub4e4<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\ub9c8\uc9c0\ub9c9\uc73c\ub85c,<br>\uc774\uc81c \uc9c4\uc9dc \uc7a5\uace0\ub85c \ub118\uc5b4\uac00\uae30 \uc804\uc5d0 <strong>Open WebUI Ollama \ucabd\uc5d0\uc11c \ubc18\ub4dc\uc2dc \ud655\uc778\ud560 \ud56d\ubaa9<\/strong>\ub4e4\uc744 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\ub85c \uc815\ub9ac\ud574 \ubcfc\uac8c\uc694.<\/p>\n\n\n<style>.kb-image5185_8975d9-3e .kb-image-has-overlay:after{opacity:0.3;}<\/style>\n<div class=\"wp-block-kadence-image kb-image5185_8975d9-3e\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"328\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-9-600x328.jpg\" alt=\"checklist pic\" class=\"kb-img wp-image-5189\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-9-600x328.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-9-300x164.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-9-768x419.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-9-18x10.jpg 18w, https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-9.jpg 1024w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 \uccb4\ud06c\ub9ac\uc2a4\ud2b8<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Ollama + \ubaa8\ub378<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>ollama list<\/code> \uc5d0\uc11c \uc4f8 \ubaa8\ub378\uc774 \uc81c\ub300\ub85c \ubcf4\uc774\ub294\uac00?<\/li>\n\n\n\n<li>MacBook Pro\uc5d0\uc11c Open WebUI Ollama\ub85c \ucc44\ud305\ud588\uc744 \ub54c \uc18d\ub3c4\u00b7\uba54\ubaa8\ub9ac\ub294 \uad1c\ucc2e\uc740\uac00?<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Open WebUI Ollama \ucee8\ud14c\uc774\ub108<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>docker ps<\/code>\uc5d0\uc11c <code>open-webui<\/code> \ucee8\ud14c\uc774\ub108\uac00 Up \uc0c1\ud0dc\uc778\uac00?<\/li>\n\n\n\n<li><code>ENABLE_API_KEY_AUTH=true<\/code> \ub85c \ucf1c\uc838 \uc788\ub294\uac00?<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Open WebUI Ollama \u2194 Ollama URL<\/strong>\n<ul class=\"wp-block-list\">\n<li>Open WebUI Settings\uc5d0\uc11c Ollama URL\uc774<br><code>http:\/\/host.docker.internal:11434<\/code> \ub85c \uc124\uc815\ub418\uc5b4 \uc788\ub294\uac00?<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>JWT\/API<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uacc4\uc815 \ud654\uba74\uc5d0\uc11c JWT \ud1a0\ud070\uc744 \ud655\uc778\ud588\ub294\uac00?<\/li>\n\n\n\n<li>\uc774 JWT\ub97c <code>.env<\/code>\uc5d0 <code>OPENWEBUI_API_KEY<\/code>\ub85c \uc800\uc7a5\ud588\ub294\uac00?<\/li>\n\n\n\n<li>Python \ud14c\uc2a4\ud2b8 \uc2a4\ud06c\ub9bd\ud2b8\uc5d0\uc11c Open WebUI Ollama\ub85c \uc694\uccad\ud574 \ubd24\uc744 \ub54c 200 OK\uac00 \ub098\uc624\ub294\uac00?<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc694\uc57d \ud488\uc9c8<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ub2e8\uc77c \uba74\ub2f4 \uc694\uc57d \uacb0\uacfc\uac00 \ubcf4\uace0\uc11c\uc5d0 \uc4f8 \ub9cc\ud55c \uc218\uc900\uc778\uac00?<\/li>\n\n\n\n<li>\uccad\ud06c \uc694\uc57d \u2192 \uba54\ud0c0 \uc694\uc57d \ud328\ud134\uc744 \uc801\uc6a9\ud574 \ubd24\ub294\uac00?<\/li>\n\n\n\n<li>Open WebUI Ollama \ud504\ub86c\ud504\ud2b8 \uc218\uc815\uc73c\ub85c \ud488\uc9c8\uc774 \ub208\uc5d0 \ub744\uac8c \uc88b\uc544\uc9c0\ub294\uc9c0 \uc2e4\ud5d8\ud574 \ubd24\ub294\uac00?<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ubaa8\ub4c8 \uad6c\uc870<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>openwebui_client\/<\/code> \uac19\uc740 \ud615\ud0dc\ub85c \ucf54\ub4dc\uac00 \uae54\ub054\ud558\uac8c \ubd84\ub9ac\ub418\uc5b4 \uc788\ub294\uac00?<\/li>\n\n\n\n<li>\ub098\uc911\uc5d0 \uc7a5\uace0\ub85c \uc62e\uae38 \ub54c \u201c\ubcf5\ubd99\ub9cc \ud574\ub3c4 \ub420 \uc815\ub3c4\u201d\ub85c \uc815\ub9ac\ub418\uc5b4 \uc788\ub294\uac00?<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774 \uccb4\ud06c\ub9ac\uc2a4\ud2b8\uac00 \ubaa8\ub450 YES\ub77c\uba74,<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\uc774\uc81c \uc7a5\uace0\uc5d0\uc11c Open WebUI Ollama\ub97c \uc9c4\uc9dc \u201c\uc694\uc57d \uc5d4\uc9c4\u201d\uc73c\ub85c \ubd99\uc77c \uc900\ube44\uac00 \ub41c \uc0c1\ud0dc\uc785\ub2c8\ub2e4 \ud83d\udcaa<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c \uc2dc\ub9ac\uc988\uc5d0\uc11c\ub294<br>\uc7a5\uace0 \ubaa8\ub378\/\ubdf0\/\uc11c\ube44\uc2a4\/\uad00\ub9ac\uc790 \ud398\uc774\uc9c0\uc5d0\uc11c<br>\uc774 Open WebUI Ollama \uc694\uc57d\uae30\ub97c \uc5b4\ub5bb\uac8c \ub179\uc5ec \ub123\uc744\uc9c0 \ub2e4\ub904\ubcfc \uc218 \uc788\uaca0\uc8e0.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uac78\ub85c <strong>1\u20135\ubd80 Open WebUI Ollama \ud504\ub9ac-\uc7a5\uace0 \uc2dc\ub9ac\uc988<\/strong>\uac00 \ud55c \uc0ac\uc774\ud074 \uc815\ub9ac\ub410\uc2b5\ub2c8\ub2e4 \ud83c\udf89<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c \ub2e4\uc74c \ub2e8\uacc4\ub294 \uc815\ub9d0\ub85c<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc9c0\uae08\uae4c\uc9c0 \ub9cc\ub4e0 Open WebUI Ollama \uc694\uc57d \ubaa8\ub4c8\uc744<\/li>\n\n\n\n<li><strong>Django \uc870\uc9c1\ubb38\ud654\uad00\ub9ac\uc2dc\uc2a4\ud15c<\/strong> \uc548\uc5d0 \ub07c\uc6cc \ub123\uc5b4\uc11c,<\/li>\n\n\n\n<li>\u201c\uba74\ub2f4 \uc0c1\uc138 \ud398\uc774\uc9c0 \u2192 \uc694\uc57d \uc0dd\uc131 \ubc84\ud2bc \u2192 Open WebUI Ollama \ud638\ucd9c \u2192 DB \uc800\uc7a5\u201d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\uad6c\uc870\ub97c \ub9cc\ub4dc\ub294 \uac70\uaca0\uc8e0.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc88b\uc544\uc694, \ub4dc\ub514\uc5b4 5\ubd80\uae4c\uc9c0 \uc654\ub124\uc694 \ud83d\ude04\uc774\ubc88 \ud3b8\uc740 \ub9d0 \uadf8\ub300\ub85c \ud83d\udc49 \u201c\uc7a5\uace0(Django)\ub791&#8230;<\/p>","protected":false},"author":3,"featured_media":5190,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[7],"tags":[916,919,917,945,946],"class_list":["post-5185","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-coding","tag-ollama","tag-open-webui","tag-open-webui-ollama","tag--llm-","tag-946"],"taxonomy_info":{"category":[{"value":7,"label":"\uc778\uacf5\uc9c0\ub2a5(AI)"}],"post_tag":[{"value":916,"label":"Ollama"},{"value":919,"label":"Open WebUI"},{"value":917,"label":"Open WebUI Ollama"},{"value":945,"label":"\ub85c\uceec LLM \uc6cc\ud06c\ud50c\ub85c\uc6b0"},{"value":946,"label":"\ud14d\uc2a4\ud2b8 \uc694\uc57d \ud30c\uc774\ud504\ub77c\uc778"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2025\/12\/image-10-600x335.jpg",600,335,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/en\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":7,"name":"\uc778\uacf5\uc9c0\ub2a5(AI)","slug":"ai-coding","term_group":0,"term_taxonomy_id":7,"taxonomy":"category","description":"","parent":20,"count":74,"filter":"raw","cat_ID":7,"category_count":74,"category_description":"","cat_name":"\uc778\uacf5\uc9c0\ub2a5(AI)","category_nicename":"ai-coding","category_parent":20}],"tag_info":[{"term_id":916,"name":"Ollama","slug":"ollama","term_group":0,"term_taxonomy_id":916,"taxonomy":"post_tag","description":"","parent":0,"count":7,"filter":"raw"},{"term_id":919,"name":"Open WebUI","slug":"open-webui","term_group":0,"term_taxonomy_id":919,"taxonomy":"post_tag","description":"","parent":0,"count":4,"filter":"raw"},{"term_id":917,"name":"Open WebUI Ollama","slug":"open-webui-ollama","term_group":0,"term_taxonomy_id":917,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":945,"name":"\ub85c\uceec LLM \uc6cc\ud06c\ud50c\ub85c\uc6b0","slug":"%eb%a1%9c%ec%bb%ac-llm-%ec%9b%8c%ed%81%ac%ed%94%8c%eb%a1%9c%ec%9a%b0","term_group":0,"term_taxonomy_id":945,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":946,"name":"\ud14d\uc2a4\ud2b8 \uc694\uc57d \ud30c\uc774\ud504\ub77c\uc778","slug":"%ed%85%8d%ec%8a%a4%ed%8a%b8-%ec%9a%94%ec%95%bd-%ed%8c%8c%ec%9d%b4%ed%94%84%eb%9d%bc%ec%9d%b8","term_group":0,"term_taxonomy_id":946,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5185","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/comments?post=5185"}],"version-history":[{"count":3,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5185\/revisions"}],"predecessor-version":[{"id":5202,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/posts\/5185\/revisions\/5202"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media\/5190"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/media?parent=5185"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/categories?post=5185"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/en\/wp-json\/wp\/v2\/tags?post=5185"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}