프로젝트 소개

HFL은 Hugging Face Hub에서 모델을 가져와 단일 포트(localhost:11434)에서 OpenAI, Ollama, Anthropic 호환 API로 노출하는 로컬 모델 러너입니다. 계정이 필요 없으며 전적으로 사용자 자신의 머신에서 동작합니다. **모델 백엔드.** GGUF 리포지토리는 llama.cpp를 통해 실행됩니다. MLX 빌드는 Apple Silicon에서 네이티브로 실행됩니다. safetensors 체크포인트는 pull 시 자동으로 변환되고 GGUF로 양자화됩니다. 사전 양자화된 GGUF 및 MLX 모델은 컴파일이 필요하지 않습니다. **Hub 탐색.** `hfl search`는 크기, 다운로드 수, 형식과 함께 실시간 Hub를 페이지 단위로 탐색합니다. GGUF, 파라미터 수로 필터링하거나 좋아요 순으로 정렬할 수 있습니다. 숫자를 누르면 모델을 pull합니다(라이선스를 먼저 확인합니다). `hfl recommend`는 머신의 RAM/VRAM에 맞는 모델을 추천하고, `hfl pull-smart`는 하드웨어에 가장 적합한 커뮤니티 양자화를 선택합니다. **메모리 관리.** 각 로드 전에 HFL은 메모리 요구량(가중치 + KV 캐시)을 추정하고 머신을 설정 가능한 예산(기본값 RAM의 85%) 이내로 유지합니다. 여러 모델이 공존할 수 있으며, 유휴 모델은 LRU 방식으로 제거됩니다. 사용 중인 모델은 절대 언로드되지 않습니다. 적재할 수 없는 모델은 아무것도 언로드되기 전에 HTTP 507로 거부됩니다. NVIDIA에서 GPU를 인식합니다. **API 호환성.** OpenAI 엔드포인트에는 chat completions, completions, embeddings, responses, audio speech/transcriptions, image generations가 포함됩니다. Ollama 엔드포인트에는 chat, generate, embed, tags, ps, pull, delete가 포함됩니다. Anthropic 엔드포인트에는 messages와 token counting이 포함됩니다. 구조화된 도구 호출은 Qwen, Llama 3, Mistral, Gemma, gpt-oss, DeepSeek, GLM, Hermes 계열 전반에서 동작합니다. 추론/사고 콘텐츠는 API별로 적절한 필드로 라우팅됩니다. **채팅 및 세션.** `hfl run`은 터미널 채팅을 시작합니다. `--session`은 대화를 JSON 파일로 저장하고 재개합니다. 내장 웹 채팅 페이지는 동일한 주소에서 제공되며 대화별 시스템 프롬프트, temperature, 비전 모델용 이미지 지원을 갖춥니다. **코딩 에이전트.** `hfl launch claude` 또는 `hfl launch codex`는 로컬 모델에서 Claude Code 또는 Codex를 열며, 에이전트 자체 설정을 수정하지 않고 다운로드, 서버 시작, 모델 로딩, 컨텍스트 윈도우 구성을 처리합니다. **추가 기능.** LoRA 어댑터 핫스와핑, 웜 스타트를 위한 KV 캐시 스냅샷, 드래프트 모델 추천을 통한 추측 디코딩, 로컬 LoRA 학습(Apple Silicon/MLX), Model Context Protocol 클라이언트 및 서버, 텍스트 음성 변환(Bark, SpeechT5, Coqui XTTS), 음성 텍스트 변환(Whisper), 라이선스 준수 대시보드, Hub 업로드, WebSocket 양방향 채팅, Prometheus 메트릭. **설치.** pip(`pip install "hfl[llama,mlx]"`), Docker, .dmg/.msi 설치 프로그램, 독립 실행형 바이너리로 제공됩니다. 선택적 추가 기능은 GPU 추론(transformers, vLLM), 변환 도구, TTS/STT, MCP 지원을 추가합니다. 기존 `OLLAMA_*` 환경 변수가 존중됩니다. 이 프로젝트는 Apache 2.0 라이선스이며 약 90% 커버리지의 4,000개 이상 테스트를 갖춘 베타 단계입니다.