
Ollama(์ฌ๋ผ๋ง)๋ ๋ก์ปฌ PC(์๋์ฐ, ๋งฅ, ๋ฆฌ๋ ์ค ๋ฑ)์์ ์ง์ ๋ํ ์ธ์ด ๋ชจ๋ธ(LLM)๋ค์ ์์ฝ๊ฒ ๋ค์ด๋ก๋ํ๊ณ ์คํํ ์ ์๊ฒ ํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค.
Ollama์ ํน์ง
๋ชจ๋ธ ๋ค์ด๋ก๋์ ์คํ์ด ๋งค์ฐ ๊ฐํธ: ํฐ๋ฏธ๋ ํ ์ค ๋ช ๋ น์ผ๋ก ์ ๋ช ํ ์คํ์์ค LLM(์: Llama2, Mistral, Gemma ๋ฑ)์ ๋ฐ๋ก ๋ฐ์ ์คํํ ์ ์์ต๋๋ค.
๋ก์ปฌ ์คํ: ์ธํฐ๋ท์ ์ฐ๊ฒฐํ์ง ์์๋ ๊ฐ์ธ PC์์ LLM์ ์์ฑ AI ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ด ๊ฐ์ธ์ ๋ณด ์ ์ถ ๊ฑฑ์ ์ด ์ ์ต๋๋ค.
API ์ง์: Ollama์์ ์คํ ์ค์ธ ๋ชจ๋ธ์ OpenAI ์คํ์ผ API๋ก ์ ๊ทผํ ์ ์์ด, ๊ธฐ์กด ์ฑ์ ์ฝ๊ฒ ์ฐ๋ ๊ฐ๋ฅํฉ๋๋ค.
๊ฒฝ๋ํ๋ ๋ชจ๋ธ ์ต์ ํ: PC ํ๊ฒฝ์์ ํจ์จ์ ์ผ๋ก ์๋ํ๋๋ก ๋ชจ๋ธ ์ต์ ํ๊ฐ ๋์ด ์์ต๋๋ค.
์ฆ, Ollama๋ ๊ฐ๋ณ PC์์๋ ๊ฐ๋ ฅํ LLM์ ์์ฑํ AI ๊ธฐ๋ฅ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ด์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ซํผ์
๋๋ค.
Ollama ์ค์น
๋ชจ๋ธ ๋ด๋ ค๋ฐ๊ธฐ(Pull)
ollama pull ๋ชจ๋ธ์ด๋ฆ ๋ช
๋ น์ผ๋ก ๋ค์ด๋ก๋ํฉ๋๋ค.Ollama ์๋ฒ ์คํ
LLM ๋ชจ๋ธ ์คํ ๋ฐ ๊ด๋ฆฌ
Ollama ํ๋ก์ธ์ค๋ ์ฌ๋ฌ LLM ๋ชจ๋ธ(๋ค์ด๋ก๋๋)์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๋จ์ผ ๋๋ ์ฌ๋ฌ ๊ฐ์ ๋ชจ๋ธ์ ๋์์ ๋ก๋/์ธ๋ก๋ ๊ฐ๋ฅํฉ๋๋ค.
API ์์ฒญ ์ฒ๋ฆฌ
์ฌ์ฉ์๋ curl, Postman, ๋๋ ์ ํ๋ฆฌ์ผ์ด์
(์: Langchain)์์ Ollama๊ฐ ์ ๊ณตํ๋ OpenAI ํธํ REST API ์๋ํฌ์ธํธ๋ก ๋ํ/ํ๋กฌํํธ ์์ฒญ์ ๋ณด๋
๋๋ค.
Ollama๊ฐ ์์ฒญ์ ๋ฐ์ ๋ชจ๋ธ์ ์ ๋ ฅ์ ์ ๋ฌํ๊ณ , ๊ฒฐ๊ณผ(์์ฑ ํ ์คํธ ๋ฑ)๋ฅผ ๋ค์ ๋ฐํํฉ๋๋ค.
์์ฉ
Ollama๋ ๋ด๋ถ์ ์ผ๋ก Docker ์ปจํ ์ด๋ ๋ฐฉ์์ ์ง์ํฉ๋๋ค.
Ollama๋ฅผ Docker ์ปจํ
์ด๋๋ก ์คํํ ์๋ ์๊ณ , Ollama๊ฐ ์ฌ๋ฌ LLM ๋ชจ๋ธ(ํนํ ๊ฐ์ ๋จธ์ ๊ฒฉ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ)์ ๊ฐ๊ฐ Docker ์ปจํ
์ด๋๋ก ๊ด๋ฆฌํ์ฌ ํ์ตยท์์ฑ ์์
์ ์ฒ๋ฆฌํ ์๋ ์์ต๋๋ค
.
์ด๋ ๊ฒ ํ๋ฉด, ์ฌ๋ฌ ๋ชจ๋ธ ๋๋ ๋ค์ํ ํ๊ฒฝ์์ ์ถฉ๋ ์์ด ํจ์จ์ ์ผ๋ก LLM์ ์คํํ ์ ์์ต๋๋ค.
์๋๋ Ollama์ ๊ธฐ๋ณธ ๊ตฌ์กฐ(๊ด๊ณ๋) ์์์ ๋๋ค.
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ์ฌ์ฉ์/์ฑ/ โ
โ (๋ธ๋ผ์ฐ์ , Postman, Langchain)โ
โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ (REST API ์์ฒญ)
โผ
โโโโโโโโโโโโโโโโโโโ
โ Ollama ์๋ฒ โ
โ ----------------โ
โ REST API โ
โ LLM ๋งค๋์ โ
โโโโโโโโโโฌโโโโโโโโโ
โ (๋ชจ๋ธ ๊ด๋ฆฌ, ์คํ)
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
โโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โLlama2โ โMistral โ ... โGemma โ
โ๋ชจ๋ธ โ โ๋ชจ๋ธ โ โ๋ชจ๋ธ โ
โโโฌโโโโโ โโโโโโโฌโโโโโ โโโโโโโฌโโโโโ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
(์ง์ ์คํ or Docker ์ปจํ
์ด๋)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Ollama ์๋ฒ(๋ฐ๋ชฌ)์ด REST API๋ฅผ ์ด์ด๋ก๋๋ค.
์ฌ์ฉ์๋ API๋ฅผ ํตํด ์์ฒญ(ํ๋กฌํํธ ๋ฑ)์ ๋ณด๋ ๋๋ค.
Ollama๊ฐ ์์ฒญ์ ๋ฐ๋ผ ๋ด๋ถ์ ์ผ๋ก ๋ก๋๋ ๋ชจ๋ธ์ ์์ ์ ์์ํฉ๋๋ค.
๋ชจ๋ธ์ Docker ์ปจํ ์ด๋ ๋ด ์คํ์ผ ์๋ ์๊ณ , ๊ทธ๋ฅ OS ํ๋ก์ธ์ค์ผ ์๋ ์์ต๋๋ค.
docker run -d -p 11434:11434 --name ollama ollama/ollama
localhost:11434 ํฌํธ์์ Ollama OpenAI API์ ํต์ ํ ์ ์์ต๋๋ค.Ollama๋ ๊ฐ๋ ฅํ LLM์ ์ค์น/์คํ/APIํํ๋ ๋๊ตฌ
์ํ ๊ฒฝ์ฐ Docker๋ก ์คํํด ๊ฒฉ๋ฆฌ์ ์ ์ฐ์ฑ์ ๋์ผ ์ ์์
Ollama REST API๋ฅผ ํตํด ๋ค์ํ ์ธ๋ถ ์ฑ(๋ธ๋ผ์ฐ์ , Langchain ๋ฑ)์์ ํ์ฉ ๊ฐ๋ฅ
๋ด๋ถ์ ์ผ๋ก ๋ชจ๋ธ ์ ํ โ ํ๋กฌํํธ ์ ๋ฌ โ ๊ฒฐ๊ณผ ๋ฐํ์ ๊ตฌ์กฐ
์ฌ๋ฌ LLM ๋ชจ๋ธ์ ์์ฝ๊ฒ ๊ด๋ฆฌํ๊ณ , ๋ก์ปฌ์์ ๊ฐ์ธ์ ๋ณด ์์ ํ๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ
[์ฌ์ฉ์/์ฑ/๋ธ๋ผ์ฐ์ /Langchain]
|
(API ์์ฒญ)
v
[Ollama API ์๋ฒ]
|
โโโโโโModel Poolโโโโโโ
โ Llama2 โ
โ Mistral โ
โ Gemma ... โ
โโโโโโโโโโโโโโโโโโโโโโ
(Docker or Direct)