지난 몇 년간 많은 개발자들은 Claude 와 OpenAI 를 코딩 보조 도구로 사용해 왔지만, 오픈소스 프로젝트인 Open R1 의 발전이 나오면 그 매력은 줄어들고 있습니다. 아래 LiveCodeBench 평가 결과를 보면 7B 파라미터 버전이 Claude 3.7 Sonnet 과 GPT-4o 를 능가함을 알 수 있습니다. 이 모델들은 Cursor 와 VSCode 와 같은 애플리케이션에서 많은 엔지니어들이 매일 사용하는 도구입니다.
평가 결과가 훌륭하지만, 저는 직접 손에 땀을 흘리고 커밋을 느끼고 싶습니다! 이 블로그 포스트는 이제 이 모델을 IDE 에 통합하는 방법을 다룹니다. 우리는 두 OlympicCoder 버전 중 더 작은 7B 를 설정하고, 최적의 로컬 추론을 위해 양자화 (quantized) 버전을 사용할 것입니다. 우리가 사용할 스택은 다음과 같습니다:
- OlympicCoder 7B: LMStudio Community 의 4bit GGUF 버전
- LM Studio: AI 모델을 실행하는 것을 단순화하는 도구
- Visual Studio Code (VS Code)
- Continue a VS Code 확장 프로그램 (로컬 모델용)
우리가 이 스택을 선택한 이유는 순수하게 단순성 때문입니다. 더 큰 모델이나 다른 GGUF 파일, 또는 llama.cpp 와 같은 대안 추론 엔진을 실험하고 싶을 수 있습니다.
LM Studio 는 AI 모델의 컨트롤 패널과 같습니다. Hugging Face hub 와 통합되어 모델을 다운로드하고, 올바른 GGUF 파일을 찾는 데 도움을 주며, 다른 애플리케이션이 모델을 상호작용할 수 있도록 API 를 노출합니다.
간단히 말해, 복잡한 설정 없이 다운로드하고 실행할 수 있게 해줍니다.
- LM Studio 웹사이트로 이동: 웹 브라우저에서 https://lmstudio.ai/download 로 이동합니다.
- 운영 체제를 선택하세요: 컴퓨터 (Windows, Mac, 또는 Linux) 의 다운로드 버튼을 클릭합니다.
- LM Studio 설치: 다운로드한 파일을 실행하고 지침을 따릅니다. 다른 프로그램과 마찬가지로 간단합니다.
2. OlympicCoder 7B 를 가져오기
필요한 GGUF 파일은 hub 에서 호스팅됩니다. 우리는 'Use this model' 버튼을 사용하여 LMStudio 에서 hub 의 모델을 열 수 있습니다:
이것은 LMStudio 애플리케이션에 링크되어 컴퓨터에서 열립니다. 당신은 단지 양자화 (Quantization) 를 선택할 필요가 있습니다. 저는 Q4_K_M 을 선택했습니다.
왜냐하면 대부분의 장치에서 잘 작동하기 때문입니다. 더 많은 컴퓨팅 파워가 있다면, Q8_* 옵션 중 하나를 시도해 볼 수 있습니다.
UI 를 건너뛰고 싶다면, 명령 줄을 통해 LMStudio 로 모델을 로드할 수도 있습니다:
lms get lmstudio-community/OlympicCoder-7B-GGUF
lms load olympiccoder-7b
lms server start
이 부분이 중요합니다. 이제 우리는 LMStudio 로 서비스를 제공하는 모델과 VScode 를 통합해야 합니다.
- LM Studio 에서 'Developer' 탭에서 서버를 활성화합니다. 이는
http://localhost:1234/v1 엔드포인트를 노출합니다.
VS Code 확장 프로그램 설치하여 로컬 서버에 연결합니다. 저는 Continue.dev 를 선택했지만 다른 옵션도 있습니다.- VSCode 에서 확장 프로그램 뷰로 이동 (왼쪽 사이드바의 사각형 아이콘을 클릭하거나 Ctrl+Shift+X / Cmd+Shift+X 를 누릅니다).
- "Continue" 를 검색하고 "Continue Dev" 에서 확장 프로그램을 설치합니다.
새로운 모델을 Configure 하세요 Continue.dev 에서:
- Continue 탭을 열고 모델 드롭다운에서 'add new chat model'을 선택합니다.
- 이는 JSON 구성 파일을 엽니다. 모델 이름을 지정해야 합니다. 즉, olympiccoder-7b
VScode 의 대부분의 핵심 AI 기능은 이 설정을 통해 사용할 수 있습니다, 예를 들어:
코드 완성 (Code Completion): 입력을 시작하면 AI 가 코드를 어떻게 완성할지 제안합니다.코드 생성 (Generate Code): 함수나 전체 코드 블록을 작성해달라고 요청하세요. 예를 들어, 다음 명령어를 입력할 수 있습니다 (확장 프로그램에 따라 주석이나 채팅 창에서): // JavaScript 에서 문자열을 반전하는 함수 작성코드 설명 (Explain Code): 코드를 선택하고 AI 가 무엇을 하는지 설명해달라고 요청합니다.코드 리팩토링 (Refactor Code): AI 가 코드를 더 깔끔하거나 효율적으로 만들도록 요청하세요.테스트 작성 (Write Tests): AI 가 코드의 단위 테스트를 생성하도록 요청하세요.
OlympicCoder 는 Claude 가 아닙니다. 이는 CodeForces-CoTs 데이터셋에 최적화되어 있으며, 이 데이터셋은 경쟁 프로그래밍 과제에 기반합니다. 즉, 매우 친근하고 설명이 풍부할 것이라고 기대하지 마세요. 대신 긴팔을 입고 어려운 문제를 해결할 준비가 된 무장한 경쟁 프로그래머를 기대하세요.
OlympicCoder 와 다른 모델을 혼합하여 균형 잡힌 코딩 경험을 얻고 싶다면 좋습니다. 예를 들어, 이진 검색에서 밀리초를 짜내려한다면 OlympicCoder 를 사용하세요. 사용자 친화적인 API 를 설계하고 싶다면 Claude-3.7-sonnet 또는 Qwen-2.5-Coder 를 선택하세요.
- 댓글로 가장 좋아하는 생성 결과를 공유하세요
- 허브에서 OlympicCoder 의 다른 변형을 시도해 보세요
- 하드웨어에 따라 양자화 유형을 실험해 보세요
- LM Studio 에서 다양한 코딩 분위기를 위해 여러 모델을 시도해 보세요! 모델 카탈로그 확인: https://lmstudio.ai/models
- Cline 와 같은 에이전트 기능을 갖춘 VS Code 확장 프로그램 등 다른 확장 프로그램을 실험해 보세요