Połącz Visual Studio Code z lokalnymi i zdalnymi endpointami modeli

Visual Studio Code może połączyć widok Chat z endpointem inferencyjnym kompatybilnym z OpenAI dla lokalnie hostowanego modelu. Endpoint może działać na tym samym urządzeniu Windows 11 co Visual Studio Code lub na Windows Server, umożliwiając dostęp z jednego lub więcej zdalnych klientów Windows 11. Te topologie pozwalają zachować wnioskowanie na urządzeniu deweloperskim lub scentralizować obliczenia modelu bez konieczności uruchamiania Visual Studio Code na Windows Server.

W tym artykule dodajesz istniejący endpoint jako niestandardowy endpoint w Visual Studio Code, wybierasz jego model i sprawdzasz, czy model reaguje. Procedura zakłada, że punkt końcowy inferencji jest już uruchomiony i osiągalny z poziomu programu Visual Studio Code.

Wymagania wstępne dla lokalnych i zdalnych modeli końcowych

  • Pobierz aktualną stabilną wersję Visual Studio Code i upewnij się, że masz dostęp do widoku Chat.
  • Istniejący punkt końcowy zgodny z OpenAI, obsługujący interfejs API Chat Completions i osiągalny z komputera, na którym uruchomiono program Visual Studio Code.
  • W przypadku zdalnego punktu końcowego hostowanego w systemie Windows Server: łączność sieciowa z klienta z systemem Windows 11 do serwera i portu punktu końcowego. Skonfiguruj Zaporę systemu Windows oraz wszelkie pośredniczące zapory lub serwery proxy, aby umożliwić połączenie. Skonfiguruj punkt końcowy tak, aby nasłuchiwał na interfejsie sieciowym dostępnym dla zdalnych klientów, a nie tylko na adresie pętli zwrotnej.
  • Dla zdalnego punktu końcowego używającego nazwy hosta istnieje rekord systemu nazw domen (DNS), który klient Windows 11 może zdefiniować na hostze Windows Server.
  • Dla zdalnego punktu końcowego HTTPS: prawidłowy certyfikat TLS, któremu ufa klient systemu Windows 11 i którego nazwa podmiotu lub alternatywna nazwa podmiotu jest zgodna z nazwą hosta w adresie URL punktu końcowego.
  • Mechanizmy kontroli dostępu do punktów końcowych, które pozwalają klientowi systemu Windows 11 wywoływać ścieżkę Chat Completions. Pobierz dowolny wymagany klucz lub token API od administratora punktu końcowego.
  • W przypadku inferencji na tym samym urządzeniu adres URL zwrotny, który udostępnia punkt końcowy, taki jak http://localhost:<port>/v1/chat/completions.
  • Dla wnioskowania zdalnego, zaufany adres URL HTTPS, taki jak https://<server-name>:<port>/v1/chat/completions.
  • Dokładny identyfikator modelu; wyświetlaną nazwę modelu, którą Visual Studio Code pokazuje w selektorze modelu językowego; limity kontekstu; oraz obsługiwane funkcje podane przez właściciela punktu końcowego lub w dokumentacji modelu.
  • Wymagania nagłówka uwierzytelniania dla punktu końcowego.
  • Jeśli Twoja organizacja zarządza usługą GitHub Copilot, musi włączyć zasadę Bring Your Own Language Model Key in VS Code. Więcej informacji można znaleźć w artykule Przynieś własny klucz modelu językowego w VS Code.

Nie potrzebujesz konta na GitHub ani planu GitHub Copilot, aby korzystać z modelu "przynieś własny klucz" na czacie. Niestandardowy punkt końcowy nie udostępnia funkcji zależnych od usługi GitHub Copilot, w tym podpowiedzi śródliniowych, wyszukiwania semantycznego i embeddingów.

Dodaj niestandardowy lokalny lub zdalny punkt końcowy modelu

Ta sama procedura obsługuje punkt końcowy na tym samym urządzeniu Windows 11 lub zdalny punkt końcowy kompatybilny z OpenAI na Windows Server. Visual Studio Code łączy się z jednym adresem URL punktu końcowego, a usługa punktu końcowego zarządza rozdzielaniem zadań inferencyjnych w zapleczu.

  1. W Visual Studio Code otwórz widok Czat.

  2. Otwórz selektor modeli językowych, a następnie wybierz Zarządzaj modelami językowymi (ikona koła zębatego).

    Możesz też otworzyć paletę poleceń i uruchomić Chat: Manage Language Models.

  3. W edytorze Modeli językowych wybierz Dodaj modele, a następnie wybierz Niestandardowy punkt końcowy.

  4. Wprowadź nazwę grupy. Ta nazwa identyfikuje modele końcowe w wyszukiwarce modeli językowych oraz edytorze modeli językowych .

  5. Wprowadź nazwę modelu oraz klucz API dla punktu końcowego.

  6. Aby uzyskać typ API, wybierz Chat Completions.

  7. W plikuchatLanguageModels.json, który otwiera Visual Studio Code, skonfiguruj właściwości modelu, a następnie zapisz plik.

    Użyj dokumentacji końcowej i modelu do ustawienia właściwości. Przynajmniej potwierdź następujące wartości:

    Własność Wartość
    id Dokładny identyfikator modelu, którego oczekuje punkt końcowy.
    name Nazwa wyświetlana modelu, którą Visual Studio Code pokazuje w wyborze modelu językowego.
    url Pełna ścieżka, na przykład https://<server-name>:<port>/v1/chat/completions.
    apiType chat-completions
    toolCalling true tylko jeśli punkt końcowy i model obsługują wywoływanie narzędzi.
    vision true tylko jeśli endpoint i model obsługują wprowadzanie obrazu.
    maxInputTokens Maksymalna obsługiwana liczba tokenów wejściowych modelu.
    maxOutputTokens Maksymalna liczba tokenów wyjściowych obsługiwana przez model.

    Zachowaj wygenerowaną apiKey referencję wejściową zamiast umieszczać klucz API bezpośrednio w .chatLanguageModels.json Visual Studio Code domyślnie wysyła klucz w nagłówku Authorization: Bearer <api-key> dla niestandardowych endpointów Chat Completions.

    Jeśli punkt końcowy wymaga innego nagłówka uwierzytelniania, skonfiguruj właściwość modelu requestHeaders i użyj tokena ${apiKey} jako wartości nagłówka. Nie umieszczaj surowego sekretu w pliku konfiguracyjnym. Aby poznać obsługiwane właściwości i zachowanie uwierzytelniania, zobacz dokumentację konfiguracji niestandardowego punktu końcowego.

Wybierz i zweryfikuj lokalny lub zdalny model końcowy

  1. Wróć do widoku Czat i otwórz wybór modelu językowego.

  2. Wybierz model pod nazwą grupy, którą skonfigurowałeś.

  3. Wprowadź krótki monit testowy, na przykład:

    Reply with one sentence that confirms you received this request.
    
  4. Potwierdź, że widok Czat wyświetla odpowiedź wybranego modelu.

  5. Jeśli masz dostęp do logów punktu końcowego inferencji, potwierdź, że punkt końcowy otrzymał żądanie dotyczące skonfigurowanego identyfikatora modelu.

Konfiguracja działa, gdy wybrany model zwraca odpowiedź, a punkt końcowy rejestruje żądanie.

Note

Model musi obsługiwać wywoływanie narzędzi, aby był dostępny dla agentów AI w czacie. Nie ustawiaj toolCalling na true, chyba że punkt końcowy i model obsługują tę funkcję.

Rozwiązywanie problemów z lokalnymi i zdalnymi endpointami modeli w Visual Studio Code

Kwestia Co należy sprawdzić?
Niestandardowy punkt końcowy jest niedostępny Aktualizacja do aktualnej stabilnej wersji Visual Studio Code. Jeśli Twoja organizacja zarządza GitHub Copilot, poupewnij się, że umożliwia politykę przyniesienia własnego klucza.
Model nie pojawia się w selektorze modeli Zapisz chatLanguageModels.json, a następnie zrestartuj Visual Studio Code. W przestrzeni roboczej w trybie ograniczonym oznacz przestrzeń roboczą jako zaufaną, aby przywrócić pełną listę modeli. W przypadku korzystania z agenta potwierdź również, że model obsługuje wywoływanie narzędzi oraz że toolCalling to true.
Punkt końcowy zwraca błąd uwierzytelniania Potwierdź, że klucz API jest aktualny i czy jego nagłówek uwierzytelniający spełnia wymagania końcowe. Jeśli punkt końcowy wymaga innego nagłówka, skonfiguruj requestHeaders za pomocą tokena ${apiKey} .
Punkt końcowy zwraca błąd trasy lub API Potwierdź, że apiType ma wartość chat-completions oraz że url zawiera pełną ścieżkę Chat Completions, w tym /v1/chat/completions, gdy punkt końcowy udostępnia tę trasę.
Zdalny klient nie może połączyć się z punktem końcowym Potwierdź, że klient Windows 11 potrafi rozwiązać nazwę hosta serwera i dotrzeć do portu końcowego. Sprawdź adres nasłuchiwania punktu końcowego, Zaporę systemu Windows oraz wszelkie zapory pośredniczące lub serwery proxy.
Zdalny punkt końcowy zwraca błąd TLS lub certyfikatu Potwierdź, że certyfikat jest ważny, że klient Windows 11 mu ufa oraz że obejmuje nazwę hosta w adresie URL punktu końcowego.
Punkt końcowy odmawia kontaktu z klientem zdalnym Potwierdź, że mechanizmy kontroli dostępu do punktu końcowego pozwalają klientowi wywołać ścieżkę Chat Completions oraz że skonfigurowane poświadczenie ma dostęp do żądanego modelu.
Żądanie dociera do punktu końcowego, ale wnioskowanie zawodzi Potwierdź, że ID modelu dokładnie odpowiada ID modelu punktu końcowego oraz że endpoint obsługuje żądane możliwości modelu. Przejrzyj logi końcowe pod kątem niepowodzenia żądania.