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.
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ń.
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.
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 OpenAIoai- wymaga endpointu i klucza OpenAIhf- 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.
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:
-
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>'
-
Skopiuj ten plik do
.envza pomocą poniższego polecenia. Ten plik jest ignorowany przez git, co chroni Twoje sekrety.cp .env.copy .env
-
Wypełnij wartości (zamień symbole zastępcze po prawej stronie znaku
=) zgodnie z opisem w następnej sekcji. -
(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.
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.
Wartości endpointu i klucza Azure OpenAI znajdziesz w Azure Portal, więc zacznijmy tam.
- Przejdź do Azure Portal
- Kliknij opcję Keys and Endpoint w pasku bocznym (menu po lewej).
- Kliknij Show Keys – powinieneś zobaczyć: KEY 1, KEY 2 oraz Endpoint.
- Użyj wartości KEY 1 jako AZURE_OPENAI_API_KEY
- Użyj wartości Endpoint jako AZURE_OPENAI_ENDPOINT
Następnie potrzebujemy endpointów dla konkretnych wdrożonych modeli.
- Kliknij opcję Model deployments w pasku bocznym (menu po lewej) dla zasobu Azure OpenAI.
- Na stronie docelowej kliknij Manage Deployments
Zostaniesz przeniesiony do witryny Azure OpenAI Studio, gdzie znajdziesz pozostałe wartości, jak opisano poniżej.
- Przejdź do Azure OpenAI Studio z poziomu swojego zasobu, jak opisano powyżej.
- Kliknij zakładkę Deployments (pasek boczny, po lewej), aby zobaczyć aktualnie wdrożone modele.
- Jeśli wybrany model nie jest wdrożony, użyj opcji Create new deployment, aby go wdrożyć.
- Będziesz potrzebować modelu do generowania tekstu – zalecamy: gpt-35-turbo
- 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.
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.
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.