๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ“‹ FAQ

Sponsored by n8n
n8n
Does your interface have a backend yet? Try n8n

๐Ÿ’ก ์™œ Docker๋ฅผ ์„ ํƒํ•ด์•ผ ํ•˜๋‚˜์š”?โ€‹

Docker๊ฐ€ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์€ ์ดํ•ดํ•˜์ง€๋งŒ, ์ด ์ ‘๊ทผ๋ฒ•์€ ํ”„๋กœ์ ํŠธ ์„ค๊ณ„์™€ ์šด์˜ ํšจ์œจ์„ฑ์˜ ์ค‘์‹ฌ์ž…๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ Docker์— ๋Œ€ํ•œ ํ—Œ์‹ ์„ ๊ธฐ๋ณธ์ ์ธ ๋ฉด์œผ๋กœ ๋ณด๊ณ  ์žˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ ๋ฐฐํฌ ๋ฐฉ๋ฒ•์„ ์ฐพ๊ณ  ๊ณ„์‹  ๊ฒฝ์šฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฃผ๋„์ ์ธ ๋Œ€์•ˆ์„ ํƒ๊ตฌํ•˜์‹œ๊ธธ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

Q: ๋กœ๊ณ  ๋ฐ ๋ธŒ๋žœ๋”ฉ์„ ์–ด๋–ป๊ฒŒ ๋งž์ถค ์„ค์ •ํ•˜๋‚˜์š”?โ€‹

A: **๊ธฐ์—… ๋ผ์ด์„ ์Šค**๋ฅผ ์ด์šฉํ•˜๋ฉด ํ…Œ๋งˆ, ๋กœ๊ณ , ๋ธŒ๋žœ๋”ฉ์„ ๋งž์ถค ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋…์ ์ ์ธ ๊ธฐ์—… ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์—… ์†”๋ฃจ์…˜ ๋ฐ ๋ธŒ๋žœ๋”ฉ ๋งž์ถค ์„ค์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ €ํฌ ์˜์—…ํŒ€์— ๋ฌธ์˜ํ•˜์‹ญ์‹œ์˜ค: ๐Ÿ“ง [email protected]

Q: ์™œ ๊ฐ€์ž…์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์ œ ๋ฐ์ดํ„ฐ๋Š” ์–ด๋””๋กœ ์ „๋‹ฌ๋˜๋‚˜์š”?โ€‹

A: ๊ฐ€์ž…์„ ํ†ตํ•ด ๊ด€๋ฆฌ์ž ์‚ฌ์šฉ์ž๋กœ ์„ค์ •๋˜์–ด ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Open WebUI๊ฐ€ ์™ธ๋ถ€์— ๋…ธ์ถœ๋˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ๋กœ์ปฌ์— ์œ ์ง€๋˜๋ฉฐ, ์ €ํฌ๋Š” ๊ท€ํ•˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ€์ž… ์‹œ ๋ชจ๋“  ์ •๋ณด๋Š” ์„œ๋ฒ„ ๋‚ด์—์„œ ์œ ์ง€๋˜๋ฉฐ, ๊ท€ํ•˜์˜ ๊ธฐ๊ธฐ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ท€ํ•˜์˜ ๊ฐœ์ธ์ •๋ณด์™€ ๋ณด์•ˆ์€ ์ €ํฌ์˜ ์ตœ์šฐ์„  ์‚ฌํ•ญ์ด๋ฉฐ, ํ•ญ์ƒ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ท€ํ•˜์˜ ํ†ต์ œ ํ•˜์— ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Q: ์™œ Docker ์ปจํ…Œ์ด๋„ˆ๊ฐ€ localhost๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŠธ์˜ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋‚˜์š”?โ€‹

A: Docker ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ localhost๋Š” ์ปจํ…Œ์ด๋„ˆ ์ž์ฒด๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํ˜ธ์ŠคํŠธ ๋จธ์‹ ์„ ์˜๋ฏธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฐจ์ด๋Š” ๋„คํŠธ์›Œํ‚น์—์„œ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์—์„œ ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰ ์ค‘์ธ ์„œ๋น„์Šค๋กœ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด localhost ๋Œ€์‹  host.docker.internal์ด๋ผ๋Š” DNS ์ด๋ฆ„์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด DNS ์ด๋ฆ„์€ Docker์—์„œ ํŠน๋ณ„ํžˆ ์ธ์‹๋˜์–ด ์ด๋Ÿฌํ•œ ์—ฐ๊ฒฐ์„ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๋ฉฐ, ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ํ˜ธ์ŠคํŠธ๋ฅผ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ์—”ํ‹ฐํ‹ฐ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ผ๋ฐ˜์ ์ธ localhost ๋ฒ”์œ„ ์ œํ•œ์„ ์šฐํšŒํ•ฉ๋‹ˆ๋‹ค.

Q: ํ˜ธ์ŠคํŠธ์˜ ์„œ๋น„์Šค๋ฅผ Docker ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?โ€‹

A: ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰ ์ค‘์ธ ์„œ๋น„์Šค๋ฅผ Docker ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๋ฉด, ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๋ฅผ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ˆ˜์‹ ํ•˜๋„๋ก 0.0.0.0 IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋Š” localhost๋กœ ์ œํ•œ๋˜๋Š” 127.0.0.1๊ณผ๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ด ์„ค์ •์€ Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  IP ์ฃผ์†Œ์—์„œ ์—ฐ๊ฒฐ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž ์žฌ์ ์ธ ์™ธ๋ถ€ ์ ‘๊ทผ์ด ์žˆ๋Š” ํ™˜๊ฒฝ์—์„œ ์ด์™€ ๊ฐ™์€ ์„ค์ •์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ณด์•ˆ์ƒ์˜ ๊ณ ๋ ค์‚ฌํ•ญ์„ ์ธ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฉํ™”๋ฒฝ์ด๋‚˜ ์ธ์ฆ๊ณผ ๊ฐ™์€ ์ ์ ˆํ•œ ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ์œ„ํ—˜์„ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: ์™œ ์ œ Open WebUI๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋‚˜์š”? ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๊ฐ€์ ธ์˜ค๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์žฌ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ, ๋ณ€๊ฒฝ์ด ์—†์Šต๋‹ˆ๋‹ค.โ€‹

A: Open WebUI๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ์ƒˆ๋กœ์šด Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ ์ด์ƒ์˜ ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ์ด์œ ์™€ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค:

  1. Docker ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ: docker pull ghcr.io/open-webui/open-webui:main ๋ช…๋ น์–ด๋Š” Docker ์ด๋ฏธ์ง€๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์ง€๋งŒ, ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋‚˜ ๋ฐ์ดํ„ฐ๋Š” ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. Docker ๋ณผ๋ฅจ์˜ ์ง€์†์ ์ธ ๋ฐ์ดํ„ฐ: Docker ๋ณผ๋ฅจ์€ ์ปจํ…Œ์ด๋„ˆ ๋ผ์ดํ”„์‚ฌ์ดํด๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉฐ, ์—…๋ฐ์ดํŠธ๊ฐ€ ์ด๋ฃจ์–ด์งˆ ๋•Œ ๋ฐ์ดํ„ฐ(์˜ˆ: ์ฑ„ํŒ… ๊ธฐ๋ก)๋ฅผ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค.
  3. ์—…๋ฐ์ดํŠธ ์ ์šฉ: ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ (๋ณผ๋ฅจ์€ ์‚ญ์ œ๋˜์ง€ ์•Š์Œ), ์—…๋ฐ์ดํŠธ๋œ ์ด๋ฏธ์ง€์™€ ๊ธฐ์กด ๋ณผ๋ฅจ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์„ธ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ์•ฑ์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

Q: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ๊ฒŒ ๋˜๋‚˜์š”?โ€‹

A: ์ผ๋ฐ˜์ ์ธ ์šฐ๋ ค์ง€๋งŒ, Docker ๋ณผ๋ฅจ์„ ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•ด๋„ ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ๋ณผ๋ฅจ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค: Docker ๋ณผ๋ฅจ์€ ์ปจํ…Œ์ด๋„ˆ ๋ผ์ดํ”„์‚ฌ์ดํด ์™ธ๋ถ€์— ๋ฐ์ดํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณผ๋ฅจ์— ์ €์žฅ๋œ ๊ฒฝ์šฐ, ์ปจํ…Œ์ด๋„ˆ์— ์–ด๋–ค ์ผ์ด ์žˆ์–ด๋„ ๋ฐ์ดํ„ฐ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.
  • ์•ˆ์ „ํ•œ ์—…๋ฐ์ดํŠธ ํ”„๋กœ์„ธ์Šค: Open WebUI๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ, ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ ์ด๋ฏธ์ง€๋กœ ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•ด๋„ ๋ณผ๋ฅจ์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ, docker volume rm๊ณผ ๊ฐ™์€ ๋ช…๋ น์œผ๋กœ ๋ณผ๋ฅจ์„ ์‚ญ์ œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์˜ฌ๋ฐ”๋ฅธ ์—…๋ฐ์ดํŠธ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด - ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ๋ณผ๋ฅจ์„ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ œ๊ฑฐํ•œ ๋‹ค์Œ, ์—…๋ฐ์ดํŠธ๋œ ์ด๋ฏธ์ง€์™€ ๊ธฐ์กด ๋ณผ๋ฅจ์œผ๋กœ ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋Š” ์—…๋ฐ์ดํŠธ๋˜๊ณ  ๋ฐ์ดํ„ฐ๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

Q: ๋ฐฐํฌํŒ์— ํฌํ•จ๋œ Docker๋ฅผ ์‚ฌ์šฉํ• ๊นŒ์š”, ์•„๋‹ˆ๋ฉด ๊ณต์‹ Docker ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ• ๊นŒ์š”?โ€‹

A: Open WebUI๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ณต์‹ Docker ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ Docker ํŒจํ‚ค์ง€๋Š” ์ตœ์‹  ๊ธฐ๋Šฅ, ๋ฒ„๊ทธ ์ˆ˜์ • ๋ฐ ๋ณด์•ˆ ํŒจ์น˜๋ฅผ ํฌํ•จํ•˜์—ฌ ์ฃผ๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฏ€๋กœ ์ตœ์ ์˜ ์„ฑ๋Šฅ๊ณผ ๋ณด์•ˆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, host.docker.internal๊ณผ ๊ฐ™์€ ์ค‘์š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋Š”๋ฐ, ์ด๋Š” ๋ฐฐํฌํŒ ํŒจํ‚ค์ง€ ๋ฒ„์ „์—์„œ๋Š” ์ œ๊ณต๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ Docker ์ปจํ…Œ์ด๋„ˆ ๋‚ด์˜ ์ ์ ˆํ•œ ๋„คํŠธ์›Œํฌ ์„ค์ • ๋ฐ ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

๊ณต์‹ Docker ํŒจํ‚ค์ง€๋ฅผ ์„ ํƒํ•จ์œผ๋กœ์จ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋œ ๋™์ž‘, ๋” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ ์ง€์› ๋ฐ ์ตœ์‹  Docker ๊ฐœ๋ฐœ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋Š” ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํญ๋„“์€ Docker ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ž์›์ด ๊ณต์‹ ํŒจํ‚ค์ง€์™€ ๋” ์ž˜ ๋งž์•„๋–จ์–ด์ ธ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•ด ํ’๋ถ€ํ•œ ์ •๋ณด์™€ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Open WebUI๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ, ์ฆ‰ ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ์šฉ์ž์˜ ์„œ๋ฒ„ ํ™˜๊ฒฝ ๋‚ด์—์„œ ๊ด€๋ฆฌ๋˜๋ฉฐ ์ด๋Š” ์‚ฌ์šฉ์ž์˜ ๊ฐœ์ธ ์ •๋ณด ๋ฐ ๋ณด์•ˆ์— ๋Œ€ํ•œ ๋‹น์‚ฌ์˜ ์•ฝ์†์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ Docker ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ Docker์˜ ๊ณต์‹ ๋ฌธ์„œ ์‚ฌ์ดํŠธ Install Docker Engine ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

Q: Docker์—์„œ GPU ์ง€์›์ด ๊ฐ€๋Šฅํ•œ๊ฐ€์š”?โ€‹

A: Docker์—์„œ GPU ์ง€์›์€ ํ”Œ๋žซํผ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ณต์‹์ ์œผ๋กœ Windows์šฉ Docker์™€ Linux์—์„œ์˜ Docker Engine์—์„œ GPU ์ง€์›์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, Linux์™€ MacOS์šฉ Docker Desktop์—์„œ๋Š” ํ˜„์žฌ GPU ์ง€์›์ด ์ œ๊ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ œํ•œ ์‚ฌํ•ญ์€ GPU ๊ฐ€์†์ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•  ๋•Œ ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. GPU ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” GPU ํ†ตํ•ฉ์„ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ์—์„œ Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

Q: Open WebUI๊ฐ€ Docker ์‚ฌ์šฉ์„ ๊ฐ•์กฐํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?โ€‹

A: Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฐ์ •์€ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ณ , ๋…๋ฆฝ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉฐ, ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ๋ฐฐํฌ๋ฅผ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋Š” Docker์˜ ๋Šฅ๋ ฅ์— ๊ธฐ์ธํ•ฉ๋‹ˆ๋‹ค. Docker๋Š” ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ๊ธฐ๋ณธ ์‹œ์Šคํ…œ๊ณผ ์ƒ๊ด€์—†์ด WebUI๋ฅผ ๊ฐ„๋‹จํžˆ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ์ ํŠธ ์œ ์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ์ด๋Ÿฌํ•œ ์ด์ ์„ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์„ ํƒํ•œ ์ „๋žต์  ๊ฒฐ์ •์ด๋ฉฐ, Docker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ๋Š” ํ•™์Šต ๊ณก์„ ์ด ์žˆ๋‹ค๋Š” ์ ์„ ์ธ์ •ํ•˜์ง€๋งŒ, ๋ฐฐํฌ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ์˜ ์ด์ ์€ ์ƒ๋‹นํ•ฉ๋‹ˆ๋‹ค. Docker๊ฐ€ ๋ชจ๋“  ์‚ฌ๋žŒ์˜ ์„ ํ˜ธ๋„์— ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•˜์ง€๋งŒ, ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋ณธ ํ”„๋กœ์ ํŠธ์˜ ์„ค๊ณ„ ๋ฐ ์šด์˜ ํšจ์œจ์„ฑ๊ณผ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Docker์— ๋Œ€ํ•œ ํ”„๋กœ์ ํŠธ์˜ ํ—Œ์‹ ์„ ๊ทผ๋ณธ์ ์ธ ์š”์†Œ๋กœ ๋ณด๊ณ  ์žˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ ๋ฐฐํฌ ๋ฐฉ๋ฒ•์„ ํƒ์ƒ‰ํ•˜๋ ค๋Š” ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฃผ๋„ ๋Œ€์•ˆ์„ ์‚ดํŽด๋ณด๊ธฐ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

Q: Speech-to-Text(STT) ๋ฐ Text-to-Speech(TTS)๊ฐ€ ๋‚ด ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?โ€‹

A: ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ Speech-to-Text(STT) ๋ฐ Text-to-Speech(TTS) ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ์€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋ ค๋ฉด HTTPS๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„๋Œ€ ๋ธŒ๋ผ์šฐ์ €๋Š” STT์™€ TTS์™€ ๊ฐ™์€ ํŠน์ • ๊ธฐ๋Šฅ์ด ๋ณด์•ˆ HTTPS ์—ฐ๊ฒฐ์—์„œ๋งŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œํ•œํ•˜๋Š” ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ์‹œํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ ํ™˜๊ฒฝ์ด HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ตฌ์„ฑ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๊ฐ€ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HTTPS๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ ํ™˜๊ฒฝ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ STT/TTS ๊ธฐ๋Šฅ์„ ์™„์ „ํžˆ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: Open WebUI๊ฐ€ ๋‚ด์žฅ๋œ HTTPS ์ง€์›์„ ํฌํ•จํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?โ€‹

A: ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ๋ฅผ ์ ์ ˆํžˆ ์ถฉ์กฑํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, HTTPS ์ง€์›์„ ํฌํ•จํ•˜๋Š” ์ „์ฒด ์†”๋ฃจ์…˜์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— HTTPS๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋ฉด ์œ ์—ฐ์„ฑ์ด ์ œํ•œ๋˜๊ณ  ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์ด๋‚˜ ํ™˜๊ฒฝ์— ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ๊ตฌ์„ฑ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก HTTPS ์ข…๋ฃŒ์˜ ๊ตฌํ˜„์€ ์ƒ์‚ฐ ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งก๊น๋‹ˆ๋‹ค. ์ด ๊ฒฐ์ •์€ ๋” ํญ๋„“์€ ์ ์‘์„ฑ๊ณผ ๋งž์ถคํ™”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ์—์„œ๋Š” HTTPS ์„ค์ •์— ๋Œ€ํ•œ ์•ˆ๋‚ด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์ง€๋งŒ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์„ฑ์›์ด ์š”์ฒญ ์‹œ ๊ฒฝํ—˜์— ๊ธฐ๋ฐ˜ํ•œ ํ†ต์ฐฐ๋ ฅ๊ณผ ์ œ์•ˆ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: ์ผ๋ถ€ ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์—…๋ฐ์ดํŠธ/์žฌ์‹œ์ž‘/์„ค์น˜ํ•œ ํ›„ Open WebUI๊ฐ€ ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!โ€‹

A: ์—…๋ฐ์ดํŠธ ๋˜๋Š” ์ƒˆ ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜ ํ›„ Open WebUI๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๋ฐฑ์—”๋“œ ์ข…์†์„ฑ์— ๋Œ€ํ•ด ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์™€ ๊ฐ™์€ ์ง์ ‘ ์„ค์น˜ ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ ๊ด€๋ จ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง์ ‘ ์„ค์น˜๋Š” ์—…๋ฐ์ดํŠธ ๋˜๋Š” ๊ธฐ์กด ์ข…์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ƒˆ ์„ค์น˜์™€ ๊ฐ™์€ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์˜ ๋ณ€๊ฒฝ์— ๋ฏผ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฑ์—”๋“œ์˜ requirements.txt ์ข…์†์„ฑ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด Open WebUI ์ข…์†์„ฑ์ด ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ํŒจํ‚ค์ง€์™€ ๊ฒฉ๋ฆฌ๋˜์–ด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์˜ ์œ„ํ—˜์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: ์—…๋ฐ์ดํŠธ/์žฌ์‹œ์ž‘ ํ›„ ๋‚ด ๋กœ๊ทธ์ธ์ด ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ƒˆ ๊ณ„์ •์„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ณ  ๋‚ด ๋ชจ๋“  ์ฑ„ํŒ…์ด ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.โ€‹

A: ์ด ๋ฌธ์ œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ /app/backend/data์— ๋Œ€ํ•œ ๋ณผ๋ฅจ์„ ๋งˆ์šดํŠธํ•˜์ง€ ์•Š๊ณ  Docker ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ง€์ •๋œ Open WebUI ๋ณผ๋ฅจ(์˜ˆ: open-webui)์ด ์‹ค์ˆ˜๋กœ ์‚ญ์ œ๋œ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Docker ๋ณผ๋ฅจ์€ ์ปจํ…Œ์ด๋„ˆ์˜ ๋ผ์ดํ”„์‚ฌ์ดํด ๋™์•ˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์†์ ์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์žฌ์‹œ์ž‘ ํ›„ ์ƒˆ ๊ณ„์ •์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•œ ๋ณผ๋ฅจ์„ ์—ฐ๊ฒฐํ•˜์ง€ ์•Š๊ณ  ์ƒˆ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹œ์ž‘ํ–ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์†์‹ค์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Docker ์‹คํ–‰ ๋ช…๋ น์— ์˜ฌ๋ฐ”๋ฅธ ๋ฐ์ดํ„ฐ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ณผ๋ฅจ ๋งˆ์šดํŠธ๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Q: ๋กœ๊ทธ์ธํ•˜๋ ค ํ–ˆ๋Š”๋ฐ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๊ณ„์ •์„ ๋งŒ๋“ค์—ˆ๋”๋‹ˆ ์ œ ๊ณ„์ •์€ ๊ด€๋ฆฌ์ž๊ฐ€ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.โ€‹

A: ์ดˆ๊ธฐ ์„ธํŒ… ์ค‘ ์ƒ์„ฑ๋œ ์ฒซ ๋ฒˆ์งธ ๊ด€๋ฆฌ์ž ๊ณ„์ •์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์žŠ์–ด๋ฒ„๋ฆด ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ณ„์ •์€ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌ์ž ๊ณ„์ •์œผ๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ๊ณ„์ •์— ์•ก์„ธ์Šคํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ์—์„œ ์ƒˆ ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๋ฉด ๊ด€๋ฆฌ์ž ํ™œ์„ฑํ™”๊ฐ€ ํ•„์š”ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๊ด€๋ฆฌ์ž ๊ณ„์ • ์ž๊ฒฉ ์ฆ๋ช…์„ ์žƒ์ง€ ์•Š๋Š” ๊ฒƒ์ด Open WebUI์— ์›ํ™œํžˆ ์•ก์„ธ์Šคํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ ์žฌ์„ค์ • ๊ฐ€์ด๋“œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ๊ด€๋ฆฌ์ž ๊ณ„์ •์„ ๋ณต๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜์„ธ์š”.

Q: Open WebUI๊ฐ€ SSL ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์‹œ์ž‘๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿฐ๊ฐ€์š”?โ€‹

A: Open WebUI๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•  ๋•Œ SSL ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ๋Š” SSL ์ธ์ฆ์„œ๊ฐ€ ์—†๊ฑฐ๋‚˜ huggingface.co ์„ค์ •์ด ์ž˜๋ชป๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ํฝ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด HuggingFace์˜ ๋ฏธ๋Ÿฌ๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด hf-mirror.com ๊ฐ™์€ ๋ฏธ๋Ÿฌ๋ฅผ ์„ค์ •ํ•˜๊ณ  Docker ์ปจํ…Œ์ด๋„ˆ ์‹œ์ž‘ ์‹œ ์ด๋ฅผ ์—”๋“œํฌ์ธํŠธ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Docker ์‹คํ–‰ ๋ช…๋ น์—์„œ -e HF_ENDPOINT=https://hf-mirror.com/ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ HuggingFace ๋ฏธ๋Ÿฌ ์ฃผ์†Œ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

docker run -d -p 3000:8080 -e HF_ENDPOINT=https://hf-mirror.com/ --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Q: Open WebUI์—์„œ RAG(์ •๋ณด ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ)๊ฐ€ ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์„ฑ๋Šฅ์ด ๋งค์šฐ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ ๊ทธ๋Ÿฐ๊ฐ€์š”?โ€‹

A: Ollama๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, Ollama๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ๋งฅ ๊ธธ์ด๋ฅผ 2048 ํ† ํฐ์œผ๋กœ ์„ค์ •ํ•œ๋‹ค๋Š” ์ ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. ์ด๋กœ ์ธํ•ด ๊ฒ€์ƒ‰๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฒ€์ƒ‰๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปจํ…์ŠคํŠธ ์ฐฝ์— ๋งž์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Open WebUI์—์„œ ์ •๋ณด ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ(RAG)์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋ ค๋ฉด ๋ฌธ๋งฅ ๊ธธ์ด๋ฅผ ํ›จ์”ฌ ๋” ํฐ ๊ฐ’(8192+ ํ† ํฐ)์œผ๋กœ ๋Š˜๋ ค ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ๋“ค์ด ๋ชจ๋ธ ์‘๋‹ต์— ํšจ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด Ollama ๋ชจ๋ธ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๋” ํฐ ์ปจํ…์ŠคํŠธ ์ฐฝ์„ ํ—ˆ์šฉํ•˜์„ธ์š”. ์ฑ„ํŒ…์—์„œ ์ง์ ‘ ๋˜๋Š” ๋ชจ๋ธ ํŽธ์ง‘๊ธฐ ํŽ˜์ด์ง€์—์„œ ์ด ์„ค์ •์„ ํ™•์ธํ•˜๊ณ  ์ˆ˜์ •ํ•˜์—ฌ RAG ๊ฒฝํ—˜์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: MCP(Model Context Protocol)๋ฅผ Open WebUI์—์„œ ์ง€์›ํ•˜๋‚˜์š”?โ€‹

A: ๋„ค, Open WebUI์—์„œ๋Š” MCP Tool Servers๋ฅผ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, OpenAPI ํ˜ธํ™˜ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค (openapi-servers). ์ด๋ฅผ ํ†ตํ•ด ์ตœ์ ์˜ ํ˜ธํ™˜์„ฑ, ๋ณด์•ˆ, ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

MCP(๋ฐ ๊ธฐํƒ€ ๋ฐฑ์—”๋“œ ํ”„๋กœํ† ์ฝœ)๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ ๋งํฌ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋งž์ถค ํ”„๋ก์‹œ ๊ตฌํ˜„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค: ๐Ÿ‘‰ https://github.com/open-webui/mcpo

์ด ์„ค๊ณ„ ์„ ํƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ต์‹ฌ ์›์น™์— ๋”ฐ๋ผ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค:

  • ๐Ÿ“˜ ํ‘œ์ค€ ์šฐ์„  ์ ‘๊ทผ: OpenAPI๋Š” RESTful ์„œ๋น„์Šค ์ •์˜ ๋ฐ ๊ณ„์•ฝ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ์œ„ํ•œ ์‚ฌ์‹ค์ƒ์˜ ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. OpenAPI๋ฅผ ํ†ตํ•œ ํ†ตํ•ฉ์„ ํ†ตํ•ด ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ๋ฐฐํฌ ์‹œ ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์Šคํ‚ค๋งˆ ๊ธฐ๋ฐ˜ ๋™์ž‘์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • ๐Ÿ”’ ๋ณด์•ˆ ๋ชจ๋ธ ๊ฒฉ๋ฆฌ: ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•œ MCP ํ†ตํ•ฉ์€ ๋ฐฑ์—”๋“œ ํ”„๋กœํ† ์ฝœ ๋™์ž‘์„ ์ƒŒ๋“œ๋ฐ•์Šค๋กœ ๊ฒฉ๋ฆฌํ•˜์—ฌ ๊ณต๊ฒฉ ํ‘œ๋ฉด์„ ์ค„์ด๊ณ  ๊ฒฝ๊ณ„ ์ˆ˜์ค€ ๊ฐ์‚ฌ, ์ธ์ฆ ๋ฐ ๊ฐ€์‹œ์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  • โš™๏ธ ํ”„๋กœํ† ์ฝœ ์ถ”์ƒํ™”: Open WebUI๊ฐ€ ๋ฐฑ์—”๋“œ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋Ÿฐํƒ€์ž„ ๋™์ž‘์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด๊ธฐ์ข… ๋ฐฑ์—”๋“œ(MCP ๋“ฑ)๋ฅผ ๋‹จ์ผ OpenAPI ์Šคํ‚ค๋งˆ๋ฅผ ํ†ตํ•ด ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • โ›“๏ธ ๋ถ„๋ฆฌ๋œ ๋ฐฐํฌ ํ† ํด๋กœ์ง€: ํ”„๋ก์‹œ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋Š” MCP์™€ ๊ฐ™์€ ํˆด ์„œ๋ฒ„๊ฐ€ ํ”„๋ก ํŠธ์—”๋“œ ํ‘œํ˜„๊ณผ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐœ์ „ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ๋งค์šฐ ๋ชจ๋“ˆํ™”๋œ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ ๋˜๋Š” ๋ถ„์‚ฐ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ•˜๋ฉด: MCP๋Š” OpenAPI ํ˜ธํ™˜ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด MCP Tool Server๊ฐ€ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ์ด ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์€ Open WebUI๊ฐ€ ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ณ , ์•ˆ์ „ํ•˜๋ฉฐ, ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€์ ์ธ ๋„์›€์ด ํ•„์š”ํ•˜์‹ ๊ฐ€์š”?โ€‹

์ถ”๊ฐ€์ ์ธ ์งˆ๋ฌธ์ด๋‚˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ์‹œ๋ฉด, GitHub Issues ํŽ˜์ด์ง€ ๋˜๋Š” Discord ์ฑ„๋„์—์„œ ๋„์›€๊ณผ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜์„ธ์š”.