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

Skonfiguruj swoje środowisko deweloperskie

Ten repozytorium i kurs zostały przygotowane z użyciem kontenera deweloperskiego, który zawiera uniwersalne środowisko uruchomieniowe wspierające Python3, .NET, Node.js oraz Java. Odpowiednia konfiguracja znajduje się w pliku devcontainer.json w folderze .devcontainer/ w katalogu głównym tego repozytorium.

Aby uruchomić kontener deweloperski, otwórz go w GitHub Codespaces (środowisko w chmurze) lub w Docker Desktop (środowisko lokalne). Szczegóły dotyczące działania kontenerów deweloperskich w VS Code znajdziesz w tej dokumentacji.

Tip

Zalecamy korzystanie z GitHub Codespaces, aby szybko zacząć pracę przy minimalnym wysiłku. Dla kont osobistych dostępna jest hojną darmowa pula zasobów. Skonfiguruj limit czasu, aby zatrzymywać lub usuwać nieaktywne codespaces i maksymalnie wykorzystać dostępne zasoby.

1. Wykonywanie zadań

Każda lekcja może zawierać opcjonalne zadania dostępne w jednym lub kilku językach programowania, takich jak: Python, .NET/C#, Java oraz JavaScript/TypeScript. W tej sekcji znajdziesz ogólne wskazówki dotyczące uruchamiania tych zadań.

1.1 Zadania w Pythonie

Zadania w Pythonie są dostarczane jako aplikacje (.py) lub notatniki Jupyter (.ipynb).

  • Aby uruchomić notatnik, otwórz go w Visual Studio Code, kliknij Select Kernel (w prawym górnym rogu) i wybierz domyślną opcję Python 3. Następnie możesz wybrać Run All, aby wykonać cały notatnik.
  • Aby uruchomić aplikacje Python z linii poleceń, postępuj zgodnie z instrukcjami zawartymi w konkretnym zadaniu, aby wybrać odpowiednie pliki i podać wymagane argumenty.

2. Konfiguracja dostawców usług

Zadania mogą być również skonfigurowane do pracy z jednym lub kilkoma wdrożeniami dużych modeli językowych (LLM) za pośrednictwem obsługiwanych dostawców usług, takich jak OpenAI, Azure czy Hugging Face. Udostępniają oni hostowany endpoint (API), do którego możemy uzyskać dostęp programowo, używając odpowiednich poświadczeń (klucz API lub token). W tym kursie omawiamy następujących dostawców:

  • OpenAI z różnorodnymi modelami, w tym podstawową serią GPT.
  • Azure OpenAI z modelem OpenAI przygotowanym do zastosowań korporacyjnych.
  • Hugging Face dla modeli open-source i serwera inferencyjnego.

Do tych ćwiczeń będziesz potrzebować własnych kont. Zadania są opcjonalne, więc możesz skonfigurować jednego, wszystkich lub żadnego z dostawców, w zależności od swoich zainteresowań. Kilka wskazówek dotyczących rejestracji:

Rejestracja Koszt Klucz API Playground Komentarze
OpenAI Cennik Klucze projektowe No-Code, Web Dostępne różne modele
Azure Cennik Szybki start SDK Szybki start Studio Wymaga wcześniejszej rejestracji
Hugging Face Cennik Tokeny dostępu Hugging Chat Hugging Chat ma ograniczoną liczbę modeli

Postępuj zgodnie z poniższymi wskazówkami, aby skonfigurować to repozytorium do pracy z różnymi dostawcami. Zadania wymagające konkretnego dostawcy będą miały w nazwie pliku jeden z następujących tagów:

  • aoai - wymaga endpointu i klucza Azure OpenAI
  • oai - wymaga endpointu i klucza OpenAI
  • hf - wymaga tokena Hugging Face

Możesz skonfigurować jednego, żadnego lub wszystkich dostawców. Zadania powiązane z brakującymi poświadczeniami po prostu zwrócą błąd.

2.1. Utwórz plik .env

Zakładamy, że zapoznałeś się z powyższymi wskazówkami, zarejestrowałeś się u odpowiedniego dostawcy i uzyskałeś wymagane dane uwierzytelniające (API_KEY lub token). W przypadku Azure OpenAI zakładamy również, że masz aktywne wdrożenie usługi Azure OpenAI (endpoint) z co najmniej jednym modelem GPT do czatu.

Następny krok to skonfigurowanie lokalnych zmiennych środowiskowych w następujący sposób:

  1. W katalogu głównym znajdź plik .env.copy, który powinien zawierać coś takiego:

    # 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. Skopiuj ten plik do .env za pomocą poniższego polecenia. Ten plik jest ignorowany przez git, co chroni Twoje sekrety.

    cp .env.copy .env
  3. Wypełnij wartości (zamień symbole zastępcze po prawej stronie znaku =) zgodnie z opisem w następnej sekcji.

  4. (Opcjonalnie) Jeśli korzystasz z GitHub Codespaces, możesz zapisać zmienne środowiskowe jako sekrety Codespaces powiązane z tym repozytorium. W takim przypadku nie musisz tworzyć lokalnego pliku .env. Pamiętaj jednak, że ta opcja działa tylko w GitHub Codespaces. Jeśli używasz Docker Desktop, nadal musisz skonfigurować plik .env.

2.2. Wypełnij plik .env

Przyjrzyjmy się nazwom zmiennych, aby zrozumieć, co oznaczają:

Zmienna Opis
HUGGING_FACE_API_KEY Token dostępu użytkownika, który ustawiasz w swoim profilu
OPENAI_API_KEY Klucz autoryzacyjny do korzystania z usługi OpenAI (poza Azure OpenAI)
AZURE_OPENAI_API_KEY Klucz autoryzacyjny do korzystania z usługi Azure OpenAI
AZURE_OPENAI_ENDPOINT Endpoint wdrożonej usługi Azure OpenAI
AZURE_OPENAI_DEPLOYMENT Endpoint wdrożenia modelu do generowania tekstu
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT Endpoint wdrożenia modelu do osadzania tekstu

Uwaga: Ostatnie dwie zmienne Azure OpenAI odpowiadają domyślnemu modelowi do czatu (generowanie tekstu) oraz do wyszukiwania wektorowego (osadzanie). Instrukcje dotyczące ich ustawienia znajdziesz w odpowiednich zadaniach.

2.3 Konfiguracja Azure: z poziomu portalu

Wartości endpointu i klucza Azure OpenAI znajdziesz w Azure Portal, więc zacznijmy tam.

  1. Przejdź do Azure Portal
  2. Kliknij opcję Keys and Endpoint w pasku bocznym (menu po lewej).
  3. Kliknij Show Keys – powinieneś zobaczyć: KEY 1, KEY 2 oraz Endpoint.
  4. Użyj wartości KEY 1 jako AZURE_OPENAI_API_KEY
  5. Użyj wartości Endpoint jako AZURE_OPENAI_ENDPOINT

Następnie potrzebujemy endpointów dla konkretnych wdrożonych modeli.

  1. Kliknij opcję Model deployments w pasku bocznym (menu po lewej) dla zasobu Azure OpenAI.
  2. Na stronie docelowej kliknij Manage Deployments

Zostaniesz przeniesiony do witryny Azure OpenAI Studio, gdzie znajdziesz pozostałe wartości, jak opisano poniżej.

2.4 Konfiguracja Azure: z poziomu Studio

  1. Przejdź do Azure OpenAI Studio z poziomu swojego zasobu, jak opisano powyżej.
  2. Kliknij zakładkę Deployments (pasek boczny, po lewej), aby zobaczyć aktualnie wdrożone modele.
  3. Jeśli wybrany model nie jest wdrożony, użyj opcji Create new deployment, aby go wdrożyć.
  4. Będziesz potrzebować modelu do generowania tekstu – zalecamy: gpt-35-turbo
  5. Będziesz potrzebować modelu do osadzania tekstu – zalecamy text-embedding-ada-002

Teraz zaktualizuj zmienne środowiskowe, aby odzwierciedlały nazwę Deployment name używaną w wdrożeniu. Zazwyczaj jest to ta sama nazwa co model, chyba że zmieniłeś ją ręcznie. Na przykład, możesz mieć:

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

Nie zapomnij zapisać pliku .env po zakończeniu. Możesz teraz zamknąć plik i wrócić do instrukcji uruchamiania notatnika.

2.5 Konfiguracja OpenAI: z poziomu profilu

Klucz API OpenAI znajdziesz w swoim koncie OpenAI. Jeśli go nie masz, zarejestruj się i utwórz klucz API. Po uzyskaniu klucza wpisz go w zmienną OPENAI_API_KEY w pliku .env.

2.6 Konfiguracja Hugging Face: z poziomu profilu

Token Hugging Face znajdziesz w swoim profilu w sekcji Access Tokens. Nie udostępniaj go publicznie. Zamiast tego utwórz nowy token do użytku w tym projekcie i skopiuj go do pliku .env pod zmienną HUGGING_FACE_API_KEY. Uwaga: Technicznie nie jest to klucz API, ale służy do uwierzytelniania, dlatego zachowujemy tę nazwę dla spójności.

Zastrzeżenie:
Niniejszy dokument został przetłumaczony przy użyciu usługi tłumaczenia AI Co-op Translator. Mimo że dążymy do dokładności, prosimy mieć na uwadze, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym powinien być uznawany za źródło autorytatywne. W przypadku informacji krytycznych zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.