Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A GitHub Copilot CLI egy AI kódoló ügynök, amely képes modellkéréseket küldeni egy támogatott Windows kliensről egy OpenAI-kompatibilis következtetési végpontra, amely a Windows Server-en található. Ez a konfiguráció lehetővé teszi, hogy a terminálból a szervezet által hosztolt modellt használhass, miközben a Windows Server központosítja a modellek hosztolását és a számítási kapacitást.
Ez a cikk bemutatja, hogyan konfigurálhatod az ügyfélkapcsolatot, és hogyan ellenőrizheted, hogy a konfigurált modell reagál-e. Nem telepíti vagy biztosítja az inferencia szolgáltatást.
Prerequisites
- Egy kliens számítógép, amely Windows verziót futtat, amelyet a GitHub Copilot CLI támogat, és a következőkkel:
- PowerShell 6 vagy újabb.
- Windows Csomagkezelő (WinGet).
- Aktív GitHub Copilot előfizetés. Ha egy szervezet vagy vállalat biztosítja az előfizetésedet, annak adminisztrátorának engedélyeznie kell a GitHub Copilot CLI-t.
- Egy megbízható munkakönyvtár, ahonnan elindíthatjuk a GitHub Copilot CLI-t.
- Egy meglévő OpenAI-kompatibilis végpont Windows Server-en, amely:
- Elérhető a kliens számítógépről.
- Hitelesítést igényel. Ez az eljárás a távoli Windows Server kapcsolatokra vonatkozik. Fenntartsd a hitelesítés nélküli végpontokat a csak loopback-alapú forgatókönyvek számára, amelyek ezen az eljáráson kívül vannak.
- Csak a tervezett szerverhálózati interfészen hallgat, csak engedélyezett kliens számítógépekről vagy alhálózatokról engedélyezi a bejövő kapcsolatokat, és nem fogad el közvetlen kapcsolatot a nyilvános internetről.
- Támogatja a streamelést és a szerszám- vagy függvényhívást. Az OpenAI kompatibilitása önmagában nem garantálja a támogatást minden GitHub Copilot CLI képességhez. Ellenőrizd a végpontot és a kiválasztott modell képességeit a végállomásoperátorral.
- Egy Windows-kliens-Windows-Server hálózati kapcsolat, amely:
- Egy DNS név a Windows Server következtetési végponthoz, amely a kliens számítógépről oldódik meg.
- Hálózati útvonal és tűzfal szabályok, amelyek csak engedélyezett klienseknek vagy alhálózatoknak engedélyezik a végpont portjához való csatlakozást.
- Egy HTTPS tanúsítvány, amelyben az ügyfél megbízik, és amelynek tárgyneve vagy alternatív neve megegyezik a végpont DNS nevével.
- A végpont alap URL-je, például
https://inference.contoso.com/v1. - Az a végpont hitelesítő és hitelesítési típus, amelyet a végállomásoperátor megad.
A GitHub Copilot CLI telepítése
Nyissa meg a PowerShellt.
Telepítse a stabil GitHub Copilot CLI csomagot:
winget install GitHub.CopilotErősítse meg, hogy a telepítés sikeres:
copilot --versionA parancs visszaadja a telepített GitHub Copilot CLI verziót.
Szerezz modellazonosítót a Windows Server következtetési végpontjáról
Állítsuk be az alap URL-t, amelyet a végállomásoperátor biztosított:
$BaseUrl = 'https://inference.contoso.com/v1'Adja meg az API kulcsot vagy a hordozó tokent, amelyet a végállomás operátor megad. Használj egy rövid életű, legkevésbé jogosultságú hitelesítő jogot. Amikor a szervezete jóváhagyott titoktárparancsot biztosít, azt használja a hitelesítő adat lekérésére ahelyett, hogy közvetlenül adná meg. A következő parancs átalakítja az
SecureStringértéket a tiszta szövegű$endpointCredentialértékre, amely a PowerShell ülés memóriájában marad.$secureEndpointCredential = Read-Host 'Enter the endpoint credential' -AsSecureString $endpointCredential = [System.Net.NetworkCredential]::new('', $secureEndpointCredential).PasswordKüldj kérést
GETa címre$BaseUrl/models. Tegyék$endpointCredentialbe aAuthorization: Bearerfejlécbe, és olvassák el az adott modellazonosítót a válaszdatatömbjéből:$requestParameters = @{ Uri = "$BaseUrl/models" Method = 'Get' } try { $requestParameters.Headers = @{ Authorization = "Bearer $endpointCredential" } $models = Invoke-RestMethod @requestParameters $models.data | Select-Object -ExpandProperty id } finally { $requestParameters.Headers = $null }A parancs egy vagy több modellazonosítót ad vissza. Másold le egy olyan modell pontos azonosítóját, amely támogatja a streamelést és a szerszám- vagy függvényhívást.
Konfiguráld a GitHub Copilot CLI szolgáltatót és modelljét
Állítsd
$BaseUrlbe a Windows Server végpont alap URL-jét,$endpointCredentialvalamint annak API kulcsát vagy bearer tokenjét. Ugyanebben a PowerShell ülésben állítsd be a szolgáltató típusát, a végpont bázis URL-jét és a pontos modellazonosítót. Cseréld<MODEL_ID>le egy olyan azonosítóval, amit a Windows Server végpont visszaad.$env:COPILOT_PROVIDER_TYPE = 'openai' $env:COPILOT_PROVIDER_BASE_URL = $BaseUrl $env:COPILOT_MODEL = '<MODEL_ID>'A
openaiszolgáltatótípus támogatja az OpenAI-kompatibilis végpontokat, beleértve a vLLM-et is.Töröld azokat a szolgáltatói hitelesítési változókat, amelyeket a jelenlegi PowerShell munkamenet örökölt:
Remove-Item Env:COPILOT_PROVIDER_API_KEY, Env:COPILOT_PROVIDER_BEARER_TOKEN, Env:COPILOT_PROVIDER_API_KEY_COMMAND -ErrorAction SilentlyContinueKonfiguráljuk azt a hitelesítési módszert, amelyet a végállomás operátor megadott:
A szokásos OpenAI API-kulcs hitelesítéshez használjon egy szervezet által jóváhagyott titkos tároló parancsot, amikor az elérhető:
$env:COPILOT_PROVIDER_API_KEY_COMMAND = '<APPROVED_SECRET_STORE_COMMAND>'A parancsnak le kell szereznie a hitelesítést egy jóváhagyott titkos tárolóból, csak a hitelesítést kell kiadnia, és nem kell naplóznia vagy fenntartania.
COPILOT_PROVIDER_API_KEY_COMMANDelsőbbséget élvez aCOPILOT_PROVIDER_API_KEY.Ha nincs jóváhagyott titkos tároló parancs, állítsd be az API kulcsot közvetlenül rövid életű tartalékként a jelenlegi PowerShell munkamenethez:
$env:COPILOT_PROVIDER_API_KEY = $endpointCredentialA bearer-token hitelesítéshez állítsuk be a bearer tokent:
$env:COPILOT_PROVIDER_BEARER_TOKEN = $endpointCredential
Important
Ne tegyél API kulcsokat szkriptekbe, forráskódolásba vagy parancspéldákba.
copilotés minden folyamat, amelyet elindít, a szolgáltató hitelesítési környezeti változóit örökli. Használj rövid életű, legkevésbé jogosultságú hitelesítéseket, és távolítsd el a változókat, miután kilépsz a GitHub Copilot parancsnokságból.Nézze át a támogatott szolgáltatói változókat a telepített verzióban:
copilot help providers
Indítsd el és ellenőrizd a GitHub Copilot CLI-t
Váltson át egy olyan könyvtárra, amelynek fájljaiban megbízik:
Set-Location 'C:\path\to\trusted-project'
Important
Ha megállsz a kezdés copilotelőtt, vagy egy korábbi parancs sikertelenül működik, távolítsd el a szolgáltató hitelesítési változókat, töröld a kérés fejléceit, és dobd el a biztonságos hitelesítő adottságot, mielőtt bezárnád a PowerShellt:
if ($requestParameters) {
$requestParameters.Headers = $null
}
Remove-Item Env:COPILOT_PROVIDER_API_KEY, Env:COPILOT_PROVIDER_BEARER_TOKEN, Env:COPILOT_PROVIDER_API_KEY_COMMAND -ErrorAction SilentlyContinue
if ($secureEndpointCredential) {
$secureEndpointCredential.Dispose()
}
Miután lefutott a tisztítás, zárd be a PowerShell-munkamenetet. Az átváltoztathatatlan tiszta szöveg $endpointCredential láncsora a memóriában marad, amíg a folyamat ki nem lép.
Indítsa el a GitHub Copilot parancsnokságot, és futtasd le a verifikációs lépéseket egy
tryblokkban, hogy a PowerShell eltávolítsa a szolgáltató hitelesítési környezeti változókat, és eltüntetje azSecureStringértéket, amikor kilépsz vagy a parancs meghibásodik:try { copilot } finally { if ($requestParameters) { $requestParameters.Headers = $null } Remove-Item Env:COPILOT_PROVIDER_API_KEY, Env:COPILOT_PROVIDER_BEARER_TOKEN, Env:COPILOT_PROVIDER_API_KEY_COMMAND -ErrorAction SilentlyContinue if ($secureEndpointCredential) { $secureEndpointCredential.Dispose() } }Erősítse meg a megbízható könyvtár promptot. Csak akkor tekintsd megbízhatónak a könyvtárat a jövőbeli munkamenetek során, ha te felügyeled a tartalmát, és arra számítasz, hogy továbbra is megbízható marad.
Ha a GitHub Copilot CLI kéri, írd
/loginbe és kövesd az utasításokat a hitelesítéshez a GitHub-ra. A GitHub hitelesítés különálló attól az API kulcstól, amely az inference végponthoz autentikál.Adja be ezt a tesztpromptot:
Reply with exactly: Local inference test succeededA Windows Server végpontján konfigurált modell szolgáltató, hitelesítési vagy modellkompatibilitási hiba nélkül tér vissza
Local inference test succeeded. Miután kilépsz a GitHub Copilot CLI-ből, a PowerShell futtatja afinallyblokkot. A PowerShell nem tudja megbízhatóan törölni a módosíthatatlan tiszta szöveges$endpointCredentialstringet a memóriából, ezért a parancs befejezése után zárja be a PowerShell ülést, hogy feloldja a folyamatmemóriát.
A GitHub Copilot CLI Windows Server következtetési végponthoz való kapcsolatainak hibaelhárítása
| Kérdés | Mit kell ellenőrizni? |
|---|---|
| A modellkérés nem éri el a végpontot | Ellenőrizd a végpont bázis URL-jét, DNS felbontását, portját, hálózati útvonalát, szolgáltatási állapotát és a TLS tanúsítvány bizalmát. Az alap URL-nek tartalmaznia kell azt az API előtagot, amelyet a végállomásoperátor biztosít, például /v1. |
A modellkérés 401 vagy 403 értéket ad vissza. |
Ellenőrizd, hogy a hitelesítő igazolmány érvényes-e. API-kulcsos hitelesítéshez inkább jóváhagyott titkos tárolóparancsot használjunk COPILOT_PROVIDER_API_KEY_COMMAND . Csak rövid távú tartalékként használd COPILOT_PROVIDER_API_KEY . Bearer tokenös hitelesítéshez állítsa be a(z) COPILOT_PROVIDER_BEARER_TOKEN értéket a végpont üzemeltetője által megadottak szerint. |
| A GitHub Copilot CLI más szolgáltatót vagy modellt használ | Állítsa be a szolgáltató típusát, az alap URL-címet, a modellt és a kiválasztott hitelesítési változót abban a PowerShell-munkamenetben, amely elindítja a(z) copilot elemet. Használd pontosan azt a modellazonosítót, amit a végpont visszaad. Ellenőrizzük azt is $HOME\.copilot\providers.json; a fájl szolgáltató vagy modell deklarációi elsőbbséget élveznek a COPILOT_PROVIDER_* változókkal szemben. |
| GitHub Copilot CLI nem találja meg a modellt | Kérdezze meg újra a(z) $BaseUrl/models elemet, és hasonlítsa össze az COPILOT_MODEL értéket azzal a id értékkel, amelyet a végpont ad vissza, a nagybetűhasználatot és az írásjeleket is figyelembe véve. |
| A prompt meghibás, miután a végpont elfogadja a kérést | Győződj meg róla, hogy a modell és a végpont támogatja mind a streamelést, mind a szerszám- vagy függvényhívást. Nézze át a végpontnaplókat egy nem támogatott kérésmező, eszközséma, kontextuskorlátozás vagy válaszformátum esetén. |