LLM Day 10 - Ollama

Soyee Sungยท2025๋…„ 2์›” 12์ผ
0

LLM

๋ชฉ๋ก ๋ณด๊ธฐ
10/34

๐Ÿ“Œ Ollama๋ž€?
Ollama๋Š” ๋กœ์ปฌ์—์„œ LLM(๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ)์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” AI ๋„๊ตฌ
์‰ฝ๊ฒŒ ๋งํ•ด์„œ, ์ธํ„ฐ๋„ท ์—†์ด ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ChatGPT ๊ฐ™์€ AI ๋ชจ๋ธ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ

๐Ÿ” Ollama์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ
โœ… ๋กœ์ปฌ์—์„œ LLM ์‹คํ–‰ โ†’ ์ธํ„ฐ๋„ท ์—†์ด AI ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด
โœ… ๋น ๋ฅธ ์‹คํ–‰ โ†’ ํด๋ผ์šฐ๋“œ API๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ์‘๋‹ต ๊ฐ€๋Šฅ
โœ… ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์ง€์› โ†’ Llama 3, Mistral, Gemma, Qwen, Phi ๋“ฑ ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
โœ… ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๊ฐ•ํ™” โ†’ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ด PC ์•ˆ์—์„œ๋งŒ ์ฒ˜๋ฆฌ๋จ

๐Ÿ’ก Ollama๋Š” ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ• ๊นŒ?
1๏ธโƒฃ AI ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œ
Ollama๋Š” ์—ฌ๋Ÿฌ AI ๋ชจ๋ธ์„ ์ง€์›
์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์›ํ•˜๋Š” ๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Œ

ollama pull mistral

ollama pull qwen2.5:3b   # ์•Œ๋ฆฌ๋ฐ”๋ฐ”์˜ Qwen ๋ชจ๋ธ
ollama pull llama3        # Meta์˜ Llama 3 ๋ชจ๋ธ
ollama pull phi           # Microsoft์˜ ์ž‘์€ AI ๋ชจ๋ธ

2๏ธโƒฃ AI ๋ชจ๋ธ ์‹คํ–‰
๋ชจ๋ธ์„ ๋‹ค์šด๋กœ๋“œํ•œ ํ›„, ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
์ด์ œ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ LLM์„ ์ง์ ‘ ์‹คํ–‰ํ•˜๊ณ 
ChatGPT์ฒ˜๋Ÿผ ํ„ฐ๋ฏธ๋„์—์„œ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜๋ฉด AI๊ฐ€ ๋‹ต๋ณ€

ollama run mistral

๐Ÿ’ป Ollama + Python ํ™œ์šฉํ•˜๊ธฐ

Ollama๋Š” Python๊ณผ๋„ ์‰ฝ๊ฒŒ ์—ฐ๋™
์•„๋ž˜์™€ ๊ฐ™์ด Python ์ฝ”๋“œ์—์„œ Ollama ๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉ

โœ… 1๏ธโƒฃ Python์—์„œ Ollama ์‹คํ–‰
๐Ÿ“Œ ์„ค๋ช…

ollama.chat() โ†’ Ollama๋ฅผ ํ†ตํ•ด AI ๋ชจ๋ธ๊ณผ ๋Œ€ํ™”
"mistral" โ†’ mistral ๋ชจ๋ธ์„ ์‚ฌ์šฉ
messages=[...] โ†’ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์ „๋‹ฌ
response['message']['content'] โ†’ AI๊ฐ€ ์ƒ์„ฑํ•œ ๋‹ต๋ณ€์„ ์ถœ๋ ฅ

import ollama

response = ollama.chat(model="mistral", messages=[
    {"role": "user", "content": "AI๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?"}
])

print(response['message']['content'])

๐ŸŽฏ Ollama๋ฅผ ์™œ ์‚ฌ์šฉํ• ๊นŒ

๐Ÿ›  Ollama๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ข‹์€ ๊ฒฝ์šฐ
์ธํ„ฐ๋„ท ์—†์ด ๋กœ์ปฌ์—์„œ AI ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
OpenAI API ๋น„์šฉ์„ ์ค„์ด๊ณ  ์‹ถ์„ ๋•Œ
๋ฐ์ดํ„ฐ ๋ณด์•ˆ์ด ์ค‘์š”ํ•œ ๊ธฐ์—…/๊ธฐ๊ด€์—์„œ AI๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ
๋น ๋ฅธ ์‘๋‹ต ์†๋„๋กœ AI ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ

๐Ÿš€ Ollama๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค
โœ… ChatGPT์ฒ˜๋Ÿผ AI ์ฑ—๋ด‡ ๋งŒ๋“ค๊ธฐ
โœ… ํ…์ŠคํŠธ ์š”์•ฝ, ๋ฒˆ์—ญ, ๋ฌธ์„œ ์ƒ์„ฑ
โœ… ์ฝ”๋“œ ๋ถ„์„ ๋ฐ ์ž๋™ ์ƒ์„ฑ
โœ… ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ์‹คํ—˜
โœ… ๋กœ์ปฌ์—์„œ AI ๋ชจ๋ธ์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜์—ฌ ํ™œ์šฉ

๐Ÿ“ข ์ •๋ฆฌ
โœ” Ollama๋Š” ๋‚ด ์ปดํ“จํ„ฐ์—์„œ AI ๋ชจ๋ธ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํˆด
โœ” OpenAI API๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ๋ฌด๋ฃŒ๋กœ ๋กœ์ปฌ์—์„œ LLM์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
โœ” ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ด PC์—์„œ๋งŒ ์ฒ˜๋ฆฌ๋˜๋ฏ€๋กœ ๋ณด์•ˆ์ด ๋›ฐ์–ด๋‚จ
โœ” ์‘๋‹ต ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๋น„์šฉ์ด ๋“ค์ง€ ์•Š์Œ

0๊ฐœ์˜ ๋Œ“๊ธ€