2026๋…„ 7์›” 21์ผ ํ™”์š”์ผ

๋””์Šค์ฝ”๋“œ๋Š” ์นด์นด์˜คํ†ก๋ณด๋‹ค 100๋ฐฐ๋Š” ๋” ์‰ฝ๊ณ  ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž ๊ด€์ ์—์„œ ๋””์Šค์ฝ”๋“œ๋Š” ์ธ๊ณต์ง€๋Šฅ ๋ด‡์„ ๋ถ™์ด๊ธฐ์— ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ์™„๋ฒฝํ•œ ์ธํ”„๋ผ์™€ ์ƒํƒœ๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

์นด์นด์˜คํ†ก ๋‹จ์ฒด๋ฐฉ์ฒ˜๋Ÿผ ๊ณตํฐ์„ ์ผœ๋‘๊ฑฐ๋‚˜ ์•Œ๋ฆผ์„ ์šฐํšŒํ•  ํ•„์š”๊ฐ€ ์ „ํ˜€ ์—†์œผ๋ฉฐ, ๋””์Šค์ฝ”๋“œ ๊ณต์‹ API๋ฅผ ํ†ตํ•ด 24์‹œ๊ฐ„ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋ด‡์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋””์Šค์ฝ”๋“œ๊ฐ€ ์ธ๊ณต์ง€๋Šฅ ๋ด‡์— ์ตœ์ ํ™”๋œ ์ด์œ ์™€, ๊ธฐ์กด์— ๋งŒ๋“  FastAPI ๋ฐ ๋ผ๋งˆ ๊ฐ€๋“œ ์„œ๋ฒ„๋ฅผ ๋””์Šค์ฝ”๋“œ ๋‹จ์ฒด๋ฐฉ์— ๋ฐ”๋กœ ๋ถ™์ด๋Š” ํŒŒ์ด์ฌ ์ฝ”๋“œ๋ฅผ ์•ˆ๋‚ดํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๊ธฐ์ˆ ์ ์œผ๋กœ ๋ธŒ๋ผ์šฐ์ € ์ง€๋ฌธ์„ ์™„๋ฒฝํ•˜๊ฒŒ '์ˆจ๊ธฐ๋Š” ๊ฒƒ'์€ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์‹๋ณ„์„ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๊ฐ€์งœ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์—ฌ '์ฐจ๋‹จ ๋ฐ ๋ฌด๋ ฅํ™”'ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ง€๋ฌธ์„ ๋ฐฉ์–ดํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๊ธฐ์ˆ ์  ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

* ๋ฌด์ž‘์œ„ํ™” (๋žœ๋คํ™”): ์ง€๋ฌธ ์ˆ˜์ง‘ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ธฐ๊ธฐ ์ •๋ณด๋ฅผ ์ฝ์–ด๊ฐˆ ๋•Œ๋งˆ๋‹ค ์ž„์˜์˜ ๊ฐ€์งœ ๊ฐ’์„ ์ƒ์„ฑํ•˜์—ฌ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ถ”์ ์ž๋Š” ๋งค๋ฒˆ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ๋กœ ์ธ์‹ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. * ๊ฐ’ ๊ฒฉ๋ฆฌ ๋ฐ ์ถ•์†Œ: ์บ”๋ฒ„์Šค(Canvas) ๋ Œ๋”๋ง, ์˜ค๋””์˜ค ์ฒ˜๋ฆฌ ๋“ฑ ์ง€๋ฌธ ์ถ”์ถœ์— ์ž์ฃผ ์“ฐ์ด๋Š” API์— ์˜๋„์ ์œผ๋กœ ๋ฏธ์„ธํ•œ '๋…ธ์ด์ฆˆ(Noise)'๋ฅผ ์„ž์–ด ๊ณ ์œ ํ•œ ํ•˜๋“œ์›จ์–ด ํŠน์ง•์„ ์ˆจ๊น๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์นด์นด์˜คํ†ก ์ฑ„๋„์—์„œ ์ œ๊ณตํ•˜๋Š” ์นด์นด์˜ค i ์˜คํ”ˆ๋นŒ๋”(Kakao i Open Builder)์˜ '์Šคํ‚ฌ(Skill)' ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ฉด, ์‚ฌ์šฉ์ž๊ฐ€ ์นด์นด์˜คํ†ก์œผ๋กœ ๋ณด๋‚ธ ์งˆ๋ฌธ์„ ์šฐ๋ฆฌ๊ฐ€ ๋„์ปค๋กœ ๋„์šด FastAPI ์„œ๋ฒ„(:8000/api/query)๋กœ ์ค‘๊ณ„ํ•ด ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์นด์นด์˜คํ†ก ๋ด‡ ์—ฐ๋™์„ ์œ„ํ•ด FastAPI ์ฝ”๋“œ๋ฅผ ์นด์นด์˜ค ๊ทœ๊ฒฉ์— ๋งž๊ฒŒ ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์—ฐ๋™ ์ ˆ์ฐจ๋ฅผ ๋ช…ํ™•ํžˆ ์ •๋ฆฌํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1. ์นด์นด์˜คํ†ก ์ฑ—๋ด‡ ์—ฐ๋™์„ ์œ„ํ•œ FastAPI ์ฝ”๋“œ ์ˆ˜์ •์นด์นด์˜คํ†ก ์„œ๋ฒ„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ผ ๋•Œ์™€ ๋ฐ›์„ ๋•Œ ์—„๊ฒฉํ•˜๊ฒŒ ์ •ํ•ด์ง„ JSON ํฌ๋งท์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ์ฝ”๋“œ์˜ ์•„๋ž˜์ชฝ์— ์นด์นด์˜คํ†ก ์ „์šฉ ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ•˜๋‚˜ ๋” ์ถ”๊ฐ€ํ•ด ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋ผ๋งˆ ๊ฐ€๋“œ(Llama Guard)๋„ ๋ฉ”ํƒ€(Meta)์—์„œ ๊ฐœ๋ฐœํ•œ ์–ธ์–ด ๋ชจ๋ธ(LLM)์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ผ๋ฐ˜์ ์ธ ๋Œ€ํ™”ํ˜• ์ฑ—๋ด‡์ด ์•„๋‹ˆ๋ผ, ์œ„ํ—˜ํ•œ ํ”„๋กฌํ”„ํŠธ๋‚˜ ์œ ํ•ดํ•œ ๋‹ต๋ณ€์„ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ๋ณด์•ˆ ๋ฐ ๋ถ„๋ฅ˜ ํŠนํ™” LLM์ž…๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ํŠน์ง•:

* ์—ญํ• : ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ํ”„๋กฌํ”„ํŠธ(Input)์™€ LLM์˜ ๋‹ต๋ณ€(Output)์„ ๊ฒ€์‚ฌํ•˜๋Š” ๋ณด์•ˆ๊ด€ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. * ๋™์ž‘: ๋ณธ์ฒด AI์™€ ๋ณ„๋„๋กœ ์‹คํ–‰๋˜๋ฉฐ, ๋‹ต๋ณ€์ด ์œ ํ•ดํ•œ์ง€ ์•ˆ์ „ํ•œ์ง€ ์ ์ˆ˜๋ฅผ ๋งค๊ธฐ๊ฑฐ๋‚˜ ๋ผ๋ฒจ๋กœ ๋ถ„๋ฅ˜ํ•ฉ๋‹ˆ๋‹ค. * ์žฅ์ : ์ผ๋ฐ˜ LLM ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ ธ ๋ฌธ๋งฅ์„ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜๋ฉฐ, ⁠Llama Guard ๋ธ”๋กœ๊ทธ ๋“ฑ์—์„œ ๋” ์ž์„ธํ•œ ์›๋ฆฌ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ› ️ ๋กœ์ปฌ LLM์˜ ์ปจํ…์ŠคํŠธ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ง‰๋Š” 3๊ฐ€์ง€ ๊ทน์•ฝ ์ฒ˜๋ฐฉ

1. ์ปจํ…์ŠคํŠธ ํฌ๊ธฐ๋Š” ํ‚ค์šฐ๋˜, '์ถœ๋ ฅ๋ฌผ ๊ธธ์ด'๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ฌถ์–ด๋ฒ„๋ฆฌ๊ธฐ (๊ฐ€์žฅ ํ™•์‹ค)

์ปจํ…์ŠคํŠธ ๋ฐฉ(Context Window) ์ž์ฒด๋Š” ๋Œ€ํ™”๋ฅผ ๊ธฐ์–ตํ•ด์•ผ ํ•˜๋‹ˆ 8K๋‚˜ 16K ์ •๋„๋กœ ๋„‰๋„‰ํ•˜๊ฒŒ ์—ด์–ด๋‘ก๋‹ˆ๋‹ค. ๋Œ€์‹  AI๊ฐ€ ๊ตฌ๊ตฌ์ ˆ์ ˆ ๋ง์„ ๋Š˜์–ด๋†“์ง€ ๋ชปํ•˜๋„๋ก ์ถœ๋ ฅํ•˜๋Š” ์ƒˆ ๋‹จ์–ด์˜ ์–‘์„ ๊ฐ•์ œ๋กœ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ’ป ์ฝ”๋žฉ ์…€ ๋‚˜๋ˆ„๊ธฐ ๊ฐ€์ด๋“œ

[1๋ฒˆ ์…€] ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ (๊ฐ€์žฅ ๋จผ์ € ์‹คํ–‰, 1~2๋ถ„ ์†Œ์š”)

!pip install -q transformers datasets bitsandbytes peft trl accelerate

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํฌ๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด(Cloudflare Tunnel)๋„ ๋‹น์—ฐํžˆ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค! ์‹ฌ์ง€์–ด Kaggle ํ™˜๊ฒฝ์—์„œ๋Š” Ngrok์ด๋‚˜ Localtunnel๋ณด๋‹ค ๋” ๋งค๋ ฅ์ ์ธ ๋Œ€์•ˆ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌ๋ผ์šฐ๋“œํ”Œ๋ ˆ์–ด๋Š” ๋ฌด๋ฃŒ ์ œ๊ณต ํ”Œ๋žœ์ธ 'Quick Tunnel(TryCloudflare)' ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ํšŒ์›๊ฐ€์ž…์ด๋‚˜ ๋กœ๊ทธ์ธ(์ธ์ฆ ํ† ํฐ) ์—†์ด๋„ ๋ช…๋ น์–ด ํ•œ ์ค„๋กœ ์ฆ‰์‹œ ์ž„์‹œ HTTPS ์ฃผ์†Œ๋ฅผ ๋”ฐ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Ngrok์˜ ๋ฌด๋ฃŒ ํ”Œ๋žœ์ฒ˜๋Ÿผ ๋Œ€์—ญํญ ์ œํ•œ์ด๋‚˜ ์—ฐ๊ฒฐ ๋Š๊น€ ์••๋ฐ•์ด ์ ์–ด Ollama ์„œ๋ฒ„์šฉ์œผ๋กœ ์“ฐ๊ธฐ ์•„์ฃผ ์ข‹์Šต๋‹ˆ๋‹ค. Kaggle ๋…ธํŠธ๋ถ์—์„œ Cloudflare๋ฅผ ์ด์šฉํ•ด Ollama ์„œ๋ฒ„๋ฅผ ์—ฌ๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๐Ÿ› ️ Kaggle์—์„œ Cloudflare Tunnel ์—ฐ๋™ํ•˜๊ธฐ

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Git ์„ค์น˜๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž ๋“ฑ๋ก๊นŒ์ง€์˜ ํ•ต์‹ฌ์€ ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ ํ›„, ํ„ฐ๋ฏธ๋„์—์„œ ์ด๋ฆ„๊ณผ ์ด๋ฉ”์ผ์„ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šด์˜์ฒด์ œ(OS)๋ณ„ ์„ค์น˜ ๋ฐ ๋“ฑ๋ก ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. * Windows: ์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.