Key Takeaways
- ๊ธ์ฐ๊ธฐ/์ฝํ ์ธ ์ ์: Ollama + OpenWebUI. ๋ณ๋ ์ค์ ๋ถํ์, ์ฐ์ํ ์ฑํ UI, ์ปจํ ์คํธ ์ฐฝ ์กฐ์ ๊ฐ๋ฅ.
- ์ฝ๋ฉ/์ฝ๋ ๋ฆฌ๋ทฐ: vLLM + FastAPI + VS Code ํ์ฅ. ๋ฐฐ์น ์ฒ๋ฆฌ, ๋ณ๋ ฌ ์ถ๋ก , ์คํธ๋ฆฌ๋ฐ ์ง์.
- ๋ก์ปฌ RAG: LlamaIndex + Ollama/vLLM + Qdrant ๋ฒกํฐ DB. ๋ฌธ์ ์ฒญํน, ์๋ฒ ๋ฉ, ๊ฒ์์ด ํตํฉ๋์ด ์์ต๋๋ค.
- AI ์์ด์ ํธ: LangGraph + vLLM ๋ฐฑ์๋. ๋๊ตฌ ์ฌ์ฉ, ๋ฉ๋ชจ๋ฆฌ, ๊ณํ ๋ฃจํ. ํ์ต ๊ณก์ ์ด ๊ฐํ๋ฆ ๋๋ค.
- ๋ค์ค ์ฌ์ฉ์ API: nginx ๋ค์ vLLM. ๋์ ์์ฒญ 10๊ฑด ์ด์ ์ฒ๋ฆฌ ๊ฐ๋ฅ. ๊ฐ์ฅ ํ์ฅ์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค.
- ํ์ธํ๋: HuggingFace Transformers + LoRA + Ollama(์ถ๋ก ์ฉ). ํ์ต๊ณผ ์๋น์ ๋ถ๋ฆฌํ์ฌ ์งํํฉ๋๋ค.
- ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ: Ollama(๋ค์ดํฐ๋ธ ์คํธ๋ฆฌ๋ฐ) ๋๋ vLLM + ํ ํฐ ์คํธ๋ฆฌ๋ฐ ์๋ํฌ์ธํธ. ์ฑ๋ด์์ ์ต๊ณ ์ UX๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋น ๋ฅธ ๊ฒฐ์ : ํ๋์จ์ด ๋ฑ๊ธ๋ณ ์คํ (2026๋ 4์)
GPU/VRAM์ ๋ง๋ ์ต์ ์คํ์ ์ ํํ์ญ์์ค. ๊ฐ ์กฐํฉ์ ์ค์ ๋ฒค์น๋งํฌ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ์คํธ๋์์ต๋๋ค. ์ฝ๋ฉ ๋ฐ ์์ด์ ํธ ์ํฌํ๋ก๋ ๊ธ์ฐ๊ธฐ๋ณด๋ค ๋ํ ๋ชจ๋ธ์ ํํ์ ๋ ํฌ๊ฒ ๋ฐ์ผ๋ฉฐ, RAG๋ LLM ํฌ๊ธฐ๋ณด๋ค ์๋ฒ ๋ฉ ํ์ง์ด ๋ ์ค์ํฉ๋๋ค.
| ํ๋์จ์ด | ๊ธ์ฐ๊ธฐ | ์ฝ๋ฉ | RAG | ์์ด์ ํธ |
|---|---|---|---|---|
| 4~8 GB VRAM (GTX 1660, RTX 3050) | Ollama + Phi-4 Mini | Ollama + Qwen3-Coder-1.5B | LlamaIndex + Phi-4 Mini | ๊ถ์ฅํ์ง ์์ |
| 12 GB VRAM (RTX 3060, RTX 4070) | Ollama + Llama 3.2 8B | vLLM + Qwen3-Coder-7B | LlamaIndex + Llama 3.2 8B | LangGraph + Ollama (๋๋ฆผ) |
| 16 GB VRAM (RTX 4070 Ti, RTX 4080) | Ollama + Mistral Small 3.1 | vLLM + Qwen3-Coder-14B | LlamaIndex + Mistral 3.1 | LangGraph + vLLM |
| 24 GB VRAM (RTX 3090, RTX 4090) | Ollama + Llama 3.3 70B Q4 | vLLM + Qwen3-Coder-32B | LlamaIndex + Llama 3.3 70B | LangGraph + vLLM (๊ฐ์ฅ ๋น ๋ฆ) |
**์ต์ ์คํ: Ollama + OpenWebUI + ๋งํฌ๋ค์ด ํธ์ง๊ธฐ**
์ด ์คํ์ ์ ํํ๋ ์ด์ : OpenWebUI๋ ์ต๊ณ ์ ์ฑํ UX๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฝ๋ฉ์ด ํ์ํ์ง ์์ต๋๋ค. ์ปจํ ์คํธ ์ฐฝ ์ ์ฐ์ฑ(4K~32K)์ ์ฅ๋ฌธ ๊ธ์ฐ๊ธฐ์์ LM Studio๋ณด๋ค ๋ฐ์ด๋ฉ๋๋ค. ์๊ฐ์๊ฒ ํด๋ผ์ฐ๋ API๋ณด๋ค ๊ฒฝ์ ์ ์ ๋๋ค.
- 1VRAM 24 GB์ ๊ฒฝ์ฐ: `ollama pull llama3.3:70b` โ ์ต๊ณ ํ์ง, ๊ธ์ฐ๊ธฐ ๋ฒค์น๋งํฌ์์ GPT-4(2023)์ ํ์ ํฉ๋๋ค.
- 2VRAM 16 GB์ ๊ฒฝ์ฐ: `ollama pull mistral-small3.1` โ 128K ์ปจํ ์คํธ, 24 GB ๋ฏธ๋ง์์ ์ต๊ณ ํ์ง.
- 3VRAM 8 GB์ ๊ฒฝ์ฐ: `ollama pull llama3.2:8b` โ ์ํธํ ๊ธ์ฐ๊ธฐ ํ์ง, ์๋น์ ํ๋์จ์ด์์ ๋น ๋ฆ ๋๋ค.
- 4Docker๋ฅผ ํตํด OpenWebUI ์ค์น: `docker run -d -p 3000:8080 ghcr.io/open-webui/open-webui:latest`.
- 5๋ฌธ์ ๊ธธ์ด์ ๋ฐ๋ผ OpenWebUI ์ค์ ์์ ์ปจํ ์คํธ ์ฐฝ(8K~32K ํ ํฐ)์ ๊ตฌ์ฑํ์ญ์์ค.
**์ต์ ์คํ: vLLM + Qwen3-Coder + IDE ํ์ฅ**
์ด ์คํ์ ์ ํํ๋ ์ด์ : Qwen3-Coder๋ HumanEval์์ 82%๋ฅผ ๊ธฐ๋กํฉ๋๋ค(2026๋ 4์ ๊ธฐ์ค ์ต๊ณ ์ ์คํ์์ค ์ฝ๋ฉ ๋ชจ๋ธ). vLLM์ ๋ฐฐ์น ์ถ๋ก ์์ Ollama๋ณด๋ค 3~5๋ฐฐ ๋น ๋ฆ ๋๋ค. ๋ค์ดํฐ๋ธ OpenAI API ํธํ์ฑ์ผ๋ก ๊ธฐ์กด IDE ๋๊ตฌ์ ์ ํฉํฉ๋๋ค. ์ค์๊ฐ ์ ์์ ์ํ ์คํธ๋ฆฌ๋ฐ์ด ํ์ฑํ๋ฉ๋๋ค.
์ฌ๋ฌ ํ์ผ์ ๋ํ AI ๊ธฐ๋ฐ ์ฝ๋ ๋ฆฌ๋ทฐ
์ฌ๋ฌ ํ์ผ์ ๋ํ ์๋ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์ํด vLLM์ ๋ฐฐ์น ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค:
- 1vLLM ์ค์น: `pip install vllm`.
- 2Qwen3-Coder-7B๋ก vLLM ์๋ฒ ์์: `python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen3-Coder-7B-Instruct --port 8000`.
- 3VRAM 16 GB ์ด์์ ๊ฒฝ์ฐ 14B ์ฌ์ฉ: `--model Qwen/Qwen3-Coder-14B-Instruct`.
- 4IDE ํ์ฅ(VS Code Continue.dev, Cursor ๋ฑ)์ `http://localhost:8000/v1`์ ์ฐ๊ฒฐํ์ญ์์ค.
- 5์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์ํ ๋ฐฐ์น ์ฒ๋ฆฌ ํ์ฑํ: ๋จ์ผ API ํธ์ถ๋ก 10๊ฐ ํ์ผ์ ๋ณ๋ ฌ ์ฒ๋ฆฌํฉ๋๋ค(`vllm`์ ๊ธฐ๋ณธ์ ์ผ๋ก batch=10์ ์ง์ํฉ๋๋ค).
# vLLM ๋ฐฐ์น ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ 10๊ฐ ํ์ผ์ ๋ณ๋ ฌ๋ก ๋ฆฌ๋ทฐ
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="not-needed")
code_files = [
("utils.py", open("utils.py").read()),
("models.py", open("models.py").read()),
# ... ์ต๋ 10๊ฐ ํ์ผ
]
# vLLM์ 10๊ฐ๋ฅผ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌ (๋ฐฐ์น ์์ฒญ 1ํ)
reviews = []
for filename, code in code_files:
prompt = f"Review this code for bugs, style, and performance:
{code}"
response = client.chat.completions.create(
model="Qwen3-Coder-7B-Instruct",
messages=[{"role": "user", "content": prompt}],
temperature=0.2, # ๋ฆฌ๋ทฐ ์์
์๋ ๊ฒฐ์ ๋ก ์ ์ค์ ๊ถ์ฅ
)
reviews.append((filename, response.choices[0].message.content))
for filename, review in reviews:
print(f"=== {filename} ===
{review}
")์ต์ ์คํ: LlamaIndex + Ollama/vLLM + Qdrant + FastAPI UI
์ด ์คํ์ ์ ํํ๋ ์ด์ : LlamaIndex๋ ์ฒญํน + ๊ฒ์์ ์ฒ๋ฆฌํฉ๋๋ค. Qdrant๋ ๋น ๋ฅด๊ณ , ๋ก์ปฌ์์ ์คํ๋๋ฉฐ, ํ๋ผ์ด๋ฒ์๋ฅผ ๋ณดํธํฉ๋๋ค. Ollama๋ ์๋ฒ ๋ฉ์ ๋ฌด๋ฃ๋ก ์ ๊ณตํ๊ฑฐ๋ vLLM์ LLM ์ถ๋ก ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- 1LlamaIndex ์ค์น(`pip install llama-index`).
- 2LlamaIndex์ ๋ฌธ์(PDF, TXT, ๋งํฌ๋ค์ด)๋ฅผ ๋ก๋ํฉ๋๋ค.
- 3๋ฌธ์๋ฅผ ์ฒญํน(๊ธฐ๋ณธ 1024 ํ ํฐ)ํ๊ณ ๋ก์ปฌ ๋ชจ๋ธ ๋๋ OpenAI(๋ฐฑ์ )๋ก ์๋ฒ ๋ฉํฉ๋๋ค.
- 4Docker๋ฅผ ํตํด ๋ก์ปฌ์์ ์คํ๋๋ Qdrant ๋ฒกํฐ DB์ ์๋ฒ ๋ฉ์ ์ ์ฅํฉ๋๋ค.
- 5LlamaIndex๋ฅผ ํตํด ์ฟผ๋ฆฌํฉ๋๋ค: ์์ K๊ฐ์ ์ ์ฌ ๋ฌธ์๋ฅผ ๊ฒ์ํ๊ณ ์ปจํ ์คํธ์ ํจ๊ป LLM์ ํ๋กฌํํธ๋ฅผ ์ ๋ฌํฉ๋๋ค.
- 6์น UI ๋๋ IDE ํตํฉ์ ์ํด FastAPI ์๋ํฌ์ธํธ๋ก ๋ํํฉ๋๋ค.
์ต์ ์คํ: LangGraph + vLLM + ๋๊ตฌ ์ ์
์ด ์คํ์ ์ ํํ๋ ์ด์ : LangGraph๋ ๊ตฌ์กฐํ๋ ์์ด์ ํธ ํ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค. vLLM์ ์์ฐจ์ LLM ํธ์ถ 10ํ ์ด์์๋ ์ถฉ๋ถํ ๋น ๋ฆ ๋๋ค. ๋๊ตฌ ์ฌ์ฉ์ด ๋ช ์์ ์ด๊ณ ๋๋ฒ๊ทธ ๊ฐ๋ฅํฉ๋๋ค.
- 1LangGraph ์ค์น(`pip install langchain langgraph`).
- 2๋๊ตฌ(์น ๊ฒ์, ๊ณ์ฐ๊ธฐ, ํ์ผ I/O)๋ฅผ ํจ์ ์๋ช ์ผ๋ก ์ ์ํฉ๋๋ค.
- 3LLM์ ๊ฒฐ์ ๋ ธ๋๋ก, ๋๊ตฌ๋ฅผ ์ก์ ๋ ธ๋๋ก ํ๋ ์์ด์ ํธ ๊ทธ๋ํ๋ฅผ ์์ฑํฉ๋๋ค.
- 4ํ์ดํธ ๋ฃจํ์์ ๋ฎ์ ์ง์ฐ ์๊ฐ์ LLM ํธ์ถ์ ์ํด vLLM ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- 5์์ด์ ํธ ๋ฃจํ๋ฅผ ์คํํฉ๋๋ค: LLM โ ๋๊ตฌ ์ ํ โ ๋๊ตฌ ์คํ โ ์๋ฃ๊น์ง ๋ฐ๋ณต.
์ต์ ์คํ: vLLM + nginx ๋ก๋ ๋ฐธ๋ฐ์ + ๋ชจ๋ํฐ๋ง
์ด ์คํ์ ์ ํํ๋ ์ด์ : vLLM์ ๋ถ์ฐ ์๋น์ ์ง์ํฉ๋๋ค. Nginx๋ ์์ฒญ์ ๋ฉํฐํ๋ ์ฑํฉ๋๋ค. ๋์ผ GPU ์์คํ ์์ ๋์ ์ฌ์ฉ์ 10๋ช ์ด์์ผ๋ก ํ์ฅ๋ฉ๋๋ค. ์ฌ์ฉ์๋ณ ํ ํฐ ์ฒ๋ฆฌ๋์ ๋ชจ๋ํฐ๋งํฉ๋๋ค.
- 1๊ณ ์ ํฌํธ์์ `--served-model-name model-name`์ผ๋ก vLLM์ ๋ฐฐํฌํฉ๋๋ค.
- 22๊ฐ ์ด์์ vLLM ์ธ์คํด์ค(๋ฉํฐ GPU์ธ ๊ฒฝ์ฐ GPU๋น ํ๋)์ ๊ฑธ์ณ nginx ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๊ตฌ์ฑํฉ๋๋ค.
- 3ํด๋ผ์ด์ธํธ ํธํ์ฑ์ ์ํด OpenAI ํธํ `/v1/chat/completions` ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- 4Prometheus ์คํฌ๋ ์ดํ ์๋ํฌ์ธํธ๋ฅผ ํตํด ๋ชจ๋ํฐ๋งํฉ๋๋ค(vLLM์ ์์ฒญ ์ง์ฐ ์๊ฐ, ์ฒ๋ฆฌ๋ ๋ฉํธ๋ฆญ์ ๋ด๋ณด๋ ๋๋ค).
- 5์ฌ์ฉ์๋ณ ํ ํฐ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์๋ ์ ํ์ ์ค์ ํฉ๋๋ค.
์ต์ ์คํ: HuggingFace Transformers + LoRA + Ollama(์ถ๋ก )
์ด ์คํ์ ์ ํํ๋ ์ด์ : LoRA๋ ํ์ธํ๋ VRAM์ 10๋ถ์ 1๋ก ์ค์ ๋๋ค. Ollama๋ ํ์ธํ๋๋ ๋ชจ๋ธ์ ์ฝ๊ฒ ๋ก๋ํฉ๋๋ค. ๋ชจ๋์ ๊ตฌ์กฐ: ํ ๋ฐ์ค์์ ํ์ตํ๊ณ ๋ค๋ฅธ ๋ฐ์ค์์ ์๋นํฉ๋๋ค.
์ฐธ๊ณ ์ฌํญ (2026๋ 4์): Meta๋ ์์ ์ ํ์ธํ๋์์ Llama 3.3์ ์ง์ ์ค๋จํ์ต๋๋ค. Apache 2.0 / ์คํ์์ค ๋ผ์ด์ ์ค ์กฐ๊ฑด์ ์ํด Llama 3.2(`meta-llama/Llama-3.2-1B` ๋๋ ๋ ํฐ ๋ชจ๋ธ) ๋๋ Qwen3(`Qwen/Qwen3-7B`)์์ ํ์ธํ๋ํ์ญ์์ค. ๋ ๋ชจ๋ธ ๋ชจ๋ LoRA๋ฅผ ์ง์ํ๊ณ Ollama์์ ์ฝ๊ฒ ๋ก๋๋ฉ๋๋ค.
- 1`peft` ๋ผ์ด๋ธ๋ฌ๋ฆฌ(LoRA)๋ก ํ์ธํ๋ํ์ฌ VRAM ์ฌ์ฉ๋์ ์ค์ ๋๋ค.
- 2ํ์ต: ๋ชจ๋ธ VRAM์ 4๋ฐฐ๊ฐ ํ์ํฉ๋๋ค(์ตํฐ๋ง์ด์ ์ํ, ๊ทธ๋๋์ธํธ). ์ถ๋ก ๊ณผ ๋ณ๋๋ก ์คํํฉ๋๋ค.
- 3LoRA ์ด๋ํฐ๋ฅผ HuggingFace Hub ๋๋ ๋ก์ปฌ ํ์ผ ์์คํ ์ผ๋ก ๋ด๋ณด๋ ๋๋ค.
- 4Ollama์์ ํ์ธํ๋๋ ๋ชจ๋ธ ๋ก๋: `ollama create mymodel -f Modelfile`.
- 5๋๋ RLHF๋ฅผ ์ํด HuggingFace TRL(Transformers Reinforcement Learning)์ ์ฌ์ฉํฉ๋๋ค.
์ต์ ์คํ: Ollama(๋ค์ดํฐ๋ธ ์คํธ๋ฆฌ๋ฐ) ๋๋ vLLM + Server-Sent Events (SSE)
์ด ์คํ์ ์ ํํ๋ ์ด์ : ์คํธ๋ฆฌ๋ฐ์ ์ฒด๊ฐ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค(์ฌ์ฉ์๊ฐ ํ ํฐ์ด ๋ํ๋๋ ๊ฒ์ ํ์ธ). Ollama๊ฐ ๊ฐ์ฅ ๊ฐ๋จํฉ๋๋ค. vLLM์ ํ ํฐ ์ฒ๋ฆฌ๋์ด ๊ฐ์ฅ ๋น ๋ฆ ๋๋ค.
- 1Ollama: `stream: true`๋ก `/api/generate`๋ฅผ ํธ์ถํฉ๋๋ค. ํ ํฐ์ ์ค๋ฐ๊ฟ์ผ๋ก ๊ตฌ๋ถ๋ JSON์ผ๋ก ๋์ฐฉํฉ๋๋ค.
- 2vLLM: `stream: true`๋ก `/v1/chat/completions`๋ฅผ ์ฌ์ฉํฉ๋๋ค. OpenAI ํธํ SSE ์คํธ๋ฆผ์ ๋ฐํํฉ๋๋ค.
- 3ํ๋ก ํธ์๋: EventSource API(JavaScript)๋ฅผ ์ฌ์ฉํ์ฌ ์คํธ๋ฆผ์ ์๋นํ๊ณ ํ ํฐ๋น UI๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
- 4์ต์ ์ง์ฐ ์๊ฐ์ ์ํด ๋ฐฐ์น ์ฒ๋ฆฌ๋ฅผ ๋นํ์ฑํํฉ๋๋ค(batch=1).
Ollama์ vLLM ์ค ์ด๋ค ๊ฒ์ ์ฌ์ฉํด์ผ ํฉ๋๊น?
Ollama๋ ์ฑํ UI์ ๊ฐํธํจ์ ์ ํฉํฉ๋๋ค. vLLM์ API ์๋ฒ, ๋ฐฐ์น ์ฒ๋ฆฌ, ์ฑ๋ฅ์ ์ ํฉํฉ๋๋ค. ์ํธ ๋ฐฐํ์ ์ด์ง ์์ผ๋ฏ๋ก ๋ ๋ค ์คํํ ์ ์์ต๋๋ค.
Ollama๋ฅผ ํ๋ก๋์ API์ ์ฌ์ฉํ ์ ์์ต๋๊น?
์, ํ์ง๋ง vLLM์ด ๋ ๋น ๋ฆ ๋๋ค(์ฒ๋ฆฌ๋ 3~5๋ฐฐ ๋์). Ollama๋ ์ด๋น 10๊ฑด ๋ฏธ๋ง ์์ฒญ์ ์ ํฉํฉ๋๋ค. ์ด๋น 10๊ฑด ์ด์์๋ vLLM์ ์ฌ์ฉํ์ญ์์ค.
์ฝ๋ ๋ฆฌ๋ทฐ์ ๊ฐ์ฅ ์ ํฉํ ๋ก์ปฌ LLM์ ๋ฌด์์ ๋๊น?
vLLM + Qwen3-Coder-7B-Instruct์ ๋๋ค. Qwen3-Coder๋ HumanEval์์ 82%๋ฅผ ๊ธฐ๋กํฉ๋๋ค(์ต๊ณ ์ ์คํ์์ค). vLLM์ 10๊ฐ ํ์ผ์ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํฉ๋๋ค. RTX 3060 12GB์์ ์ฝ 30~50 tok/sec์ ๋๋ค.
๊ฐ๋จํ RAG์ ๋ฒกํฐ DB๊ฐ ํ์ํฉ๋๊น?
๋ฌธ์ 100๊ฐ ๋ฏธ๋ง์ ๊ฒฝ์ฐ: ์ธ๋ฉ๋ชจ๋ฆฌ ์๋ฒ ๋ฉ(np.ndarray)์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. 100๊ฐ ์ด์์ ๊ฒฝ์ฐ: ๋ฉ๋ชจ๋ฆฌ ๊ณผ๋ถํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด Qdrant ๋๋ Weaviate๋ฅผ ์ฌ์ฉํ์ญ์์ค.
LangGraph๋ ๊ฐ๋จํ ์ฑ๋ด์ ๊ณผ๋ํฉ๋๊น?
์. Ollama ๋๋ vLLM๋ง ์ฌ์ฉํ์ญ์์ค. LangGraph๋ ๋ค๋จ๊ณ ์ํฌํ๋ก(์์ด์ ํธ ๋ฃจํ, ๊ณํ)๋ฅผ ์ํ ๊ฒ์ ๋๋ค.
Ollama์ vLLM ๋ฐฑ์๋๋ฅผ ํผํฉํ ์ ์์ต๋๊น?
์. ์๋ฅผ ๋ค์ด, Ollama๋ ์ฑํ UI์ฉ, vLLM์ ๋ฐฐ์น API์ฉ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ ๋จธ์ ์์ ์๋ก ๋ค๋ฅธ ํฌํธ๋ก ์คํํ ์ ์์ต๋๋ค.
๊ด๋ จ ์ฝ์๊ฑฐ๋ฆฌ
- ๋ก์ปฌ LLM์ ์ํ ์ต๊ณ ์ AI ์ฝ๋ฉ ์ด์์คํดํธ โ ์ฝ๋ฉ ์คํ์ ์ํ IDE ์ ํ(Cursor, Continue.dev, Cody).
- 2026๋ ์ฝ๋ฉ์ฉ ์ต๊ณ ์ ๋ก์ปฌ LLM โ Qwen3-Coder ๋ DeepSeek-Coder HumanEval ์์.
- 2026๋ ๋ก์ปฌ RAG ์ค์ โ LlamaIndex + Qdrant + Ollama ์์ ๊ตฌํ ๊ฐ์ด๋.
- LangGraph๋ก ๋ก์ปฌ LLM ์์ด์ ํธ ๊ตฌ์ถ โ ๋จ๊ณ๋ณ ์์๊ฐ ํฌํจ๋ ์์ด์ ํธ ์ํฌํ๋ก ํ๋ ์์ํฌ.
- Ollama ๋ LM Studio โ ๋ฐฑ์๋ ๋น๊ต: CLI ๋ GUI, ์๋, ๋ฐฐ์น ์ฒ๋ฆฌ.
- Open WebUI ๋ SillyTavern โ ์ฑํ UI ๋น๊ต: ์ ๋ฌธ์ vs ๋กคํ๋ ์ด.
- ๋ก์ปฌ LLM์ VRAM์ด ์ผ๋ง๋ ํ์ํฉ๋๊น? โ ๋ชจ๋ธ ํฌ๊ธฐ ๋ฐ ์ฌ์ฉ ์ฌ๋ก๋ณ ํ๋์จ์ด ์๊ตฌ ์ฌํญ.
LLM ์คํ ์ ํ ์ ์ผ๋ฐ์ ์ธ ์ค์
- vLLM ์์ด Ollama๋ฅผ ํ๋ก๋์ API์ ์ฌ์ฉํ๋ ๊ฒ: Ollama๋ ์ด๋น 10๊ฑด ๋ฏธ๋ง์ผ๋ก ํ๊ณ๊ฐ ์์ต๋๋ค. ๋์ ์ฌ์ฉ์ 10๋ช ์ด์์ ์๋นํ๋ ํ๋ก๋์ ํ๊ฒฝ์์๋ vLLM์ด ํ์์ ๋๋ค. ๋ฐฐํฌ ์ ์ ๋ถํ ํ ์คํธ๋ก ์ฒ๋ฆฌ๋์ ํ์ธํ์ญ์์ค.
- vLLM ๋ฐฑ์๋ ์์ด LangGraph๋ฅผ ์คํํ๋ ๊ฒ: LangGraph ์์ด์ ํธ๋ ์์ฐจ์ LLM ํธ์ถ์ 10ํ ์ด์ ์ํํฉ๋๋ค. Ollama๋ ์ง์ฐ ์๊ฐ ๋ณ๋ชฉ ํ์์ ์ ๋ฐํฉ๋๋ค. 1์ด ๋ฏธ๋ง์ ์๋ณต ์๊ฐ์ ์ํด ํญ์ LangGraph์ vLLM์ ํจ๊ป ์ฌ์ฉํ์ญ์์ค.
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์ด ๊ฐ์ GPU์์ Ollama + vLLM์ ํผํฉํ๋ ๊ฒ: ๋ ๋๊ตฌ ๋ชจ๋ VRAM์ ๊ฐ์ค์น๋ฅผ ๋ก๋ํฉ๋๋ค. 70B ๋ชจ๋ธ ๋ ์ธ์คํด์ค๋ฅผ ์คํํ๋ฉด 32 GB๋ฅผ ์๋นํฉ๋๋ค. ๋ณ๋์ GPU๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๋ ๋ชจ๋ธ์ ๋ชจ๋ ์์ฉํ๊ธฐ ์ํด ๋ง์ด ์์ํ(Q2)ํ์ญ์์ค.
- ๊ธ์ฐ๊ธฐ์ ์๋ชป๋ ์ปจํ ์คํธ ์ฐฝ์ ์ ํํ๋ ๊ฒ: ๊ธฐ๋ณธ 4K ์ปจํ ์คํธ๋ ๋ธ๋ ์ธ์คํ ๋ฐ ์ธ์ ์ ์ ํํฉ๋๋ค. ์ฅ๋ฌธ ๊ธ์ฐ๊ธฐ์ ๊ฒฝ์ฐ OpenWebUI์์ 16K~32K ์ปจํ ์คํธ ์ฐฝ์ ์ค์ ํ์ญ์์ค. ํธ๋ ์ด๋์คํ: ์ถ๋ก ์๋๊ฐ ๋๋ ค์ง๋๋ค(ํ ํฐ๋น 2~3๋ฐฐ ๋๋ฆผ).
- ๋ชจ๋ ๋ฐฑ์๋์ ์๋๊ฐ ๋์ผํ๋ค๊ณ ๊ฐ์ ํ๋ ๊ฒ: vLLM๊ณผ Ollama๋ ์๋ก ๋ค๋ฅธ ์ปค๋์ ์ฌ์ฉํฉ๋๋ค. ๋์ผํ ํ๋์จ์ด์์ vLLM์ ์ถ๋ก ์์ 2~3๋ฐฐ ๋ ๋น ๋ฆ ๋๋ค. ์๋ ์ฐจ์ด๋ ๋ฐฑ์๋์ ์์ผ๋ฉฐ, ํ๋ก ํธ์๋(OpenWebUI, LM Studio๋ ๋จ์ํ UI)์๋ ์์ต๋๋ค.
์ถ์ฒ
- Ollama GitHub โ ๊ณต์ ๋ฌธ์, ์คํธ๋ฆฌ๋ฐ API ์ฌ์, ๋ชจ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
- vLLM GitHub โ OpenAI API ํธํ์ฑ, ๋ฐฐ์น ์ฒ๋ฆฌ, ์ฐ์ ๋ฐฐ์น ๋ฌธ์.
- Qwen3-Coder ๊ธฐ์ ๋ณด๊ณ ์ โ Alibaba Qwen. HumanEval ์ ์ 82%, ์ฝ๋ฉ ์์ ํนํ. Apache 2.0 ๋ผ์ด์ ์ค.
- LlamaIndex ๋ฌธ์ โ ๋ฌธ์ ์ธ๋ฑ์ฑ, ์ฒญํน, RAG ๊ฒ์ ํ๋ ์์ํฌ.
- LangGraph ๋ฌธ์ โ ์์ด์ ํธ ์ํฌํ๋ก ํ๋ ์์ํฌ, ์ํ ๋จธ์ , ๋๊ตฌ ์ฌ์ฉ ํจํด.
- Qdrant ๋ฌธ์ โ ๋ก์ปฌ ์๋ฒ ๋ฉ ์ ์ฅ์ ์ํ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค, Docker ์ง์, Apache 2.0.
- Continue.dev ๋ฌธ์ โ ๋ก์ปฌ LLM ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ๋ VS Code ๋ฐ JetBrains์ฉ IDE ํ์ฅ.