Úlohy mohou být nastaveny tak, aby fungovaly s jedním nebo více nasazeními velkých jazykových modelů (LLM) prostřednictvím podporovaného poskytovatele služeb, jako je OpenAI, Azure nebo Hugging Face. Tyto služby poskytují hostovaný endpoint (API), ke kterému lze přistupovat programově s odpovídajícími přihlašovacími údaji (API klíč nebo token). V tomto kurzu se zaměříme na tyto poskytovatele:
- OpenAI s různými modely včetně hlavní řady GPT.
- Azure OpenAI pro OpenAI modely s důrazem na podnikové využití
- Hugging Face pro open-source modely a inference server
Pro tyto cvičení budete potřebovat vlastní účty. Úlohy jsou volitelné, takže si můžete nastavit jednoho, všechny – nebo žádného – poskytovatele podle svých zájmů. Několik tipů k registraci:
| Registrace | Cena | API klíč | Playground | Komentáře |
|---|---|---|---|---|
| OpenAI | Ceník | Podle projektu | No-Code, Web | K dispozici více modelů |
| Azure | Ceník | SDK Quickstart | Studio Quickstart | Je nutné požádat o přístup předem |
| Hugging Face | Ceník | Přístupové tokeny | Hugging Chat | Hugging Chat má omezený počet modelů |
Postupujte podle níže uvedených pokynů pro nastavení tohoto repozitáře pro použití s různými poskytovateli. Úlohy, které vyžadují konkrétního poskytovatele, budou mít v názvu souboru jeden z těchto tagů:
aoai- vyžaduje Azure OpenAI endpoint a klíčoai- vyžaduje OpenAI endpoint a klíčhf- vyžaduje Hugging Face token
Můžete nastavit jednoho, žádného nebo všechny poskytovatele. Související úlohy jednoduše selžou, pokud chybí přihlašovací údaje.
Předpokládáme, že jste si přečetli výše uvedené pokyny, zaregistrovali se u příslušného poskytovatele a získali potřebné autentizační údaje (API_KEY nebo token). V případě Azure OpenAI předpokládáme, že máte platné nasazení služby Azure OpenAI (endpoint) s alespoň jedním GPT modelem nasazeným pro chat completion.
Dalším krokem je nastavení lokálních proměnných prostředí následovně:
-
V kořenové složce najděte soubor
.env.copy, který by měl obsahovat něco jako:# OpenAI Provider OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Default is set! AZURE_OPENAI_API_KEY='<add your AOAI key here>' AZURE_OPENAI_ENDPOINT='<add your AOIA service endpoint here>' AZURE_OPENAI_DEPLOYMENT='<add your chat completion model name here>' AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='<add your embeddings model name here>' ## Hugging Face HUGGING_FACE_API_KEY='<add your HuggingFace API or token here>'
-
Zkopírujte tento soubor na
.envpomocí následujícího příkazu. Tento soubor je gitignore-d, takže vaše tajné údaje zůstanou v bezpečí.cp .env.copy .env
-
Doplňte hodnoty (nahraďte zástupné znaky napravo od
=) podle popisu v další sekci. -
(Volitelné) Pokud používáte GitHub Codespaces, můžete si uložit proměnné prostředí jako Codespaces secrets spojené s tímto repozitářem. V takovém případě nemusíte nastavovat lokální soubor .env. Tato možnost však funguje pouze při použití GitHub Codespaces. Pokud používáte Docker Desktop, musíte soubor .env nastavit ručně.
Podívejme se rychle na názvy proměnných, abychom pochopili, co znamenají:
| Proměnná | Popis |
|---|---|
| HUGGING_FACE_API_KEY | Uživatelský přístupový token, který nastavíte ve svém profilu |
| OPENAI_API_KEY | Autorizační klíč pro použití služby pro ne-Azure OpenAI endpointy |
| AZURE_OPENAI_API_KEY | Autorizační klíč pro použití této služby |
| AZURE_OPENAI_ENDPOINT | Nasazený endpoint pro Azure OpenAI resource |
| AZURE_OPENAI_DEPLOYMENT | Endpoint pro nasazení modelu text generation |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Endpoint pro nasazení modelu text embeddings |
Poznámka: Poslední dvě proměnné Azure OpenAI odpovídají výchozímu modelu pro chat completion (generování textu) a vektorové vyhledávání (embeddings). Pokyny pro jejich nastavení budou uvedeny v příslušných úlohách.
Hodnoty endpointu a klíče Azure OpenAI najdete v Azure Portálu, takže začněme tam.
- Přejděte na Azure Portal
- Klikněte na možnost Keys and Endpoint v postranním panelu (menu vlevo).
- Klikněte na Show Keys – zobrazí se: KEY 1, KEY 2 a Endpoint.
- Hodnotu KEY 1 použijte pro AZURE_OPENAI_API_KEY
- Hodnotu Endpoint použijte pro AZURE_OPENAI_ENDPOINT
Dále potřebujeme endpointy pro konkrétní modely, které jsme nasadili.
- Klikněte na možnost Model deployments v postranním panelu (menu vlevo) pro Azure OpenAI resource.
- Na cílové stránce klikněte na Manage Deployments
Tím se dostanete na web Azure OpenAI Studio, kde najdeme další hodnoty podle popisu níže.
- Přejděte do Azure OpenAI Studio ze svého resource podle výše uvedeného postupu.
- Klikněte na záložku Deployments (postranní panel vlevo) pro zobrazení aktuálně nasazených modelů.
- Pokud požadovaný model není nasazen, použijte Create new deployment pro jeho nasazení.
- Budete potřebovat model pro generování textu – doporučujeme: gpt-35-turbo
- Budete potřebovat model pro textové embeddingy – doporučujeme text-embedding-ada-002
Nyní aktualizujte proměnné prostředí podle Deployment name, který jste použili. Obvykle bude stejný jako název modelu, pokud jste jej výslovně nezměnili. Například můžete mít:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Nezapomeňte soubor .env po dokončení uložit. Nyní můžete soubor zavřít a vrátit se k pokynům pro spuštění notebooku.
Váš OpenAI API klíč najdete ve svém OpenAI účtu. Pokud jej nemáte, můžete si založit účet a vytvořit API klíč. Jakmile klíč získáte, použijte jej pro proměnnou OPENAI_API_KEY v souboru .env.
Váš Hugging Face token najdete ve svém profilu pod Access Tokens. Tyto údaje nikdy nezveřejňujte ani nesdílejte. Vytvořte si nový token pro tento projekt a zkopírujte jej do souboru .env pod proměnnou HUGGING_FACE_API_KEY. Poznámka: Technicky se nejedná o API klíč, ale používá se pro autentizaci, takže zachováváme tento název pro konzistenci.
Prohlášení:
Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. Přestože se snažíme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Za autoritativní zdroj by měl být považován původní dokument v jeho rodném jazyce. Pro kritické informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádné nedorozumění nebo nesprávné výklady vzniklé použitím tohoto překladu.