Zadaci mogu biti postavljeni da rade s jednim ili više Large Language Model (LLM) implementacija putem podržanog pružatelja usluga poput OpenAI, Azure ili Hugging Face. Oni pružaju hostanu krajnju točku (API) kojoj možemo pristupiti programski s odgovarajućim vjerodajnicama (API ključ ili token). U ovom tečaju raspravljamo o ovim pružateljima:
- OpenAI s raznolikim modelima uključujući osnovnu GPT seriju.
- Azure OpenAI za OpenAI modele s fokusom na spremnost za poduzeća
- Hugging Face za open-source modele i poslužitelj za izvođenje
Za ove vježbe morat ćete koristiti vlastite račune. Zadaci su opcionalni pa možete odabrati postavljanje jednog, svih - ili nijednog - pružatelja usluga prema vašim interesima. Nekoliko smjernica za prijavu:
| Prijava | Trošak | API ključ | Igralište | Komentari |
|---|---|---|---|---|
| OpenAI | Cijene | Na razini projekta | Bez koda, Web | Više dostupnih modela |
| Azure | Cijene | SDK Brzi početak | Studio Brzi početak | Potrebna prijava za pristup |
| Hugging Face | Cijene | Pristupni tokeni | Hugging Chat | Hugging Chat ima ograničene modele |
Slijedite upute u nastavku za konfiguraciju ovog repozitorija za rad s različitim pružateljima. Zadaci koji zahtijevaju određenog pružatelja sadržavat će jedan od ovih oznaka u nazivu datoteke:
aoai- zahtijeva Azure OpenAI krajnju točku, ključoai- zahtijeva OpenAI krajnju točku, ključhf- zahtijeva Hugging Face token
Možete konfigurirati jednog, nijednog ili sve pružatelje. Povezani zadaci će jednostavno prijaviti grešku ako nedostaju vjerodajnice.
Pretpostavljamo da ste već pročitali gore navedene upute, prijavili se kod relevantnog pružatelja i dobili potrebne vjerodajnice za autentifikaciju (API_KEY ili token). U slučaju Azure OpenAI, pretpostavljamo da imate i valjanu implementaciju Azure OpenAI usluge (krajnju točku) s barem jednim GPT modelom implementiranim za chat dovršavanje.
Sljedeći korak je konfigurirati vaše lokalne varijable okoline na sljedeći način:
-
Potražite u korijenskoj mapi datoteku
.env.copykoja bi trebala sadržavati nešto poput ovoga:# OpenAI pružatelj usluga OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Zadano je postavljeno! 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-irana, čuvajući tajne sigurno.cp .env.copy .env
-
Ispunite vrijednosti (zamijenite rezervirana mjesta s desne strane
=) kako je opisano u sljedećem odjeljku. -
(Opcija) Ako koristite GitHub Codespaces, imate opciju spremiti varijable okoline kao Codespaces tajne povezane s ovim repozitorijem. U tom slučaju nećete morati postavljati lokalnu .env datoteku. Međutim, imajte na umu da ova opcija radi samo ako koristite GitHub Codespaces. Još uvijek ćete morati postaviti .env datoteku ako koristite Docker Desktop.
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 krajnje točke |
| AZURE_OPENAI_API_KEY | Ovo je autorizacijski ključ za korištenje te usluge |
| AZURE_OPENAI_ENDPOINT | Ovo je implementirana krajnja točka za Azure OpenAI resurs |
| AZURE_OPENAI_DEPLOYMENT | Ovo je krajnja točka implementacije modela za generiranje teksta |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Ovo je krajnja točka implementacije modela za ugradnju teksta |
Napomena: Posljednje dvije Azure OpenAI varijable odražavaju zadani model za chat dovršavanje (generiranje teksta) i pretraživanje vektora (ugradnje) redom. Upute za njihovo postavljanje bit će definirane u relevantnim zadacima.
Vrijednosti Azure OpenAI krajnje točke i ključa pronaći ćete u Azure portalu, pa krenimo od tamo.
- Idite na Azure portal
- Kliknite opciju Keys and Endpoint u bočnoj traci (izbornik lijevo).
- Kliknite Show Keys - trebali biste vidjeti sljedeće: KEY 1, KEY 2 i Endpoint.
- Koristite vrijednost KEY 1 za AZURE_OPENAI_API_KEY
- Koristite vrijednost Endpoint za AZURE_OPENAI_ENDPOINT
Sljedeće, trebamo krajnje točke za specifične modele koje smo implementirali.
- Kliknite opciju Model deployments u bočnoj traci (lijevi izbornik) za Azure OpenAI resurs.
- Na odredišnoj stranici kliknite Manage Deployments
Ovo će vas odvesti na web stranicu Azure OpenAI Studija, gdje ćemo pronaći ostale vrijednosti kako je opisano u nastavku.
- Idite na Azure OpenAI Studio iz vašeg resursa kao što je gore opisano.
- Kliknite karticu Deployments (bočna traka, lijevo) da vidite trenutno implementirane modele.
- Ako željeni model nije implementiran, koristite Create new deployment za njegovu implementaciju.
- Trebat će vam model za generiranje teksta - preporučujemo: gpt-35-turbo
- Trebat će vam model za ugradnju teksta - preporučujemo text-embedding-ada-002
Sada ažurirajte varijable okoline da odražavaju korišteni Deployment name. To će obično biti isto kao ime modela osim ako ga niste eksplicitno promijenili. Dakle, na primjer, mogli biste imati:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Ne zaboravite spremiti .env datoteku kada završite. Sada možete izaći iz datoteke i vratiti se u 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 stvoriti API ključ. Nakon što imate ključ, možete ga koristiti za popunjavanje varijable OPENAI_API_KEY u .env datoteci.
Vaš Hugging Face token možete pronaći u svom profilu pod Access Tokens. Nemojte ih objavljivati ili dijeliti javno. Umjesto toga, stvorite novi token za ovu upotrebu projekta i kopirajte ga u .env datoteku 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 od odgovornosti: Ovaj dokument je preveden korištenjem AI usluge za prevođenje Co-op Translator. Iako nastojimo postići 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 ljudski prijevod. Ne snosimo odgovornost za bilo kakva nesporazuma ili pogrešna tumačenja koja proizlaze iz korištenja ovog prijevoda.