Pydantic AI 2.42 připojí modely GitHub Copilotu přes vlastní adaptér
Pydantic AI 2.42 dostala vlastní provider pro modely nabízené v předplatném GitHub Copilot. Běžný adaptér pro rozhraní OpenAI nad nimi selhával na chybějících polích a u modelů Claude a Gemini zahazoval text uvažování. Nová vrstva obojí opravuje, ale neumí Responses API, embeddings ani ceny.
Pydantic AI vydala 9. září 2026 v 03:33 UTC verzi 2.42.0. V seznamu nových funkcí má vydání jedinou položku: samostatný provider pro modely, které GitHub nabízí předplatitelům Copilotu. V kódu stačí před jméno modelu přidat github-copilot:; požadavek pak míří na rozhraní api.githubcopilot.com.

Copilot své rozhraní popisuje tvarem známým z Chat Completions od OpenAI. Stejný tvar ale neznamená stejnou odpověď. Právě na tom běžná cesta přes OpenAIChatModel v Pydantic AI selhávala.
Copilot vynechává povinná pole odpovědi
Autor návrhu číslo 8059 zaznamenal při živých požadavcích dva odlišné tvary. Odpověď modelu GPT-5.4 postrádala pole object a created. Claude Haiku 4.5 vynechal object a pořadové číslo index u každé varianty odpovědi. Klient OpenAI taková data sestavil, ale chybějící hodnoty se projevily až při následném ověření v Pydanticu.
Nový GitHubCopilotModel proto není jen jiné jméno serveru. Před kontrolou doplní object hodnotou chat.completion a chybějící indexy odvodí z pořadí položek. Čas vytvoření už v té chvíli doplnila společná část klienta. U proudových odpovědí se stejná oprava nespouští, protože je klient čte přímo a první variantu bere podle pozice.
Rodina modelu rozhoduje o překladu nastavení
Za jednou adresou stojí modely od Anthropicu, Googlu, OpenAI, xAI i Moonshot AI. Provider ve verzi 2.42 je rozlišuje podle začátku jména, například claude-, gemini-, gpt- nebo kimi-. Z toho vybere pravidla pro parametry, nástroje a formát strukturovaného výstupu. Samotné jméno posílá beze změny.
Rozdíl je vidět u uvažujících modelů. Copilot vrací text uvažování modelů Claude a Gemini v poli reasoning_text, které běžný adaptér nehledal. Pydantic AI ho nově převede na ThinkingPart a při pokračování rozhovoru ho pošle zpět ve stejném poli. U GPT-5.4 a Kimi K3 živé měření žádný text uvažování nenašlo; u Kimi přitom odpověď vykazovala účtované tokeny uvažování. Knihovna proto těmto rodinám pole nepřiřazuje jen podle toho, že umějí přijmout parametr reasoning_effort.
Nastavení úsilí není jednotné ani uvnitř katalogu. Některé modely nepřijmou hodnotu none, Kimi K3 podle zaznamenané odpovědi nabízí low, high a max, zatímco Claude Haiku 4.5 parametr odmítl celý. Provider omezení neodhaduje a nevede vlastní pevný seznam. Nechá server vrátit chybu s hodnotami, které daný model a předplatné opravdu přijímají.
Katalog se mění podle předplatného
Pevný výčet známých jmen modelů v knihovně není. Uživatel si má načíst GET /models se svým tokenem a ověřit pole supported_endpoints. Obslouží jen modely s cestou /chat/completions. Model dostupný pouze přes Responses API se může v katalogu objevit, ale tahle verze ho nespustí.
Výsledek ovlivní i hlavička Copilot-Integration-Id, kterou provider posílá automaticky. Při měření ze 7. září vrátil server bez ní 40 jmen a s ní 50; čtyři modely Gemini byly jen v delším seznamu. Jde o stav jednoho tarifu v konkrétní den, ne o trvalý počet modelů. Dokumentace proto radí číst vlastní katalog místo přebírání cizího seznamu.
Fine-grained token prošel dokumentací, ne testem
Dokumentace GitHub Copilot SDK uvádí tři podporované typy uživatelských přístupových tokenů: gho_, ghu_ a fine-grained token github_pat_. Klasický osobní token ghp_ naopak nepodporuje. Při testu tarifu Individual fungoval token gho_ přímo, bez výměny za další pověření. Fine-grained token s oprávněním Copilot Requests však server odmítl kódem 401.
Výsledek jednoho tarifu nevyvrací podporu jiných účtů. Provider proto formát tokenu sám nezakazuje. Čte proměnnou GITHUB_COPILOT_API_KEY a dva názvy používané nástroji Copilotu, ale záměrně ignoruje obecné GITHUB_TOKEN a GH_TOKEN. Klíč určený pro běžné rozhraní GitHubu se tak omylem nepošle na jiný server.
První verze adaptéru má ostré hranice
Podpora končí u Chat Completions. Pydantic AI 2.42 přes Copilot neumí Responses API, Messages API, Realtime API ani embeddings. Chybějí také ceny a velikosti kontextového okna: potřebný záznam už leží v projektu genai-prices, ale zatím není v žádném jeho vydání. Metoda pro odhad ceny proto nemá z čeho počítat.
Nový provider zpřístupní jednu modelovou bránu, ne celý GitHub Copilot SDK. Před nasazením je potřeba ověřit tři věci přímo na vlastním účtu: zda token projde, zda vybraný model nabízí /chat/completions a které úrovně uvažování přijímá. Označení „OpenAI-compatible“ samo tyto rozdíly neodstranilo; adaptér je musí řešit po jednotlivých modelových rodinách.
Zdroje
- Pydantic AI 2.42.0 – datum vydání a seznam změn
- Návrh podpory GitHub Copilotu číslo 8059 – živá měření, oprava odpovědi a hranice podpory
- Dokumentace provideru GitHub Copilot – nastavení, ověřování a podporované cesty
- Autentizace GitHub Copilot SDK – nezávislý výčet podporovaných tokenů