|
|
""" |
|
|
EXAONE-3.0-7.8B-Instruct ๋ชจ๋ธ์ Ollama์ ์ถ๊ฐํ๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ |
|
|
Ollama 0.13.0์์๋ ์ง์ Hugging Face ๋ชจ๋ธ์ ์ง์ํ์ง ์์ผ๋ฏ๋ก |
|
|
๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๋ดํฉ๋๋ค. |
|
|
""" |
|
|
|
|
|
import os |
|
|
import subprocess |
|
|
from pathlib import Path |
|
|
import sys |
|
|
|
|
|
|
|
|
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
|
|
|
|
|
def get_huggingface_token(): |
|
|
""" |
|
|
Hugging Face ํ ํฐ ๊ฐ์ ธ์ค๊ธฐ (ํ๊ฒฝ ๋ณ์ ์ฐ์ , ์์ผ๋ฉด DB์์) |
|
|
Google API ํค ๊ด๋ฆฌ ๋ฐฉ์๊ณผ ๋์ผํ ํจํด |
|
|
""" |
|
|
|
|
|
token = os.getenv('HUGGINGFACE_HUB_TOKEN', '').strip() |
|
|
if not token: |
|
|
token = os.getenv('HF_TOKEN', '').strip() |
|
|
|
|
|
if token: |
|
|
print(f"[Hugging Face] ํ๊ฒฝ ๋ณ์์์ ํ ํฐ ๊ฐ์ ธ์ด (๊ธธ์ด: {len(token)}์)") |
|
|
return token |
|
|
|
|
|
|
|
|
try: |
|
|
from app.database import SystemConfig |
|
|
token = SystemConfig.get_config('huggingface_token', '').strip() |
|
|
if token: |
|
|
print(f"[Hugging Face] DB์์ ํ ํฐ ๊ฐ์ ธ์ด (๊ธธ์ด: {len(token)}์)") |
|
|
return token |
|
|
except Exception as e: |
|
|
print(f"[Hugging Face] DB์์ ํ ํฐ ์กฐํ ์คํจ (ํ๊ฒฝ ๋ณ์ ์ฌ์ฉ): {e}") |
|
|
return '' |
|
|
|
|
|
|
|
|
HF_TOKEN = get_huggingface_token() |
|
|
if not HF_TOKEN: |
|
|
raise ValueError("HUGGINGFACE_HUB_TOKEN ๋๋ HF_TOKEN ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๊ฑฐ๋, ๊ด๋ฆฌ ํ์ด์ง์์ ํ ํฐ์ ์ค์ ํด์ฃผ์ธ์.") |
|
|
|
|
|
def main(): |
|
|
print("\n" + "=" * 60) |
|
|
print("EXAONE-3.0-7.8B-Instruct Ollama ์ถ๊ฐ ๊ฐ์ด๋") |
|
|
print("=" * 60) |
|
|
|
|
|
print("\nํ์ฌ Ollama ๋ฒ์ (0.13.0)์์๋ Hugging Face ๋ชจ๋ธ์ ์ง์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.") |
|
|
print("\n๋ค์ ๋ฐฉ๋ฒ ์ค ํ๋๋ฅผ ์ ํํ์ธ์:") |
|
|
print("\n[๋ฐฉ๋ฒ 1] Ollama ์
๋ฐ์ดํธ (๊ถ์ฅ)") |
|
|
print("-" * 60) |
|
|
print("์ต์ ๋ฒ์ ์ Ollama๋ Hugging Face ๋ชจ๋ธ์ ๋ ์ ์ง์ํฉ๋๋ค.") |
|
|
print("https://ollama.ai/download ์์ ์ต์ ๋ฒ์ ์ ๋ค์ด๋ก๋ํ์ธ์.") |
|
|
|
|
|
print("\n[๋ฐฉ๋ฒ 2] GGUF ๋ชจ๋ธ ์ฌ์ฉ") |
|
|
print("-" * 60) |
|
|
print("EXAONE ๋ชจ๋ธ์ GGUF ๋ฒ์ ์ด ์๋ค๋ฉด ์ง์ ๋ค์ด๋ก๋ํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.") |
|
|
print("ํ์ง๋ง ํ์ฌ Hugging Face์๋ GGUF ๋ฒ์ ์ด ์๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.") |
|
|
|
|
|
print("\n[๋ฐฉ๋ฒ 3] Python์์ ์ง์ ์ฌ์ฉ") |
|
|
print("-" * 60) |
|
|
print("Ollama๋ฅผ ํตํ์ง ์๊ณ Python์์ ์ง์ Hugging Face ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.") |
|
|
print("ํ์ง๋ง ์ด ๊ฒฝ์ฐ Ollama API์์ ํตํฉ์ด ํ์ํฉ๋๋ค.") |
|
|
|
|
|
print("\n[๋ฐฉ๋ฒ 4] Modelfile ์์ ") |
|
|
print("-" * 60) |
|
|
print("๋ก์ปฌ์ ๋ชจ๋ธ์ ๋ค์ด๋ก๋ํ ํ Modelfile์์ ๋ก์ปฌ ๊ฒฝ๋ก๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค.") |
|
|
|
|
|
print("\n" + "=" * 60) |
|
|
print("์ถ์ฒ: Ollama๋ฅผ ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธํ์ธ์") |
|
|
print("=" * 60) |
|
|
|
|
|
print("\nํ์ฌ ์ํ:") |
|
|
print(f"- Hugging Face ํ ํฐ: ์ค์ ๋จ") |
|
|
print(f"- Ollama ๋ฒ์ : 0.13.0 (์ต์ ๋ฒ์ ๊ถ์ฅ)") |
|
|
|
|
|
print("\n๋ค์ ๋ช
๋ น์ด๋ก Ollama ๋ฒ์ ์ ํ์ธํ์ธ์:") |
|
|
print(" ollama --version") |
|
|
|
|
|
print("\nOllama๋ฅผ ์
๋ฐ์ดํธํ ํ ๋ค์ ์๋ํ์ธ์.") |
|
|
|
|
|
if __name__ == "__main__": |
|
|
main() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|