Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Visual Studio Code può collegare la vista Chat a un endpoint di inferenza compatibile con OpenAI per un modello ospitato localmente. L'endpoint può funzionare sullo stesso dispositivo Windows 11 di Visual Studio Code oppure su Windows Server per accedere da uno o più client Windows 11 remoti. Queste topologie permettono di mantenere l'inferenza su un dispositivo sviluppatore o di centralizzare il calcolo del modello senza eseguire Visual Studio Code su Windows Server.
In questo articolo, aggiungi un endpoint esistente come endpoint personalizzato in Visual Studio Code, selezioni il suo modello e verifichi che il modello risponda. La procedura presume che l'endpoint di inferenza sia già in esecuzione e raggiungibile da Visual Studio Code.
Prerequisiti per endpoint di modello locali e remoti
- Scarica la versione stabile attuale di Visual Studio Code e assicurati di poter accedere alla vista Chat.
- Un endpoint compatibile OpenAI esistente che supporta l'API Chat Completions ed è raggiungibile dal computer che esegue Visual Studio Code.
- Per un endpoint remoto ospitato su Windows Server, connettività di rete dal client di Windows 11 al server e alla porta dell'endpoint. Configura il firewall di Windows e qualsiasi firewall o proxy intermedio per consentire la connessione. Configura l'endpoint affinché ascolti su un'interfaccia di rete raggiungibile dai client remoti, non solo su un indirizzo di loopback.
- Per un endpoint remoto che utilizza un nome host, un record Domain Name System (DNS) che il client Windows 11 può risolvere sull'host di Windows Server.
- Per un endpoint HTTPS remoto, un certificato TLS valido di cui il client Windows 11 si fida e il cui nome di oggetto o nome alternativo corrisponde al nome host nell'URL dell'endpoint.
- Controlli di accesso agli endpoint che permettono al client Windows 11 di chiamare la via Chat Completions. Ottieni qualsiasi chiave API o token necessario dall'amministratore dell'endpoint.
- Per l'inferenza sullo stesso dispositivo, l'URL di loopback esposto dall'endpoint, come
http://localhost:<port>/v1/chat/completions. - Per l'inferenza remota, un URL HTTPS affidabile, come
https://<server-name>:<port>/v1/chat/completions. - L'ID esatto del modello; un nome visualizzato del modello, che Visual Studio Code mostra nel selettore del modello linguistico; limiti di contesto; e capacità supportate dal proprietario dell'endpoint o dalla documentazione del modello.
- I requisiti dell'header di autenticazione per l'endpoint.
- Se la tua organizzazione gestisce GitHub Copilot, deve abilitare il criterio Usa una chiave del tuo modello linguistico in VS Code. Per maggiori informazioni, consulta Usare la propria chiave del modello linguistico in VS Code.
Non serve un account GitHub o un piano GitHub Copilot per usare un modello di porta la tua chiavi in chat. L'endpoint personalizzato non offre funzionalità che dipendono dal servizio GitHub Copilot, inclusi suggerimenti inline, ricerca semantica e embedding.
Aggiungi un endpoint personalizzato per modelli locali o remoti
La stessa procedura supporta un endpoint sullo stesso dispositivo Windows 11 o un endpoint remoto compatibile con OpenAI su Windows Server. Visual Studio Code si collega a un URL di endpoint e il servizio endpoint gestisce la distribuzione di inferenza backend.
In Visual Studio Code, apri la vista Chat.
Apri il selezionatore di modelli linguistici e poi seleziona Gestisci modelli di linguaggio (icona di ingranaggio).
Puoi anche aprire la Tavolozza di Comandi e avviare Chat: Gestisci Modelli di Linguaggio.
Nell'editor Modelli di linguaggio, seleziona Aggiungi Modelli, poi seleziona Endpoint Personalizzato.
Inserisci il nome del gruppo. Questo nome identifica i modelli dell'endpoint nel selettore di modelli linguistici e nell'editor Language Models .
Inserisci il nome visualizzato del modello e la chiave API per l'endpoint.
Per il tipo di API, seleziona Chat Completions.
Nel
chatLanguageModels.jsonfile che Visual Studio Code apre, configura le proprietà del modello e poi salva il file.Usa la documentazione dell'endpoint e del modello per impostare le proprietà. Al minimo, confermare i seguenti valori:
Proprietà Value idL'ID esatto del modello che l'endpoint si aspetta. nameIl nome di visualizzazione del modello che Visual Studio Code mostra nel selezionatore del modello linguistico. urlIl percorso completo, ad esempio https://<server-name>:<port>/v1/chat/completions.apiTypechat-completionstoolCallingtruesolo se l'endpoint e il modello supportano la chiamata di strumenti.visiontrueSolo se l'endpoint e il modello supportano l'input immagine.maxInputTokensIl modello supportava il numero massimo di token di input. maxOutputTokensIl modello supportava il conteggio massimo di token in uscita. Mantieni il riferimento di input generato
apiKeyinvece di inserire direttamente la chiave API inchatLanguageModels.json. Visual Studio Code invia la chiave in un'intestazioneAuthorization: Bearer <api-key>di default per gli endpoint personalizzati di Chat Completions.Se l'endpoint richiede un'intestazione di autenticazione diversa, configura la proprietà
requestHeadersdel modello e usa il token${apiKey}come valore dell'intestazione. Non mettere un segreto grezzo nel file di configurazione. Per le proprietà supportate e il comportamento di autenticazione, vedi Custom Endpoint configuration reference.
Seleziona e verifica un modello endpoint locale o remoto
Torna alla vista Chat e apri il selettore del modello linguistico.
Seleziona il modello sotto il nome del gruppo che hai configurato.
Inserisci un breve prompt di test, come ad esempio:
Reply with one sentence that confirms you received this request.Conferma che la vista Chat mostri una risposta dal modello selezionato.
Se hai accesso ai log dell'endpoint di inferenza, conferma che l'endpoint ha ricevuto la richiesta per l'ID del modello configurato.
La configurazione funziona quando il modello selezionato restituisce una risposta e l'endpoint registra la richiesta.
Note
Un modello deve supportare la chiamata di strumenti per essere disponibile per gli agenti in chat. Non impostare toolCalling su true a meno che l'endpoint e il modello non supportino questa capacità.
Risolvere i problemi degli endpoint di modello locali e remoti in Visual Studio Code
| Problema | Controlli da eseguire |
|---|---|
| L'endpoint personalizzato non è disponibile | Aggiornamento alla versione stabile attuale di Visual Studio Code. Se la tua organizzazione gestisce GitHub Copilot, verifica che la tua organizzazione attivi la politica di portare la propria chiave. |
| Il modello non appare nel selezionatore di modelli | Salva chatLanguageModels.json, e poi riavvia Visual Studio Code. In uno spazio di lavoro in modalità Riservata, fidati dello spazio di lavoro per ripristinare l'elenco completo dei modelli. Per l'uso degli agenti, conferma anche che il modello supporti la chiamata di uno strumento e che toolCalling sia true. |
| L'endpoint restituisce un errore di autenticazione | Verifica che la chiave API sia valida e che la relativa intestazione di autenticazione corrisponda ai requisiti dell'endpoint. Se l'endpoint richiede un'altra intestazione, configura requestHeaders con il token ${apiKey}. |
| L'endpoint restituisce un errore di route o API | Conferma che apiType sia chat-completions e che url contenga l'intera rotta Chat Completions, incluso /v1/chat/completions quando l'endpoint espone quella route. |
| Un client remoto non può connettersi all'endpoint | Conferma che il client di Windows 11 possa risolvere il nome host del server e raggiungere la porta dell'endpoint. Controlla l'indirizzo dell'ascoltatore dell'endpoint, il firewall di Windows e eventuali firewall o proxy intermedi. |
| Un endpoint remoto restituisce un errore TLS o certificato | Conferma che il certificato sia valido, che il client Windows 11 si fidi di esso e che copra il nome host nell'URL dell'endpoint. |
| L'endpoint nega un client remoto | Conferma che i controlli di accesso agli endpoint permettano al client di chiamare la via Chat Completions e che la credenziale configurata abbia accesso al modello richiesto. |
| La richiesta raggiunge l'endpoint ma l'inferenza fallisce | Conferma che l'ID modello corrisponda esattamente a quello dell'endpoint e che l'endpoint supporti le capacità del modello richieste. Controlla i log dell'endpoint relativi all'errore della richiesta. |