본문 바로가기

인공지능

Unsloth API 엔드포인트로 로컬 LLM을 도구처럼 사용하는 방법 정리

728x90
반응형
728x170

이 글은 Unsloth를 활용해 로컬 LLM을 API 엔드포인트 형태로 배포하고, 이를 다양한 AI 도구와 연동해 사용하는 방법을 정리한 기술 블로그입니다. OpenAI 및 Anthropic과 호환되는 API를 통해 Qwen, Gemma 같은 모델을 로컬에서 실행하면서도, 코드 실행·웹 검색·툴 호출 같은 고급 기능을 함께 활용할 수 있는 Unsloth의 구조와 사용 흐름을 중심으로 설명합니다.

반응형

Unsloth API 엔드포인트란 무엇인가

Unsloth는 로컬 환경에서 LLM을 실행하고 이를 OpenAI 및 Anthropic API와 호환되는 형태로 외부 도구에 연결할 수 있도록 지원하는 플랫폼입니다.
Unsloth의 API 엔드포인트를 사용하면 로컬에서 실행 중인 모델을 마치 클라우드 LLM처럼 IDE, 에이전트, SDK에서 바로 호출할 수 있습니다.

핵심은 llama-server 기반의 인증된 API 서버를 자동으로 구성해 준다는 점입니다. 이 서버는 OpenAI 스타일과 Anthropic 스타일의 요청을 동시에 같은 포트에서 처리합니다.


Unsloth API가 제공하는 주요 기능

Unsloth는 단순한 추론 API를 넘어, 실제 개발과 에이전트 환경에 필요한 기능을 기본 제공하는 것이 특징입니다.

1. Self-healing Tool Calling

  • 잘못되거나 깨진 툴 호출을 자동으로 보정
  • 툴 호출 오류를 약 50%까지 감소시키는 데 목적

2. 코드 실행 지원

  • Python 및 Bash 명령을 서버 측에서 직접 실행
  • 코드 생성 결과의 정확도 향상
  • 실행 결과는 모델의 다음 응답 컨텍스트로 전달

3. 고급 웹 검색

  • 단순 검색 결과가 아니라 실제 웹페이지를 방문하고 내용을 읽어 정보 수집
  • 에이전트 기반 작업에 적합

4. GGUF 모델 자동 추론 설정

  • temperature, top-k 등 샘플링 파라미터를 모델 특성에 맞게 자동 조정
  • 별도 튜닝 없이도 안정적인 추론 가능

API 구조와 호환성

Unsloth는 하나의 서버에서 두 가지 API 스타일을 동시에 지원합니다.

지원 엔드포인트

  • POST /v1/messages
    • Anthropic Messages API 호환
    • Claude Code, Anthropic SDK, OpenClaw 등에서 사용
  • POST /v1/chat/completions
    • OpenAI Chat Completions API 호환
    • OpenAI SDK, Cursor, Continue, Cline, Open WebUI 등에서 사용
  • GET /v1/models
    • 현재 로드된 모델 목록 조회

모든 요청은 Authorization: Bearer sk-unsloth-… 형식의 API 키 인증이 필요합니다.


빠르게 시작하는 방법(Quickstart)

1. Unsloth Studio 설치 및 실행

  • 최신 버전의 Unsloth Studio가 필요
  • 구버전은 외부 API를 노출하지 않음

2. 모델 로드

  • New Chat에서 GGUF 모델 선택 후 로딩 완료까지 대기

3. API 키 생성

  • 좌측 하단 아바타 클릭 → Settings → API
  • 키 이름 입력 후 생성
  • sk-unsloth-로 시작하는 키는 한 번만 표시되므로 반드시 복사

4. 클라이언트 연결

  • Base URL: http://localhost:PORT
  • 인증: 생성한 API 키 사용
  • 원하는 AI 도구에 그대로 연결

CLI로 모델 로드 및 API 서버 실행

UI 없이도 CLI 명령으로 모델을 로드하면서 API 서버를 바로 띄울 수 있습니다.

unsloth run --model unsloth/gemma-4-26B-A4B-it-GGUF:UD-Q4_K_XL

이 명령을 실행하면 다음이 자동으로 진행됩니다.

  • llama-server 실행
  • 기본 포트에서 API 엔드포인트 오픈
  • API 키 자동 생성
  • 콘솔에 엔드포인트 URL과 키 출력

실행 옵션 튜닝 방법

기본 설정만으로도 사용 가능하지만, 필요하다면 llama-server 옵션을 그대로 전달할 수 있습니다.

  • 컨텍스트 크기 조정
  • 스레드 수 고정
  • 샘플링 파라미터 변경
  • 커스텀 채팅 템플릿 적용

이 옵션들은 Studio 기본값을 덮어쓰는 방식으로 동작합니다.


서버 측 툴 정책과 보안

Unsloth는 바인딩 주소에 따라 툴 사용 정책을 다르게 적용합니다.

  • 127.0.0.1 (localhost)
    • 툴 기본 활성화
    • 외부 접근 불가
  • 0.0.0.0 또는 외부 IP
    • 툴 기본 비활성화
    • API 키 유출 시 임의 코드 실행 위험 방지 목적

툴 사용은 서버 프로세스 단위로 제어되며, 요청 단위로 우회할 수 없습니다.


툴 호출과 코드 실행 예시

Studio 내장 툴을 사용하려면 요청에 다음 필드를 추가합니다.

  • enable_tools: true
  • enabled_tools: 사용할 툴 목록

예를 들어 Python 실행을 요청하는 구조는 다음과 같습니다.

  • 모델은 Python 실행 결과를 다음 턴 입력으로 인식
  • 스트리밍 방식으로 결과 수신 가능
  • 웹 검색, 터미널 실행도 동일한 방식으로 처리

트러블슈팅 포인트 정리

  • 401 Unauthorized
    • Authorization 헤더 누락 또는 API 키 오류
    • 키 분실 시 새로 생성 필요
  • 모델 서버 연결 실패
    • 모델 로딩 중 크래시
    • Studio 내 모델 탭 종료
  • Claude Code에서 로컬 모델이 보이지 않는 경우
    • 환경 변수 설정 확인 필요
    • /model 명령으로 실제 선택 모델 확인
  • 모델 ID를 모를 때
    • /v1/models 엔드포인트 호출로 정확한 ID 조회 가능

728x90

Unsloth의 API 엔드포인트는 로컬 LLM을 단순한 실험용 모델이 아니라, 실제 개발과 에이전트 환경에서 바로 활용 가능한 수준으로 끌어올려 줍니다.
OpenAI·Anthropic 호환 API, 자동화된 모델 설정, 서버 측 코드 실행과 웹 검색까지 결합되면서 로컬 LLM의 활용 범위는 크게 확장됩니다.

특히 비용, 데이터 통제, 커스터마이징을 중시하는 환경에서는 Unsloth 기반의 로컬 API 구조가 강력한 대안이 될 수 있습니다. 앞으로 로컬 LLM을 실제 서비스나 개발 워크플로우에 통합하려는 시도는 더욱 많아질 것으로 기대됩니다.

300x250

https://unsloth.ai/docs/basics/api

 

How to use Unsloth as an API endpoint | Unsloth Documentation

 

unsloth.ai

728x90
반응형
그리드형