Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
GitHub Copilot CLI je AI kódovací agent, který dokáže odesílat požadavky na model z podporovaného klienta Windows na inferenční endpoint kompatibilní s OpenAI, který je hostován na Windows Server. Tato konfigurace vám umožňuje používat model hostovaný organizací z vašeho terminálu, zatímco Windows Server centralizuje hosting modelů a výpočetní výkony.
Tento článek vám ukáže, jak nastavit klientské připojení a ověřit, že nakonfigurovaný model reaguje. Nenasazuje ani nezabezpečuje inferenční službu.
Prerequisites
- Klientský počítač, který běží na verzi Windows, kterou podporuje GitHub Copilot CLI, s:
- PowerShell 6 nebo novší.
- Windows Správce balíčků (WinGet).
- Aktivní GitHub Copilot předplatné. Pokud vám předplatné poskytne organizace nebo podnik, musí jeho správce povolit GitHub Copilot CLI.
- Důvěryhodný pracovní adresář pro spuštění GitHub Copilot CLI.
- Existující koncový bod kompatibilní s OpenAI v systému Windows Server, který:
- Je dostupný z klientského počítače.
- Vyžaduje ověření. Tento postup platí pro vzdálená připojení Windows Server. Koncové body bez autentizace rezervujte pouze pro scénáře omezené na zpětnou smyčku mimo tento postup.
- Poslouchá pouze na zamýšleném serverovém síťovém rozhraní, povoluje příchozí připojení pouze z autorizovaných klientských počítačů nebo podsítí a nepřijímá přímá připojení z veřejného internetu.
- Podporuje streamování a volání nástrojů nebo funkcí. Samotná kompatibilita s OpenAI nezaručuje podporu všech CLI schopností GitHub Copilot. Ověřte koncový bod a vybrané schopnosti modelu u koncového operátora.
- Síťové spojení Windows-klient-Windows-Server které má:
- DNS název pro inferenční endpoint Windows Server, který se řeší z klientského počítače.
- Síťová trasa a firewallová pravidla, která umožňují připojení pouze autorizovaným klientům nebo podsítím k portu koncového zařízení.
- HTTPS certifikát, kterému klient důvěřuje a jehož subjekt nebo alternativní název odpovídá DNS jménu koncového zařízení.
- Základní adresa URL koncového bodu, například
https://inference.contoso.com/v1. - Přihlašovací údaje a autentizační typ koncového zařízení, které specifikuje koncový operátor.
Nainstalujte GitHub Copilot CLI
Otevřete PowerShell.
Nainstalujte stabilní balíček GitHub Copilot CLI:
winget install GitHub.CopilotPotvrďte, že instalace byla úspěšná:
copilot --versionPříkaz vrátí nainstalovanou verzi GitHub Copilot CLI.
Získejte ID modelu z inference endpointu Windows Server
Nastavte základní URL, kterou poskytl koncový operátor:
$BaseUrl = 'https://inference.contoso.com/v1'Zadejte API klíč nebo nosicí token, který specifikuje koncový operátor. Použijte krátkodobou kvalifikaci s nejmenším privilegiem. Když vaše organizace poskytne schválený příkaz pro tajné uložení, použijte ho k získání přihlašovacích údajů místo přímého zadání. Následující příkaz převede hodnotu
SecureStringna prostou textovou hodnotu$endpointCredential, která zůstává v paměti po dobu této relace PowerShellu.$secureEndpointCredential = Read-Host 'Enter the endpoint credential' -AsSecureString $endpointCredential = [System.Net.NetworkCredential]::new('', $secureEndpointCredential).PasswordPošlete požadavek
GETdo$BaseUrl/models. Zahrňte$endpointCredentialdo hlavičkydataa načtěte každé ID modelu z poleAuthorization: Bearerodpovědi:$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 }Příkaz vrátí jedno nebo více ID modelů. Zkopírujte přesné ID modelu, který podporuje streamování a volání nástrojů nebo funkcí.
Konfigurujte poskytovatele a model CLI GitHub Copilot
Nastavte
$BaseUrlna základní adresu URL koncového bodu serveru Windows Server a$endpointCredentialna jeho klíč API nebo token nositele. Ve stejné PowerShell relaci nastavte typ poskytovatele, základní URL koncového bodu a přesné ID modelu. Nahraďte<MODEL_ID>ID, které vrací koncový bod Windows Serveru.$env:COPILOT_PROVIDER_TYPE = 'openai' $env:COPILOT_PROVIDER_BASE_URL = $BaseUrl $env:COPILOT_MODEL = '<MODEL_ID>'Typ
openaiposkytovatele podporuje koncové body kompatibilní s OpenAI, včetně vLLM.Vymažte všechny proměnné pro ověřování zprostředkovatele, které zdědila aktuální relace PowerShellu:
Remove-Item Env:COPILOT_PROVIDER_API_KEY, Env:COPILOT_PROVIDER_BEARER_TOKEN, Env:COPILOT_PROVIDER_API_KEY_COMMAND -ErrorAction SilentlyContinueNakonfigurujte autentizační metodu, kterou specifikoval koncový operátor:
Pro standardní autentizaci pomocí API klíče OpenAI použijte příkaz pro tajné úložiště schválený organizací, kdykoli je k dispozici:
$env:COPILOT_PROVIDER_API_KEY_COMMAND = '<APPROVED_SECRET_STORE_COMMAND>'Příkaz musí získat přihlašovací údaje z schváleného tajného úložiště, vydat pouze přihlašovací údaje, a nesmí je zaznamenávat ani uchovávat.
COPILOT_PROVIDER_API_KEY_COMMANDmá přednost předCOPILOT_PROVIDER_API_KEY.Pokud není k dispozici žádný schválený příkaz pro ukládání tajemství, nastavte API klíč přímo jako krátkodobou záložní variantu pro aktuální PowerShell relaci:
$env:COPILOT_PROVIDER_API_KEY = $endpointCredentialPro autentizaci nositelového tokenu nastavte nositelský token:
$env:COPILOT_PROVIDER_BEARER_TOKEN = $endpointCredential
Important
Nedávejte API klíče do skriptů, správy zdrojového kódu ani příkladů příkazů.
copilota všechny procesy, které spustí, dědí proměnné prostředí ověřování poskytovatele. Používejte krátkodobé přihlašovací údaje s nejmenšími oprávněními a po ukončení GitHub Copilot CLI odstraňte proměnné.Projděte podporované proměnné poskytovatelů ve vaší instalované verzi:
copilot help providers
Spusť a ověř GitHub Copilot CLI
Přepněte na adresář, jehož soubory důvěřujete:
Set-Location 'C:\path\to\trusted-project'
Important
Pokud zastavíte před spuštěním copilot, nebo pokud předchozí příkaz selže, odstraňte proměnné ověřování poskytovatele, vymažte hlavičky požadavku a zlikvidujte zabezpečené přihlašovací údaje před zavřením PowerShellu:
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()
}
Po dokončení čištění ukončete relaci PowerShellu. Neměnný řetězec otevřeného textu $endpointCredential zůstává v paměti, dokud proces neskončí.
Spusťte GitHub Copilot CLI a spusťte ověřovací kroky v bloku
try, aby PowerShell odstranil proměnné prostředí pro ověřování poskytovatelů a zlikvidovalSecureStringhodnotu při ukončení nebo selhání příkazu: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() } }Potvrďte výzvu k důvěryhodnému adresáři. Důvěřujte adresáři pro budoucí relace jen tehdy, pokud ovládáte jeho obsah a očekáváte, že zůstane důvěryhodný.
Pokud vás GitHub Copilot CLI vyzve, zadejte
/logina postupujte podle pokynů k ověření na GitHubu. Autentizace přes GitHub je oddělená od API klíče, který slouží k ověření vůči inferenčnímu endpointu.Zadejte tento testovací úkol:
Reply with exactly: Local inference test succeededKonfigurovaný model na koncovém bodu Windows Server se vrací
Local inference test succeededbez chyby poskytovatele, autentizace nebo kompatibility modelu. Po ukončení nástroje GitHub Copilot CLI PowerShell spustí blok kódufinally. PowerShell nemůže spolehlivě vymazat neměnný$endpointCredentialotevřený text z paměti, proto po dokončení příkazu uzavřete PowerShell relaci, aby se uvolnila paměť procesu.
Řešení problémů s připojením GitHub Copilot CLI k inferenčnímu endpointu Windows Server
| Problém | Co zkontrolovat |
|---|---|
| Požadavek modelu nemůže dosáhnout na koncový bod | Ověřte základní URL koncového zařízení, DNS rozlišení, port, síťovou trasu, stav služby a důvěru v TLS certifikáty. Základní URL by měla obsahovat API prefix, který poskytuje koncový operátor, například ./v1 |
Modely požadují návraty 401 nebo 403 |
Ověřte, že je oprávnění platné. Pro ověřování pomocí klíče API upřednostňujte COPILOT_PROVIDER_API_KEY_COMMAND se schváleným příkazem pro úložiště tajných údajů. Používejte COPILOT_PROVIDER_API_KEY jen jako krátkodobou záložní možnost. Pro autentizaci nositelného tokenu nastavte COPILOT_PROVIDER_BEARER_TOKEN, jak specifikuje koncový operátor. |
| GitHub Copilot CLI používá jiného poskytovatele nebo model | Nastavte typ poskytovatele, základní adresu URL, model a vybranou autentizační proměnnou ve stejné relaci PowerShellu, ve které se spouští copilot. Použijte přesné ID modelu, které endpoint vrací. Zkontrolujte také $HOME\.copilot\providers.json; deklarace poskytovatele nebo modelu v tomto souboru mají přednost před proměnnými COPILOT_PROVIDER_*. |
| GitHub Copilot CLI model nenajde | Znovu zadejte dotaz na $BaseUrl/models a porovnejte hodnotu COPILOT_MODEL s hodnotou id, kterou vrátí koncový bod, včetně velkých písmen a interpunkce. |
| Výzva selže poté, co koncový bod požadavek přijme | Ověřte, že model i koncový bod podporují jak streamování, tak volání nástrojů nebo funkcí. Prohlédněte si logy koncových zařízení kvůli nepodporovanému poli požadavku, schématu nástroje, limitu kontextu nebo formátu odpovědi. |