""" EXAONE-3.0-7.8B-Instruct 모델을 Ollama에 추가하는 간단한 스크립트 Ollama 0.13.0에서는 직접 Hugging Face 모델을 지원하지 않으므로 다른 방법을 안내합니다. """ import os import subprocess from pathlib import Path import sys # 프로젝트 루트를 Python 경로에 추가 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 # DB에서 가져오기 (순환 참조 방지를 위해 여기서 임포트) 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 '' # Hugging Face 토큰 가져오기 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()