Postavili smo ovaj repozitorij i tečaj s razvojnim kontejnerom koji ima univerzalni runtime koji može podržavati razvoj za Python3, .NET, Node.js i Java. Srodna konfiguracija definirana je u datoteci devcontainer.json koja se nalazi u mapi .devcontainer/ na korijenu ovog repozitorija.
Da biste aktivirali razvojni kontejner, pokrenite ga u GitHub Codespaces (za runtime u oblaku) ili u Docker Desktop (za lokalni runtime). Pročitajte ovu dokumentaciju za više detalja o tome kako razvojni kontejneri rade unutar VS Code.
Tip
Preporučujemo korištenje GitHub Codespaces za brz početak s minimalnim naporom. Pruža velikodušnu kvotu za besplatno korištenje za osobne račune. Konfigurirajte vrijeme neaktivnosti kako biste zaustavili ili izbrisali neaktivne codespaces i maksimalno iskoristili svoju kvotu.
Svaka lekcija će imati neobavezne zadatke koji mogu biti dostupni u jednom ili više programskih jezika uključujući: Python, .NET/C#, Java i JavaScript/TypeScript. Ovaj odjeljak pruža opće smjernice vezane uz izvršavanje tih zadataka.
Python zadaci se pružaju ili kao aplikacije (datoteke .py) ili Jupyter bilježnice (datoteke .ipynb).
- Da biste pokrenuli bilježnicu, otvorite je u Visual Studio Code, zatim kliknite Select Kernel (gore desno) i odaberite zadanu opciju Python 3. Sada možete Run All za izvršavanje bilježnice.
- Da biste pokrenuli Python aplikacije s komandne linije, slijedite specifične upute za zadatak kako biste bili sigurni da ste odabrali prave datoteke i dali potrebne argumente.
Zadaci mogu biti postavljeni za rad protiv jedne ili više implementacija velikih jezičnih modela (LLM) putem podržanog pružatelja usluga poput OpenAI, Azure ili Hugging Face. Oni pružaju hostirani endpoint (API) kojem možemo pristupiti programatski s ispravnim vjerodajnicama (API ključ ili token). U ovom tečaju raspravljamo o ovim pružateljima:
- OpenAI s raznim modelima uključujući osnovnu seriju GPT.
- Azure OpenAI za OpenAI modele s fokusom na spremnost za poduzeća.
- Hugging Face za open-source modele i server za inferenciju.
Morat ćete koristiti svoje račune za ove vježbe. Zadatci su neobavezni pa možete odlučiti postaviti jednog, sve - ili nijednog - od pružatelja usluga ovisno o vašim interesima. Neke smjernice za prijavu:
| Prijava | Trošak | API ključ | Igralište | Komentari |
|---|---|---|---|---|
| OpenAI | Cijene | Projekt-bazirano | Bez koda, Web | Dostupni višestruki modeli |
| Azure | Cijene | SDK Quickstart | Studio Quickstart | Morate unaprijed aplicirati za pristup |
| Hugging Face | Cijene | Pristupni tokeni | Hugging Chat | Hugging Chat ima ograničene modele |
Slijedite dolje navedene upute za konfiguriranje ovog repozitorija za korištenje s različitim pružateljima usluga. Zadatci koji zahtijevaju određenog pružatelja usluga će sadržavati jednu od ovih oznaka u svom nazivu datoteke:
aoai- zahtijeva Azure OpenAI endpoint, ključoai- zahtijeva OpenAI endpoint, ključhf- zahtijeva Hugging Face token
Možete konfigurirati jednog, nijednog ili sve pružatelje usluga. Srodni zadatci će jednostavno prijaviti grešku na nedostajuće vjerodajnice.
Pretpostavljamo da ste već pročitali gore navedene smjernice i prijavili se kod relevantnog pružatelja usluga te dobili potrebne vjerodajnice za autentifikaciju (API_KEY ili token). U slučaju Azure OpenAI, pretpostavljamo da također imate valjanu implementaciju Azure OpenAI usluge (endpoint) s barem jednim GPT modelom implementiranim za završetak razgovora.
Sljedeći korak je konfiguriranje vaših lokalnih varijabli okruženja na sljedeći način:
-
Pogledajte u korijensku mapu za datoteku
.env.copykoja bi trebala imati sadržaj poput ovog:# 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>'
-
Kopirajte tu datoteku u
.envkoristeći naredbu ispod. Ova datoteka je gitignore-d, čuvajući tajne sigurno.cp .env.copy .env
-
Popunite vrijednosti (zamijenite rezervirane oznake na desnoj strani
=) kako je opisano u sljedećem odjeljku. -
(Opcija) Ako koristite GitHub Codespaces, imate opciju spremanja varijabli okruženja kao Codespaces tajni povezane s ovim repozitorijem. U tom slučaju, nećete trebati postaviti lokalnu .env datoteku. Međutim, imajte na umu da ova opcija radi samo ako koristite GitHub Codespaces. I dalje ćete morati postaviti .env datoteku ako koristite Docker Desktop umjesto toga.
Pogledajmo brzo nazive varijabli da bismo razumjeli što predstavljaju:
| Varijabla | Opis |
|---|---|
| HUGGING_FACE_API_KEY | Ovo je korisnički pristupni token koji ste postavili u svom profilu |
| OPENAI_API_KEY | Ovo je autorizacijski ključ za korištenje usluge za ne-Azure OpenAI endpoint |
| AZURE_OPENAI_API_KEY | Ovo je autorizacijski ključ za korištenje te usluge |
| AZURE_OPENAI_ENDPOINT | Ovo je implementirani endpoint za Azure OpenAI resurs |
| AZURE_OPENAI_DEPLOYMENT | Ovo je endpoint za generiranje teksta modela implementacije |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Ovo je endpoint za ugrađivanje teksta modela implementacije |
Napomena: Posljednje dvije Azure OpenAI varijable odražavaju zadani model za završetak razgovora (generiranje teksta) i pretraživanje vektora (ugrađivanje) respektivno. Upute za njihovo postavljanje bit će definirane u relevantnim zadacima.
Vrijednosti za Azure OpenAI endpoint i ključ će se pronaći u Azure portalu pa krenimo od tamo.
- Idite na Azure portal
- Kliknite opciju Keys and Endpoint u bočnom izborniku (izbornik lijevo).
- Kliknite Show Keys - trebali biste vidjeti sljedeće: KLJUČ 1, KLJUČ 2 i Endpoint.
- Koristite vrijednost KLJUČA 1 za AZURE_OPENAI_API_KEY
- Koristite vrijednost Endpoint za AZURE_OPENAI_ENDPOINT
Sljedeće, trebamo endpoint za specifične modele koje smo implementirali.
- Kliknite opciju Model deployments u bočnom izborniku (izbornik lijevo) za Azure OpenAI resurs.
- Na odredišnoj stranici kliknite Manage Deployments
Ovo će vas odvesti na web stranicu Azure OpenAI Studio, gdje ćemo pronaći ostale vrijednosti kako je opisano dolje.
- Navigirajte do Azure OpenAI Studio iz vašeg resursa kako je opisano gore.
- Kliknite karticu Deployments (bočni izbornik, lijevo) za pregled trenutno implementiranih modela.
- Ako vaš željeni model nije implementiran, koristite Create new deployment za implementaciju.
- Trebat će vam model za generiranje teksta - preporučujemo: gpt-35-turbo
- Trebat će vam model za ugrađivanje teksta - preporučujemo text-embedding-ada-002
Sada ažurirajte varijable okruženja kako bi odražavale Ime implementacije koje ste koristili. Ovo će obično biti isto kao ime modela osim ako ste ga eksplicitno promijenili. Dakle, kao primjer, mogli biste imati:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Ne zaboravite spremiti .env datoteku kad završite. Sada možete izaći iz datoteke i vratiti se na upute za pokretanje bilježnice.
Vaš OpenAI API ključ možete pronaći u svom OpenAI računu. Ako ga nemate, možete se prijaviti za račun i kreirati API ključ. Kada imate ključ, možete ga koristiti za popunjavanje varijable OPENAI_API_KEY u datoteci .env.
Vaš Hugging Face token možete pronaći u svom profilu pod Pristupni tokeni. Nemojte ih objavljivati ili dijeliti javno. Umjesto toga, kreirajte novi token za ovu upotrebu projekta i kopirajte ga u datoteku .env pod varijablom HUGGING_FACE_API_KEY. Napomena: Tehnički, ovo nije API ključ, ali se koristi za autentifikaciju pa zadržavamo tu konvenciju imenovanja radi dosljednosti.
Odricanje odgovornosti:
Ovaj dokument je preveden pomoću AI usluge za prevođenje Co-op Translator. Iako težimo za točnost, imajte na umu da automatski prijevodi mogu sadržavati pogreške ili netočnosti. Izvorni dokument na izvornom jeziku treba smatrati autoritativnim izvorom. Za kritične informacije preporučuje se profesionalni prijevod od strane čovjeka. Ne odgovaramo za nesporazume ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.