Visual Studio Code를 로컬 및 원격 모델 엔드포인트에 연결하기

Visual Studio Code는 채팅 뷰를 로컬 호스팅 모델용 OpenAI 호환 추론 엔드포인트에 연결할 수 있습니다. 엔드포인트는 Visual Studio Code와 동일한 Windows 11 장치에서 실행되거나 Windows Server에서 실행되어 하나 이상의 원격 Windows 11 클라이언트로부터 접근할 수 있습니다. 이러한 토폴로지는 개발자 기기에서 추론을 유지하거나 Windows Server에서 Visual Studio Code를 실행하지 않고도 모델 연산을 중앙 집중화할 수 있게 해줍니다.

이 글에서는 기존 엔드포인트를 Visual Studio Code에서 커스텀 엔드포인트로 추가하고, 그 모델을 선택한 후 모델이 응답하는지 확인합니다. 이 절차는 추론 엔드포인트가 이미 실행 중이며 Visual Studio Code에서 접근 가능하다고 가정합니다.

로컬 및 원격 모델 엔드포인트의 전제 조건

  • 현재 안정된 Visual Studio Code 버전을 다운로드하고, 채팅 뷰에 접근할 수 있는지 확인하세요.
  • 채팅 완성 API를 지원하고 Visual Studio Code를 실행하는 컴퓨터에서 접근 가능한 기존 OpenAI 호환 엔드포인트입니다.
  • Windows Server에 호스팅된 원격 엔드포인트의 경우, Windows 11 클라이언트에서 서버와 엔드포인트 포트로의 네트워크 연결. Windows 방화벽과 그 사이에 있는 방화벽 또는 프록시를 설정하여 연결을 허용하세요. 엔드포인트를 루프백 주소뿐만 아니라 원격 클라이언트가 접속할 수 있는 네트워크 인터페이스에서 듣도록 설정하세요.
  • 호스트 이름을 사용하는 원격 엔드포인트의 경우, Windows 11 클라이언트가 Windows Server 호스트로 해석할 수 있는 도메인 네임 시스템(DNS) 레코드가 있습니다.
  • 원격 HTTPS 엔드포인트의 경우, Windows 11 클라이언트가 신뢰하고 주제 이름 또는 대체 이름이 엔드포인트 URL의 호스트 이름과 일치하는 유효한 TLS 인증서입니다.
  • 엔드포인트 접근 제어는 Windows 11 클라이언트가 채팅 완료 경로를 호출할 수 있도록 합니다. 엔드포인트 관리자로부터 필요한 API 키나 토큰을 받아보세요.
  • 동일한 장치에서의 추론의 경우, 엔드포인트에서 노출하는 루프백 URL(예: http://localhost:<port>/v1/chat/completions)৷
  • 원격 추론을 위해서는 .과 같은 https://<server-name>:<port>/v1/chat/completions신뢰할 수 있는 HTTPS URL을 사용하세요.
  • 정확한 모델 ID; Visual Studio Code가 언어 모델 선택기에서 보여주는 모델 표시 이름; 컨텍스트 제한; 엔드포인트 소유자 또는 모델 문서에서 제공하는 지원 기능.
  • 엔드포인트의 인증 헤더 요구사항입니다.
  • 귀사의 조직이 GitHub Copilot을 관리한다면, VS Code에서 Bring Your Own Language Model Key 정책을 활성화해야 합니다. 자세한 내용은 VS Code의 'Bring Your Own Language Model Key'를 참조하세요.

채팅에서 직접 가져가는 키 모델을 사용하려면 GitHub 계정이나 GitHub Copilot 플랜이 필요하지 않습니다. 커스텀 엔드포인트는 GitHub Copilot 서비스에 의존하는 인라인 제안, 의미 검색, 임베딩 등의 기능을 제공하지 않습니다.

커스텀 로컬 또는 원격 모델 엔드포인트 추가하기

동일한 절차가 동일한 Windows 11 장치에 엔드포인트를 지원하거나 Windows Server의 원격 OpenAI 호환 엔드포인트를 지원합니다. Visual Studio Code는 하나의 엔드포인트 URL에 연결되며, 엔드포인트 서비스는 백엔드 추론 배포를 관리합니다.

  1. Visual Studio Code에서 채팅 뷰를 엽니다.

  2. 언어 모델 선택기를 열고, '언어 모델 관리'(기어 아이콘)를 선택하세요.

    명령 팔레트를 열고 Chat: Manage Language Models를 실행할 수도 있습니다.

  3. 언어 모델 편집기에서 모델 추가를 선택한 후 사용자 지정 엔드포인트를 선택하세요.

  4. 그룹 이름을 입력하세요. 이 이름은 언어 모델 선택기 와 언어 모델 편집기에서 엔드포인트의 모델을 식별합니다.

  5. 모델 표시명과 엔드포인트의 API 키를 입력하세요.

  6. API 유형은 채팅 완료(Chat Completions)를 선택하세요.

  7. Visual Studio Code가 열리는 파일에서 chatLanguageModels.json 모델 속성을 설정한 후 파일을 저장하세요.

    엔드포인트와 모델 문서를 사용해 속성을 설정하세요. 최소한 다음 값들을 확인하세요:

    재산 가치
    id 엔드포인트가 기대하는 정확한 모델 ID입니다.
    name Visual Studio Code가 언어 모델 선택기에서 보여주는 모델 표시 이름입니다.
    url 전체 경로, 예를 들어 https://<server-name>:<port>/v1/chat/completions.
    apiType chat-completions
    toolCalling true 엔드포인트와 모델이 도구 호출을 지원하는 경우에만
    vision true 엔드포인트와 모델이 이미지 입력을 지원할 때만 가능합니다.
    maxInputTokens 모델이 지원하는 최대 입력 토큰 수.
    maxOutputTokens 모델이 지원하는 최대 출력 토큰 수.

    API 키를 직접 chatLanguageModels.json에 넣지 않고 생성된 apiKey 입력 참조를 유지하세요. Visual Studio Code는 채팅 완료 사용자 지정 엔드포인트에 대해 기본적으로 키를 헤더로 Authorization: Bearer <api-key> 전송합니다.

    엔드포인트가 다른 인증 헤더를 필요로 한다면, 모델의 requestHeaders 속성을 설정하고 토큰을 ${apiKey} 헤더 값으로 사용하세요. 설정 파일에 원시 비밀을 넣지 마세요. 지원되는 속성과 인증 동작에 대해서는 Custom Endpoint 구성 참고 자료를 참조하세요.

로컬 또는 원격 엔드포인트 모델을 선택하고 검증하세요

  1. 채팅 뷰로 돌아가 언어 모델 선택기를 열어보세요.

  2. 설정한 그룹 이름 아래에서 모델을 선택하세요.

  3. 다음과 같은 짧은 테스트 프롬프트를 입력하세요:

    Reply with one sentence that confirms you received this request.
    
  4. Chat 뷰에 선택한 모델의 응답이 표시되는지 확인하세요.

  5. 추론 엔드포인트 로그에 접근할 수 있다면, 엔드포인트가 설정된 모델 ID에 대한 요청을 받았는지 확인하세요.

선택한 모델이 응답을 반환하고 엔드포인트가 요청을 기록할 때 구성이 정상적으로 작동합니다.

참고

모델은 채팅에서 에이전트가 사용할 수 있도록 도구 호출을 지원해야 합니다. 엔드포인트와 모델이 해당 기능을 지원하는 경우가 아니면 true를 toolCalling로 설정하지 마세요.

Visual Studio Code에서 로컬 및 원격 모델 엔드포인트 문제 해결

문제 확인할 사항
커스텀 엔드포인트 는 제공되지 않습니다 Visual Studio Code의 최신 안정 버전으로 업데이트합니다. 귀하의 조직이 GitHub Copilot을 관리한다면, 조직이 'Bring-your-Own-Key' 정책을 활성화했는지 확인하세요.
모델이 모델 선택기에는 나타나지 않습니다 저장 chatLanguageModels.json후 Visual Studio Code를 재시작하세요. 제한 모드의 작업 영역에서는 전체 모델 목록을 복원하려면 해당 작업 영역을 신뢰하세요. 에이전트 사용을 위해서는 모델이 툴 호출을 지원하는지 확인하고, 그것이 바로 true입니다.toolCalling
엔드포인트는 인증 오류를 반환합니다 API 키가 최신인지, 인증 헤더가 엔드포인트 요구사항과 일치하는지 확인하세요. 엔드포인트에 다른 헤더가 필요한 경우, requestHeaders 토큰으로 ${apiKey}를 구성하세요.
엔드포인트는 경로 또는 API 오류를 반환합니다 /v1/chat/completions이(가) url인지 확인하고, apiType에 엔드포인트가 해당 경로를 노출하는 경우 chat-completions를 포함한 전체 Chat Completions 경로가 들어 있는지 확인하세요.
원격 클라이언트는 엔드포인트에 연결할 수 없습니다 Windows 11 클라이언트가 서버 호스트 이름을 해결하고 엔드포인트 포트에 접근할 수 있는지 확인하세요. 엔드포인트 리스너 주소, Windows 방화벽, 그리고 그 사이에 있는 방화벽이나 프록시를 확인하세요.
원격 엔드포인트는 TLS 또는 인증서 오류를 반환합니다 인증서가 유효한지, Windows 11 클라이언트가 신뢰하는지, 엔드포인트 URL에 호스트 이름이 포함되어 있는지 확인하세요.
엔드포인트는 원격 클라이언트를 거부합니다 엔드포인트 접근 제어가 클라이언트가 Chat Completions 경로를 호출할 수 있도록 허용하는지, 그리고 설정된 자격 증명이 요청된 모델에 접근할 수 있는지 확인하세요.
요청이 엔드포인트에 도달하지만 추론이 실패합니다 모델 ID가 엔드포인트의 모델 ID와 정확히 일치하는지, 그리고 엔드포인트가 요청된 모델 기능을 지원하는지 확인하세요. 요청 실패가 있는지 엔드포인트 로그를 검토하세요.