AI

vscode continue 사용하기

PJH 2025. 2. 12. 19:05

소개

세상에는 다양한 AI 서비스들이 있다.

 

vscode에는 cursor ai가 매우 큰 인기를 끌고 있다.

 

이번에는 vscode extension 중, "continue" 라는 서비스를 소개하겠다.

 

 

 

 

 

그냥 Cursor 쓰면 되지 않음?

이 글은 Local LLM을 vscode에 연동하여 개발하기 위해 작성했다.

 

오픈소스 기반 LLM은 외부로 유출될 일도 없고, 특정 서버에 요청하여 답변을 가져오는 방식이 아니다.

 

 

대표적으로 gpt, claude, gemini가 서버에 요청하여 답변을 가져오는데

  • 해당 모델 서버가 문제가 있다던지
  • 서버 점검 중이라던가
  • 서버가 터졌다던가

등 다양한 이유가 있다.

 

 

특히 Cursor 사용자들은 저런 서버 기반 api 모델들을 활용하는데,

Cursor 서버가 맛탱이 가면 이건 이거대로 골치아프다.

 

(Cursor도 Local LLM을 지원하는가는 모르겠다.)

때문에, 내 컴퓨터로 LLM을 돌려 코딩 보조에 활용할 수 있는 방법을 찾고 있었는데

거기서 continue를 알게 됐다.

 

 

아마 알고 있는 사람들은 알겠지만,

모르는 사람도 같이 알면 좋은 거 아닌가?

 

 

 

 

 

Continue

vscode extension에서 제공하는 AI 서비스.

https://docs.continue.dev/getting-started/overview

 

Overview | Continue

Getting started with Continue

docs.continue.dev

 

 

 

 

 

 

사전준비, ollama 설치하시오

먼저 ollama를 설치해야 한다.

https://ollama.com/

 

Ollama

Get up and running with large language models.

ollama.com

 

여기 들어가서 ollama를 설치하면 된다.

model 탭에 보면 ollama에서 내려받을 수 있는 여러 모델들이 있다.

추천하는 모델은

 

  • deepseek-r1 1.5b ~ 8b (영어로 프롬프트 넣으면 답변 잘 한다)
  • llama3.2 1b (영어로 프롬프트 넣으면 답변 잘 한다)
  • tulu3 8b
  •  

저 세 개를 추천하는 이유는 3가지다.

 

1. 다른 여러 모델들을 써 본 결과, 저 모델들이 답변 품질이 괜찮다.
그 중, tulu3 8b는 가볍게 돌릴 수 있는 여러 오픈 소스들 중, 한글 답변 최강이다.

10B 미만 오픈소스 중 유일하게 한글 프롬프트가 매우 잘 들어간다. (물론 Llama3.1 8B도 꽤 잘 드는 편이다.)

 

2. 누구나 3080 급 이상의 외장 GPU를 가지고 있지 않다. 만약 그랬다면, 20B 이상 모델을 추천했을 것.

 

3. 10B 미만의 모델은 RAM 8GB만 있으면 충분히 돌릴 수 있다.

 

ollama pull <model_name> 모델 다운하기
ollama run <model_name> 모델 실행하기
ollama list 모델 목록 보기
ollama rm <model_name> 모델 삭제하기

위 네 가지 명령어가 자주 쓰는 것들이니 알아두면 좋다.

 

 

 

사용법 (반드시 ollama가 실행 돼 있어야 한다)

 

혹시 ollama 실행 여부를 모르겠다면

화면 우측 하단 표시줄을 눌러 ollama 아이콘이 있는가 확인.

 

 

 

ollama는 "http://127.0.0.1:11434" 에서 실행된다.

 

 

 

extension에서 continue를 검색하고 맨 위에 나오는 것을 클릭하여 설치한다.

 

 

Continue를 설치했다면 VSCODE를 재시작한다.

 

 

아마 왼쪽에 Continue 아이콘이 나오는 사람도 있겠지만,

안 나오는 사람은 vscode 우측 하단을 살펴보면 Continue라고 보인다.

 

 

화면에는 저렇게 나오지만, 아마 모델은 아무것도 안 뜨거나

예시 모델로 Claude 3.5 Sonnet이 뜰 거다.

 

 

Add chat model을 클릭하면 어떤 플랫폼에서 무엇을 쓸 건지 선택할 수 있는데

 

GPT나 claude 같은 모델들은 api key를 직접 입력해야 한다.

 

내 컴퓨터에서 동작하는 ollama는 그럴 필요 없다.

 

하지만 저 모델들은 현재 내 컴퓨터에 설치 돼 있지 않아, 사용할 수 없다.

 

그럼 클릭하고 Connect를 누르면 어떻게 될까?

 

 

 

동작 하는 것 같지만 아무리 기다려도 답변하지 않는데

 

이유는 2가지다.

 

 

1. 모델이 설치 돼 있지 않음.

2. 해당 모델을 "어디서" 호출하는 지 모른다.

 

 

 

우선 1번은 설치하면 되니까 상관없지만

2번은 생소하다. 

 

해당 문제를 해결해야 하니까 continue의 config.json 파일을 열어보자.

 

 

톱니바퀴를 누르고

 

이 버튼을 누르면 config.json이 열린다.

 

 

 

 

"어디서" 호출하는지 알 수 없기 때문에

"ollama model list에서 가져올 겁니다"라고 명시해줘야 한다.

 

 

예를 들어, ollama 명령어로 llama3.2 1b와 llama 3.1 8b를 다운받았다고 가정하면

 

 

 

    {
      "title": "Llama3.2",
      "model": "meta-llama/llama-3.2-1b",
      "provider": "ollama"
    },
    {
      "title": "Llama 3.1 8B",
      "model": "meta-llama/llama-3.1-8b-instruct",
      "provider": "ollama"
    }

 

config.json에 이렇게 나와야 되지만, 아쉽게도 안 나온다.

 

이건 우리가 직접 추가해줘야 한다.

 

    {
      "title": "Llama3.2",
      "model": "meta-llama/llama-3.2-1b",
      "apiBase" : "http://127.0.0.1:11434",
      "provider": "ollama"
    },
    {
      "title": "Llama 3.1 8B",
      "model": "meta-llama/llama-3.1-8b-instruct",
      "apiBase" : "http://127.0.0.1:11434",
      "provider": "ollama"
    }

 

apiBase가 추가됐을텐데,

이 apiBase가 위에서 말한 "ollama model list 에서 가져올 겁니다"를 말한다.

 

만약 ollama로 10개의 모델을 내려받고, 10개 모두 continue에서 쓰고 싶다면

모두 추가해줘야 한다.

 

 

 

나는 tulu3를 자주 쓰니까 tulu3 8B 정보를 입력해보겠다.

 

C:\Users\user>ollama list
NAME                ID              SIZE      MODIFIED
deepseek-r1:8b      28f8fd6cdc67    4.9 GB    2 weeks ago
deepseek-r1:1.5b    a42b25d8c10a    1.1 GB    2 weeks ago
tulu3:latest        3e7bbda0122e    4.9 GB    8 weeks ago
llama3.2:latest     a80c4f17acd5    2.0 GB    4 months ago

 

모델 이름이 tulu3:latest라고 나와 있으니까,

 

 

continue 모델 목록에는 tulu3:8b라고 표시하고 > title

모델 이름은 tulu3:latest > model

이 모델을 ollama model list에서 가져오고 > apiBase

ollama에서 제공해주니까 > provider

 

    {
      "title": "tulu3:8b",
      "model": "tulu3:latest",
      "apiBase": "http://127.0.0.1:11434",
      "provider": "ollama",
      "systemMessage": ""
    },

 

이렇게 입력해주면 된다.

 

systemMessage는 시스템 프롬프트인데, ai가 어떻게 답변해야 되는가 정의하는데 사용된다.

 

 

 

config.json 전체는 아래처럼 나온다. 

{
  "models": [
    {
      "model": "claude-3-5-sonnet-latest",
      "provider": "anthropic",
      "apiKey": "",
      "title": "Claude 3.5 Sonnet"
    },
    {
      "title": "OLMo 7b",
      "model": "olmo-7b",
      "provider": "ollama"
    },
    { // 아까 추가한 것
      "title": "tulu3:8b",
      "model": "tulu3:latest",
      "apiBase": "http://127.0.0.1:11434",
      "provider": "ollama",
      "systemMessage": ""
    },
    {
      "title": "Llama3.1 Chat",
      "model": "llama3.1-8b",
      "provider": "ollama"
    },
    {
      "model": "AUTODETECT",
      "title": "Autodetect",
      "provider": "ollama"
    },
    {
      "title": "Llama3.2 Chat",
      "model": "llama3.2-11b",
      "provider": "ollama"
    },
    {
      "title": "Llama 3.1 8B",
      "model": "meta-llama/llama-3.1-8b-instruct",
      "provider": "ollama"
    }
  ],
  ... // 필요없으니 생략
}

 

 

config.json 파일을 저장하고 다시 Add Chat model을 누르고 목록을 확인해보면

여전히 보이지 않는다.

 

 

때문에, 자동으로 인식할 수 있도록 "Autodetect"를 선택한다.

 

 

Connect를 클릭하면

 

 

이렇게 모델이 생긴다.

해당 모델을 클릭하고 간단하게 질문 후, 잠시 기다리면

 

이렇게 답변한다.

 

 

 

 

결론

 

요즘 컴퓨터나 노트북은 기본적으로 16GB 이상을 가진다.

대부분 PC는 작은 언어모델 (SLM)을 충분히 돌릴 수 있는 스팩이 되니까

 

PC에 직접 모델을 설치해서 써보는 것도 방법이다.

 

 

 

 

 

주의 사항

 

 

1. ollama를 반드시 실행해야 한다.

 

 

2. Continue config.json에 보면 model 목록들이 여러 개 나와 있다. 

title, model 등 여러 키값이 들어 가 있는데, 특히 apiBase는 절대 공란으로 두면 안된다.

하나라도 apiBase가 안 맞거나 공란으로 있으면 동작하지 않는다.