Ligue o Visual Studio Code a endpoints de modelos locais e remotos

O Visual Studio Code pode ligar a vista Chat a um endpoint de inferência compatível com OpenAI para um modelo hospedado localmente. O endpoint pode correr no mesmo dispositivo Windows 11 que o Visual Studio Code ou no Windows Server para acesso a partir de um ou mais clientes Windows 11 remotos. Estas topologias permitem-lhe manter a inferência num dispositivo de programador ou centralizar o cálculo do modelo sem correr o Visual Studio Code no Windows Server.

Neste artigo, adiciona um endpoint existente como um endpoint personalizado no Visual Studio Code, seleciona o seu modelo e verifica se o modelo responde. O procedimento assume que o endpoint de inferência já está a correr e é acessível a partir do Visual Studio Code.

Pré-requisitos para endpoints de modelos locais e remotos

  • Descarregue a versão estável atual do Visual Studio Code e certifique-se de que pode aceder à vista de Chat.
  • Um endpoint existente compatível com OpenAI que suporta a API de Chat Completions e pode ser acedido a partir do computador onde o Visual Studio Code está em execução.
  • Para um endpoint remoto alojado em Windows Server, conectividade de rede entre o cliente Windows 11 e o servidor, bem como com a porta do endpoint. Configure o Windows Firewall e qualquer firewall ou proxy intermédio para permitir a ligação. Configure o endpoint para ficar à escuta numa interface de rede à qual os clientes remotos consigam aceder, e não apenas num endereço de loopback.
  • Para um ponto final remoto que utiliza um nome de anfitrião, um registo do Sistema de Nomes de Domínio (DNS) que o cliente Windows 11 consegue resolver para o anfitrião Windows Server.
  • Para um endpoint HTTPS remoto, existe um certificado TLS válido em que o cliente Windows 11 confia e cujo nome de assunto ou nome alternativo corresponde ao nome do host na URL do endpoint.
  • Controlos de acesso ao endpoint que permitem ao cliente Windows 11 invocar a rota Chat Completions. Obtenha qualquer chave API ou token necessário junto do administrador do endpoint.
  • Para inferência no mesmo dispositivo, o endereço URL de loopback que o endpoint expõe, como http://localhost:<port>/v1/chat/completions.
  • Para inferência remota, um URL HTTPS de confiança, como https://<server-name>:<port>/v1/chat/completions.
  • O ID exato do modelo; um nome de exibição do modelo, que o Visual Studio Code mostra no seletor de modelos de linguagem; limites de contexto; e capacidades suportadas pelo proprietário do endpoint ou pela documentação do modelo.
  • Os requisitos do cabeçalho de autenticação para o ponto terminal.
  • Se a sua organização gere o GitHub Copilot, deve ativar a política Bring Your Own Language Model Key in VS Code. Para mais informações, consulte Utilizar a sua própria chave de modelo de linguagem no VS Code.

Não precisas de uma conta no GitHub nem de um plano GitHub Copilot para usar um modelo de trazer a tua própria chave no chat. O endpoint personalizado não disponibiliza funcionalidades que dependam do serviço GitHub Copilot, incluindo sugestões em linha, pesquisa semântica e incorporações.

Adicionar um endpoint personalizado de modelo local ou remoto

O mesmo procedimento suporta um endpoint no mesmo dispositivo Windows 11 ou um endpoint remoto compatível com OpenAI no Windows Server. O Visual Studio Code liga-se a um URL de endpoint, e o serviço de endpoint gere a distribuição de inferência de backend.

  1. No Visual Studio Code, abra a vista de chat.

  2. Abra o seletor de modelos de linguagem e depois selecione Gerir Modelos de Linguagem (ícone de engrenagem).

    Também pode abrir a Paleta de Comandos e abrir o Chat: Gerir Modelos de Linguagem.

  3. No editor de Modelos de Linguagem , selecione Adicionar Modelos e depois selecione Endpoint Personalizado.

  4. Introduza o nome do grupo. Este nome identifica os modelos do endpoint no seletor de modelos de linguagem e no editor de Modelos de Linguagem .

  5. Introduza o nome de exibição do modelo e a chave API para o endpoint.

  6. Para o tipo de API, selecione Chat Completions.

  7. No chatLanguageModels.json ficheiro que o Visual Studio Code abre, configure as propriedades do modelo e depois guarde o ficheiro.

    Utilize a documentação do ponto final e do modelo para definir as propriedades. No mínimo, confirme os seguintes valores:

    Property Valor
    id O ID exato do modelo que o endpoint espera.
    name O nome de exibição do modelo que o Visual Studio Code mostra no seletor de modelos de linguagem.
    url O caminho completo, como https://<server-name>:<port>/v1/chat/completions.
    apiType chat-completions
    toolCalling true apenas se o endpoint e o modelo suportarem chamadas de ferramentas.
    vision true Apenas se o endpoint e o modelo suportarem entrada de imagem.
    maxInputTokens Número máximo de tokens de entrada suportado pelo modelo.
    maxOutputTokens O modelo suportava o número máximo de tokens de saída.

    Mantenha a referência de entrada gerada apiKey em vez de colocar a chave API diretamente em chatLanguageModels.json. O Visual Studio Code envia a chave no cabeçalho Authorization: Bearer <api-key> por predefinição para os endpoints personalizados de Chat Completions.

    Se o endpoint exigir um cabeçalho de autenticação diferente, configure a propriedade requestHeaders do modelo e use o token ${apiKey} como valor do cabeçalho. Não coloque um segredo bruto no ficheiro de configuração. Para as propriedades suportadas e o comportamento de autenticação, consulte Referência de configuração de Endpoint Personalizado.

Selecionar e verificar um modelo de endpoint local ou remoto

  1. Volte à vista do Chat e abra o seletor de modelos de linguagem.

  2. Selecione o modelo sob o nome do grupo que configurou.

  3. Introduza um pequeno enunciado de teste, tais como:

    Reply with one sentence that confirms you received this request.
    
  4. Confirme que a vista Chat mostra uma resposta do modelo selecionado.

  5. Se tiver acesso aos registos do endpoint de inferência, confirme que o endpoint recebeu o pedido relativo ao ID de modelo configurado.

A configuração está a funcionar quando o modelo selecionado retorna uma resposta e o endpoint regista o pedido.

Note

Um modelo deve suportar a invocação de ferramentas para estar disponível para agentes no chat. Não definas toolCalling para true a menos que o endpoint e o modelo suportem essa capacidade.

Resolver problemas de endpoints de modelos locais e remotos no Visual Studio Code

Problema O que deve verificar
O endpoint personalizado não está disponível Atualização para a versão estável atual do Visual Studio Code. Se a sua organização gere o GitHub Copilot, confirme que a sua organização ativa a política de trazer a sua própria chave.
O modelo não aparece no seletor de modelos Guarda chatLanguageModels.json, e depois reinicia o Visual Studio Code. Num espaço de trabalho em Modo Restrito, confie no espaço de trabalho para restaurar a lista completa de modelos. Para utilização por agentes, confirme também que o modelo suporta chamadas de ferramentas e que toolCalling é true.
O endpoint devolve um erro de autenticação Confirme que a chave API está atualizada e que o seu cabeçalho de autenticação corresponde aos requisitos do endpoint. Se o endpoint precisar de outro cabeçalho, configure requestHeaders com o ${apiKey} token.
O endpoint devolve um erro de rota ou API Confirme que apiType é url e que /v1/chat/completions contém a rota completa de Chat Completions, incluindo chat-completions quando o endpoint expõe essa rota.
Um cliente remoto não consegue ligar-se ao endpoint Confirme que o cliente do Windows 11 consegue resolver o nome do host do servidor e chegar à porta do endpoint. Verifique o endereço do ouvinte do endpoint, o Firewall do Windows e qualquer firewall ou proxy intermédio.
Um endpoint remoto devolve um erro TLS ou de certificado Confirme que o certificado é válido, que o cliente do Windows 11 confia nele e que cobre o nome do host na URL do endpoint.
O endpoint nega um cliente remoto Confirme que os controlos de acesso do endpoint permitem ao cliente invocar a rota Chat Completions e que a credencial configurada tem acesso ao modelo solicitado.
O pedido chega ao endpoint, mas a inferência falha Confirme que o ID do modelo corresponde exatamente ao ID do modelo do endpoint e que este suporta as capacidades do modelo solicitado. Analise os registos do ponto terminal relativos à falha do pedido.