Skip to content

Latest commit

 

History

History
149 lines (100 loc) · 11.5 KB

File metadata and controls

149 lines (100 loc) · 11.5 KB

Nastavení vývojového prostředí

Tento repozitář a kurz jsme nastavili s pomocí vývojového kontejneru, který obsahuje univerzální runtime podporující vývoj v Python3, .NET, Node.js a Javě. Příslušná konfigurace je definována v souboru devcontainer.json, který najdete ve složce .devcontainer/ v kořenovém adresáři tohoto repozitáře.

Pro aktivaci vývojového kontejneru jej spusťte v GitHub Codespaces (pro cloudové runtime) nebo v Docker Desktop (pro lokální runtime). Více informací o fungování vývojových kontejnerů ve VS Code najdete v této dokumentaci.

Tip

Doporučujeme použít GitHub Codespaces pro rychlý start s minimálním úsilím. Nabízí štědrý bezplatný limit využití pro osobní účty. Nastavte časové limity pro zastavení nebo smazání neaktivních codespaces, abyste co nejlépe využili svůj limit.

1. Spouštění úkolů

Každá lekce může obsahovat volitelné úkoly, které mohou být dostupné v jedné nebo více programovacích jazycích, například Python, .NET/C#, Java a JavaScript/TypeScript. Tato sekce poskytuje obecné pokyny k jejich spouštění.

1.1 Python úkoly

Python úkoly jsou poskytovány buď jako aplikace (.py soubory) nebo Jupyter notebooky (.ipynb soubory).

  • Pro spuštění notebooku jej otevřete ve Visual Studio Code, klikněte na Select Kernel (vpravo nahoře) a vyberte výchozí možnost Python 3. Nyní můžete kliknout na Run All a spustit celý notebook.
  • Pro spuštění Python aplikací z příkazové řádky postupujte podle konkrétních instrukcí úkolu, abyste vybrali správné soubory a zadali požadované argumenty.

2. Konfigurace poskytovatelů

Úkoly mohou být také nastaveny tak, aby pracovaly s jedním nebo více nasazeními velkých jazykových modelů (LLM) přes podporované poskytovatele služeb jako OpenAI, Azure nebo Hugging Face. Ti poskytují hostovaný endpoint (API), ke kterému můžeme programově přistupovat s použitím správných přihlašovacích údajů (API klíč nebo token). V tomto kurzu se zabýváme těmito poskytovateli:

  • OpenAI s různými modely včetně základní série GPT.
  • Azure OpenAI pro OpenAI modely s důrazem na podnikové nasazení.
  • Hugging Face pro open-source modely a inference server.

Pro tyto cvičení budete potřebovat vlastní účty. Úkoly jsou volitelné, takže si můžete vybrat, zda nastavíte jednoho, všechny nebo žádného z poskytovatelů podle svých zájmů. Několik tipů pro registraci:

Registrace Cena API klíč Playground Komentáře
OpenAI Ceník Projektové klíče No-Code, Web Více dostupných modelů
Azure Ceník Rychlý start SDK Rychlý start Studio Přístup je nutné předem požádat
Hugging Face Ceník Přístupové tokeny Hugging Chat Hugging Chat má omezený počet modelů

Postupujte podle níže uvedených pokynů pro konfiguraci tohoto repozitáře pro použití s různými poskytovateli. Úkoly, které vyžadují konkrétního poskytovatele, budou mít v názvu souboru jednu z těchto značek:

  • 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. Příslušné úkoly pak při chybějících přihlašovacích údajích jednoduše skončí chybou.

2.1. Vytvoření souboru .env

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 také 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ě:

  1. 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>'
  2. Zkopírujte tento soubor do .env pomocí příkazu níže. Tento soubor je gitignore-ován, takže tajné údaje zůstanou v bezpečí.

    cp .env.copy .env
  3. Vyplňte hodnoty (nahraďte zástupné symboly napravo od =) podle popisu v další sekci.

  4. (Volitelné) Pokud používáte GitHub Codespaces, můžete si nastavit proměnné prostředí jako Codespaces secrets spojené s tímto repozitářem. V takovém případě není potřeba nastavovat lokální .env soubor. Tato možnost však funguje pouze při použití GitHub Codespaces. Pokud používáte Docker Desktop, stále je potřeba .env soubor nastavit.

2.2. Vyplnění souboru .env

Pojďme si rychle projít názvy proměnných, abychom pochopili, co představují:

Proměnná Popis
HUGGING_FACE_API_KEY Uživatelský přístupový token, který si nastavíte ve svém profilu
OPENAI_API_KEY Autorizační klíč pro použití služby mimo Azure OpenAI endpointy
AZURE_OPENAI_API_KEY Autorizační klíč pro použití Azure OpenAI služby
AZURE_OPENAI_ENDPOINT Nasazený endpoint pro Azure OpenAI zdroj
AZURE_OPENAI_DEPLOYMENT Nasazení modelu pro generování textu
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT Nasazení modelu pro textové embeddingy

Poznámka: Poslední dvě proměnné Azure OpenAI odkazují na výchozí model pro chat completion (generování textu) a vyhledávání vektorů (embeddingy). Instrukce k jejich nastavení budou uvedeny v příslušných úkolech.

2.3 Konfigurace Azure: z portálu

Hodnoty endpointu a klíče Azure OpenAI najdete v Azure Portálu, začneme tedy tam.

  1. Přejděte do Azure Portálu
  2. V levém menu klikněte na možnost Keys and Endpoint.
  3. Klikněte na Show Keys – měli byste vidět: KEY 1, KEY 2 a Endpoint.
  4. Pro AZURE_OPENAI_API_KEY použijte hodnotu KEY 1.
  5. Pro AZURE_OPENAI_ENDPOINT použijte hodnotu Endpoint.

Dále potřebujeme endpointy pro konkrétní nasazené modely.

  1. V levém menu Azure OpenAI zdroje klikněte na Model deployments.
  2. Na cílové stránce klikněte na Manage Deployments.

Tím se dostanete na web Azure OpenAI Studio, kde najdete další potřebné hodnoty, jak je popsáno níže.

2.4 Konfigurace Azure: ze Studia

  1. Přejděte do Azure OpenAI Studia přímo z vašeho zdroje, jak bylo popsáno výše.
  2. Klikněte na záložku Deployments (v levém menu) pro zobrazení aktuálně nasazených modelů.
  3. Pokud požadovaný model není nasazen, použijte Create new deployment pro jeho nasazení.
  4. Budete potřebovat model pro generování textu – doporučujeme: gpt-35-turbo
  5. Budete potřebovat model pro textové embeddingy – doporučujeme text-embedding-ada-002

Nyní aktualizujte proměnné prostředí tak, aby odpovídaly názvu nasazení (Deployment name). Obvykle je to stejné jako název modelu, pokud jste jej výslovně nezměnili. Například:

AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'

Nezapomeňte soubor .env uložit po dokončení. Poté můžete soubor zavřít a pokračovat v instrukcích pro spuštění notebooku.

2.5 Konfigurace OpenAI: z profilu

Váš OpenAI API klíč najdete ve svém OpenAI účtu. Pokud jej nemáte, můžete si vytvořit účet a vygenerovat API klíč. Jakmile klíč získáte, vložte jej do proměnné OPENAI_API_KEY v souboru .env.

2.6 Konfigurace Hugging Face: z profilu

Váš Hugging Face token najdete ve svém profilu pod Access Tokens. Nezveřejňujte jej ani nesdílejte veřejně. Místo toho si vytvořte nový token pro tento projekt a zkopírujte jej do souboru .env pod proměnnou HUGGING_FACE_API_KEY. Poznámka: Technicky to není API klíč, ale používá se pro autentizaci, proto jsme zachovali toto pojmenování pro konzistenci.

Prohlášení o vyloučení odpovědnosti:
Tento dokument byl přeložen pomocí AI překladatelské služby Co-op Translator. I když usilujeme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho mateřském jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Nejsme odpovědní za jakékoliv nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.