AI

Continue Extension을 활용한 AI Coding 평가

이-프 2024. 10. 21. 15:31

목표

vscode 및 eclipse에서 제공하는 continue extension에 대한 조사 및 구축

VSCode Continue

https://github.com/continuedev/continue

  • 오픈 AI-code assistant로, LLM을연결해 커스텀 code completion과 chatting을 사용할 수 있는 툴
  • VSCode와 JetBrain의 플러그인 방식으로 설치 가능
  • SaaS 스타일의 LLM API뿐만 아니라, 로컬이나 원격에 구축한 LLM 모델을 API 호출하여 응답을 받아올 수 있음

Continue Assistant Model 주요기술

  • Code Suggestion : 작성 중인 맥락과 패턴을 바탕으로 다음에 들어올 수 있는 코드 추천
  • Code Completion : 작성 중인 맥락과 패턴을 바탕으로 코드의 나머지 부분 자동완성
  • Code Refactoring : 기존 코드의 리팩토링
  • Document Generation : 코드, 함수에 대한 설명(주석) 자동 생성

 

 

VSCode Continue 구축

1. vscode의 Extension에서 Continue 설치

2. Continue가 사용할 model Provider 와 LLM 연결 (config.json에서 지정 가능)

  • 모델 선택
    • chat : 개발 관련의 질문에 답변하고, 설명을 제공하는 맥락을 이해하는 연속적인 대화
    • autocomplete : 작성된 코드를 바탕으로 나머지 코드 자동완성
    • embedding : 작성된 코드와 텍스트의 식별 (수치화)Continue에서는 ChatGPT와 Claude와 같은 범용적 모델 연결이 아닌, 각 작업에 적합한 모델을 연결할 것을 권장

Continue : 각 작업에 적합한 모델에 직접 연결 권장
default로 연결된 Claude 3.5 Sonnet 확인

  • Ollama를 활용해 모델 선택 (테스트)
    • 로컬 및 오프라인 환경에서 Ollama를 통한 오픈소스 모델 테스트
      • chat : LLama3.1
      • autocomplete : deepseek-coder-v2
      • embeding : bge-m3

→ Ollama를 통해 해당 모델들을 로컬로 다운로드

 

  • 모델 연결을 위한 Config.json 구성
    • ctrl+shift+p를 눌러 Continue: Open config.json 선택후, 하단 코드로 변경
#Config.json  
{
    "models": [
      {
        "title": "Llama3.1",
        "provider": "ollama",
        "model": "llama3.1"
      }
    ],
    "tabAutocompleteModel": {
      "title": "Tab Autocomplete Model",
      "provider": "ollama",
      "model": "deepseek-coder-v2"
    },
    "tabAutocompleteOptions": {
      "useCopyBuffer": false,
      "maxPromptTokens": 400,
      "prefixPercentage": 0.5
    },
    "embeddingsProvider": {
      "provider": "ollama",
      "model": "bge-m3",
    }
  }

 

3. vscode에서 continue 확인

vscode 내에서 설치한 llama3.1로 모델 변경 후

 

4. Continue를 활용 테스트

  • Code Generation (ctrl + I) : 프롬포트를 입력해 코드를 생성하도록 구현

 

  • Chatting (ctrl + L) : 참조할 구문을 선택해서 chatting 패널에 선택한 구문을 불러 넣기

 

  • Context(Files, Code, Codebase)를 통한 chatting
    • Continue 내부적으로 프로젝트의 구조를 파악하고, 이를 바탕으로 제안을 할 수 있다.
    • chatting에서 '@'로 참조하거나, Add Context에서 설정 후, 이에 대한 prompt를 작성

Continue에서 '@'를 입력했을 경우
Context를 활용한 Continue 사용

 

'AI' 카테고리의 다른 글

벡터 DB 분석  (2) 2024.11.20
LoRA, QLoRA, LoRA-FA 분석  (0) 2024.11.18
Prompt란 ? (feat. LLM)  (0) 2024.08.28
Ollama / Embedding  (0) 2024.08.27
LLM / LangChain / Fine-Tuning  (1) 2024.08.26