Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Visual Studio Code kann die Chat-Ansicht mit einem OpenAI-kompatiblen Inferenzendpunkt für ein lokal gehostetes Modell verbinden. Der Endpunkt kann auf demselben Windows 11-Gerät wie Visual Studio Code oder auf Windows Server laufen, um von einem oder mehreren entfernten Windows 11-Clients Zugriff zu erhalten. Diese Topologien ermöglichen es Ihnen, auf einem Entwicklergerät Inferenz zu behalten oder die Modellberechnung zu zentralisieren, ohne Visual Studio Code auf Windows Server laufen zu lassen.
In diesem Artikel fügen Sie einen bestehenden Endpunkt als benutzerdefinierten Endpunkt in Visual Studio Code hinzu, wählen sein Modell aus und überprüfen, ob das Modell reagiert. Das Verfahren geht davon aus, dass der Schlussendpunkt bereits läuft und von Visual Studio Code aus erreichbar ist.
Voraussetzungen für lokale und entfernte Modellendpunkte
- Laden Sie die aktuelle stabile Version von Visual Studio Code herunter und stellen Sie sicher, dass Sie auf die Chat-Ansicht zugreifen können.
- Ein bestehender, OpenAI-kompatibler Endpunkt, der die Chat Completions API unterstützt und vom Computer aus erreichbar ist, der Visual Studio Code ausführt.
- Für einen entfernten Endpunkt, der auf Windows Server gehostet wird, erfolgt die Netzwerkverbindung vom Windows 11-Client zum Server und zum Endpunktport. Konfigurieren Sie die Windows-Firewall und alle dazwischenliegenden Firewalls oder Proxys, um die Verbindung zu ermöglichen. Konfigurieren Sie den Endpunkt so, dass er an einer Netzwerkschnittstelle lauscht, die für Remoteclients erreichbar ist, und nicht nur an einer Loopback-Adresse.
- Für einen Remoteendpunkt, der einen Hostnamen verwendet, einen DNS-Eintrag (Domain Name System), den der Windows 11-Client in den Windows Server-Host auflösen kann.
- Für einen entfernten HTTPS-Endpunkt gilt ein gültiges TLS-Zertifikat, dem der Windows 11-Client vertraut und dessen Betreffsname oder Subjekt-Alternativname mit dem Hostnamen in der Endpunkt-URL übereinstimmt.
- Endpunktzugriffskontrollen, die es dem Windows 11-Client erlauben, die Chat Completions-Route aufzurufen. Erhalten Sie einen beliebigen API-Schlüssel oder Token vom Endpunktadministrator.
- Für Rückschlüsse auf demselben Gerät die Loopback-URL, die der Endpunkt verfügbar macht, z. B.
http://localhost:<port>/v1/chat/completions. - Für die Ferninferenz ist eine vertrauenswürdige HTTPS-URL erforderlich, z. B.
https://<server-name>:<port>/v1/chat/completions. - Die genaue Modell-ID; ein Modellanzeigename, den Visual Studio Code in der Auswahl für Sprachmodelle anzeigt; Kontextlimits; und unterstützte Funktionen vom Eigentümer des Endpunkts oder aus der Dokumentation des Modells.
- Die Anforderungen des Authentifizierungsheaders für den Endpunkt.
- Wenn Ihre Organisation GitHub Copilot verwaltet, muss sie die Richtlinie "Bring Your Own Language Model Key in VS Code" aktivieren. Weitere Informationen finden Sie unter Eigenen Sprachmodellschlüssel in VS Code verwenden.
Du brauchst kein GitHub-Konto oder einen GitHub Copilot-Plan, um ein Bring-Your-Own-Key-Modell im Chat zu verwenden. Der benutzerdefinierte Endpunkt bietet keine Funktionen, die vom GitHub Copilot-Dienst abhängen, einschließlich Inline-Vorschlägen, semantischer Suche und Embeddings.
Fügen Sie einen benutzerdefinierten lokalen oder entfernten Modell-Endpunkt hinzu
Das gleiche Verfahren unterstützt einen Endpunkt auf demselben Windows 11-Gerät oder einen entfernten, OpenAI-kompatiblen Endpunkt auf Windows Server. Visual Studio Code verbindet sich mit einer einzigen Endpunkt-URL, und der Endpunktdienst verwaltet die Verteilung der Backend-Inferenz.
Öffne in Visual Studio Code die Chat-Ansicht.
Öffnen Sie den Sprachmodell-Picker und wählen Sie dann Sprachmodelle verwalten (Zahnrad-Symbol).
Du kannst auch die Command Palette öffnen und Chat: Manage Language Models ausführen.
Im Language Models-Editor wählen Sie Models hinzufügen und wählen Sie dann Custom Endpoint.
Geben Sie einen Gruppennamen ein. Dieser Name identifiziert die Modelle des Endpunkts im Language Model Picker und im Language Models-Editor .
Geben Sie den Anzeigenamen des Modells und den API-Schlüssel für den Endpunkt ein.
Für den API-Typ wählen Sie Chat Completions.
Konfigurieren Sie in der Datei
chatLanguageModels.json, die Visual Studio Code öffnet, die Modelleigenschaften, und speichern Sie dann die Datei.Verwenden Sie die Endpunkt- und Modelldokumentation, um die Eigenschaften festzulegen. Mindestens bestätigen Sie folgende Werte:
Eigentum Wert idDie genaue Modell-ID, die der Endpunkt erwartet. nameDer Modell-Anzeigename, den Visual Studio Code im Sprachmodellwähler anzeigt. urlDie vollständige Route, beispielsweise https://<server-name>:<port>/v1/chat/completions.apiTypechat-completionstoolCallingtruenur wenn der Endpunkt und das Modell Tool-Aufrufe unterstützen.visiontrueNur wenn Endpunkt und Modell Bildeingaben unterstützen.maxInputTokensDie maximal unterstützte Anzahl an Eingabetokens des Modells. maxOutputTokensDas Modell unterstützte die maximale Anzahl der Ausgabe-Tokens. Behalte die generierte
apiKeyEingabereferenz, anstatt den API-Schlüssel direkt inchatLanguageModels.jsonzu legen. Visual Studio Code sendet den Schlüssel standardmäßig in einemAuthorization: Bearer <api-key>Header für benutzerdefinierte Endpunkte von Chat Completions.Wenn der Endpunkt einen anderen Authentifizierungsheader benötigt, konfigurieren Sie die
requestHeadersEigenschaft des Modells und verwenden Sie das${apiKey}Token als Headerwert. Stecke kein rohes Geheimnis in die Konfigurationsdatei. Für die unterstützten Eigenschaften und das Authentifizierungsverhalten siehe Custom Endpoint Konfigurationsreferenz.
Wählen und verifizieren Sie ein lokales oder entferntes Endpunktmodell
Kehren Sie zur Chat-Ansicht zurück und öffnen Sie den Sprachmodell-Picker.
Wählen Sie das Modell unter dem von Ihnen konfigurierten Gruppennamen aus.
Geben Sie eine kurze Testaufforderung ein, wie zum Beispiel:
Reply with one sentence that confirms you received this request.Bestätigen Sie, dass die Chat-Ansicht eine Antwort des ausgewählten Modells anzeigt.
Wenn Sie Zugriff auf die Inferenz-Endpunkt-Logs haben, bestätigen Sie, dass der Endpunkt die Anfrage nach der konfigurierten Modell-ID erhalten hat.
Die Konfiguration funktioniert, wenn das ausgewählte Modell eine Antwort zurückgibt und der Endpunkt die Anfrage aufzeichnet.
Note
Ein Modell muss Tool-Calling unterstützen, um für Agenten im Chat verfügbar zu sein. Setze toolCalling nicht auf true, es sei denn, der Endpunkt und das Modell unterstützen diese Fähigkeit.
Fehlerbehebung lokaler und entfernter Modell-Endpunkte in Visual Studio Code
| Angelegenheit | Was soll überprüft werden? |
|---|---|
| Benutzerdefinierter Endpunkt ist nicht verfügbar | Update zur aktuellen stabilen Version von Visual Studio Code. Wenn Ihre Organisation GitHub Copilot verwaltet, bestätigen Sie, dass Ihre Organisation die Bring-Your-Own-Key-Politik aktiviert. |
| Das Modell erscheint nicht im Modellwähler | Speichere chatLanguageModels.json, und starte dann Visual Studio Code neu. In einem Arbeitsbereich im eingeschränkten Modus vertrauen Sie darauf, dass der Arbeitsbereich die vollständige Modellliste wiederherstellt. Für die Verwendung mit Agenten bestätigen Sie außerdem, dass das Modell Tool-Aufrufe unterstützt und dass toolCallingtrue ist. |
| Der Endpunkt liefert einen Authentifizierungsfehler zurück | Bestätigen Sie, dass der API-Schlüssel aktuell ist und dass sein Authentifizierungsheader den Anforderungen des Endpunkts entspricht. Wenn der Endpunkt einen weiteren Header benötigt, konfigurieren Sie requestHeaders mit dem Token ${apiKey}. |
| Der Endpunkt gibt einen Routen- oder API-Fehler zurück | Bestätigen Sie, dass apiType mit chat-completions identisch ist und dass url die vollständige Route für Chat Completions enthält, einschließlich /v1/chat/completions, wenn der Endpunkt diese Route bereitstellt. |
| Ein entfernter Client kann sich nicht mit dem Endpunkt verbinden | Bestätigen Sie, dass der Windows 11-Client den Server-Hostnamen auflösen und den Endpunkt-Port erreichen kann. Überprüfen Sie die Endpunkt-Listeneradresse, die Windows-Firewall und alle dazwischenliegenden Firewalls oder Proxys. |
| Ein entfernter Endpunkt gibt einen TLS- oder Zertifikatsfehler zurück | Bestätigen Sie, dass das Zertifikat gültig ist, dass der Windows 11-Client ihm vertraut und dass es den Hostnamen in der Endpunkt-URL abdeckt. |
| Der Endpunkt lehnt einen entfernten Client ab | Bestätigen Sie, dass die Endpunkt-Zugriffskontrollen es dem Client erlauben, die Chat-Abschluss-Route aufzurufen und dass die konfigurierte Zugangsdaten Zugriff auf das angeforderte Modell haben. |
| Die Anfrage erreicht den Endpunkt, aber die Schlussfolgerung schlägt fehl | Bestätigen Sie, dass die Modell-ID genau mit der Modell-ID des Endpunkts übereinstimmt und dass der Endpunkt die gewünschten Modellfähigkeiten unterstützt. Überprüfen Sie die Endpunkt-Logs auf den Fehlschlag der Anfrage. |