Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
No Visual Studio Code, abra a vista de chat.
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.
No editor de Modelos de Linguagem , selecione Adicionar Modelos e depois selecione Endpoint Personalizado.
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 .
Introduza o nome de exibição do modelo e a chave API para o endpoint.
Para o tipo de API, selecione Chat Completions.
No
chatLanguageModels.jsonficheiro 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 idO ID exato do modelo que o endpoint espera. nameO nome de exibição do modelo que o Visual Studio Code mostra no seletor de modelos de linguagem. urlO caminho completo, como https://<server-name>:<port>/v1/chat/completions.apiTypechat-completionstoolCallingtrueapenas se o endpoint e o modelo suportarem chamadas de ferramentas.visiontrueApenas se o endpoint e o modelo suportarem entrada de imagem.maxInputTokensNúmero máximo de tokens de entrada suportado pelo modelo. maxOutputTokensO modelo suportava o número máximo de tokens de saída. Mantenha a referência de entrada gerada
apiKeyem vez de colocar a chave API diretamente emchatLanguageModels.json. O Visual Studio Code envia a chave no cabeçalhoAuthorization: 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
requestHeadersdo 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
Volte à vista do Chat e abra o seletor de modelos de linguagem.
Selecione o modelo sob o nome do grupo que configurou.
Introduza um pequeno enunciado de teste, tais como:
Reply with one sentence that confirms you received this request.Confirme que a vista Chat mostra uma resposta do modelo selecionado.
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. |