실행 프로그램과 확장
LM Studio: 화면에서 모델을 고르고, 내 앱에 연결하기
LM Studio에서 문서를 붙이고 질문하는 것까지는 어렵지 않습니다. 그런데 같은 모델을 다른 프로그램에 연결하면 문서 내용을 모릅니다. 모델이 달라진 것이 아니라 앱이 대신 해주던 일이 빠졌을 수 있습니다. 화면에서 쓰는 단계와 서버로 쓰는 단계를 나눠 보겠습니다.
화면이 대신 해주던 일을 알아야 합니다
LM Studio를 고를 이유는 모델 검색·파일 관리·대화·설정 확인을 화면에서 이어갈 수 있다는 데 있습니다. 모델 하나를 바꿔 답을 비교하거나 문서와 대화하는 일을 자주 한다면, 실행 명령을 먼저 익히는 것보다 결과를 살펴보는 데 시간을 쓸 수 있습니다.
문서 대화에서는 짧은 자료를 문맥에 넣거나 긴 자료에서 관련 부분을 찾아 전달하는 처리가 개입합니다. 외부 앱이 같은 모델의 API를 호출한다고 이 과정과 첨부 문서까지 물려받는 것은 아닙니다. 내 프로그램에서 문서를 쓰려면 어떤 내용을 찾아 요청에 넣을지도 따로 구현해야 합니다.
맥에서는 같은 이름의 파일을 두 번 살핍니다
LM Studio는 llama.cpp 기반 GGUF 실행을 제공하고, Apple Silicon 맥에서는 MLX 실행도 지원합니다. 검색 결과의 모델 이름이 같아도 두 파일은 서로 바꿔 넣는 형식이 아닙니다. 비교하려면 모델 리비전과 양자화, 문맥을 적고 어떤 런타임으로 실행했는지까지 남깁니다.
앱의 시스템 요구 사항도 별도입니다. 현재 안내는 맥에서 Apple Silicon과 macOS 14 이상을 요구하고 Intel 맥은 지원하지 않습니다. Windows x64는 AVX2 지원을 확인해야 합니다. 앱을 설치할 수 있다는 사실만으로 큰 모델을 적재할 메모리까지 확보되는 것은 아닙니다.
메모리가 모자란지, 문맥을 크게 잡았는지
먼저 쓸 모델을 다운로드한 뒤 짧은 문맥에서 로드합니다. CLI의 lms load에 --estimate-only를 붙이면 실제 적재 없이 메모리 예상을 확인할 수 있습니다. 다른 앱의 사용량과 실제 실행 중 변화까지 보장하는 숫자는 아니므로 로드 후 상태도 함께 살펴야 합니다.
아래 첫 명령은 이미 받은 모델 중 하나를 고르게 하고 API 이름을 local-guide로 붙입니다. 4,096은 짧은 확인용 문맥입니다. 긴 문서를 쓰게 되면 필요한 만큼 늘리되, 처음부터 문맥과 GPU 설정을 모두 바꾸지는 마세요. 문제가 생겼을 때 돌아갈 시작점이 없어집니다.
받아 둔 모델을 고르고 서버 시작
lms load --context-length 4096 --identifier local-guide
lms server start --bind 127.0.0.1 --port 1234LM Studio와 lms가 준비된 환경에서 실행합니다. 첫 명령의 모델 선택을 마친 뒤 서버를 시작하세요. 이미 켜진 서버가 있다면 중복 실행하지 않습니다.
모델 별칭과 주소가 맞는지 확인합니다
서버의 실행 상태를 확인한 뒤 아래 요청을 보냅니다. local-guide는 파일명이 아니라 앞에서 정한 API 별칭입니다. 외부 앱에는 서버 주소 127.0.0.1:1234와 그 앱이 요구하는 API 경로를 맞춰 넣습니다. 클라이언트가 base URL을 받는다면 일반적으로 /v1까지 포함하는 형태입니다.
응답이 없으면 모델 이름, 서버 포트, 인증 설정 순으로 확인하세요. 인증을 켰다면 발급한 토큰을 요청 헤더에 추가해야 합니다. 연결 오류를 없애려고 무작정 네트워크 공개나 CORS를 켤 필요는 없습니다. 이 글의 구성은 같은 컴퓨터에서만 접속하는 것을 전제로 합니다.
API 별칭으로 답변 확인
curl -sS http://127.0.0.1:1234/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"local-guide","messages":[{"role":"user","content":"Reply with one short sentence."}],"max_tokens":128,"stream":false}'인증을 켜지 않은 로컬 서버의 확인 예제입니다. 완성된 답을 한 번에 받으므로 첫 토큰 속도를 재는 용도로 쓰지 않습니다.
같은 앱인데 답이 달라졌다면
이전에는 잘 답하던 모델이 반복하거나 형식을 어긴다면 엔진 속도부터 의심할 문제는 아닙니다. 모델 파일이 바뀌었는지, 대화 템플릿과 생성 설정이 같은지 확인하세요. 최신 모델이 로드되지 않을 때는 앱 버전뿐 아니라 해당 런타임의 지원 상태도 살핍니다.
도구 호출도 일반 채팅과 별도로 시험해야 합니다. 요청을 받았다는 것과 앱이 이해하는 형식으로 도구 호출을 돌려준다는 것은 다릅니다. 짧은 대화, 필요한 도구 하나, 실제 작업 순으로 붙이면 어느 단계에서 어긋났는지 찾기 쉽습니다.
화면 없이 켜두고 싶어진 다음에
GUI 없이 계속 서빙하려는 상황에는 LM Studio의 별도 데몬인 llmster도 있습니다. 따라서 서버를 쓴다는 이유만으로 바로 다른 제품으로 옮길 필요는 없습니다. 다만 시작 방식과 업데이트, 재부팅 후 복구는 데스크톱 대화와 별도로 준비할 일입니다.
반대로 특정 가속이나 파일 형식을 더 세밀하게 다뤄야 한다면 해당 엔진의 가이드를 살펴볼 때입니다. 먼저 잘 작동한 모델·런타임·설정을 남겨두세요. 바꾼 결과가 마음에 들지 않을 때 돌아갈 수 있는 구성이 있어야 비교도 차분하게 할 수 있습니다.
수정 내역
사이트의 안내가 바뀐 기록입니다. 설치된 엔진·모델 버전을 자동으로 확인한 결과는 아닙니다.
LM Studio 모델 로드·API 연결 안내 추가
모델을 불러올 때 문맥과 식별자를 정하고, 같은 이름으로 로컬 API에 요청하는 예제를 추가했습니다. MLX와 GGUF 실행 경로를 구분하고, 앱에 넣은 문서가 API 요청에도 자동으로 포함되는 것은 아니라고 설명했습니다.