Vi har opsat dette repository og kursus med en udviklingscontainer der har en universel runtime, som kan understøtte Python3, .NET, Node.js og Java udvikling. Den tilhørende konfiguration er defineret i devcontainer.json-filen, som ligger i .devcontainer/-mappen ved roden af dette repository.
For at aktivere udviklingscontaineren, start den i GitHub Codespaces (for en cloud-hosted runtime) eller i Docker Desktop (for en lokalt hosted runtime). Læs denne dokumentation for flere detaljer om, hvordan udviklingscontainere fungerer inden for VS Code.
Tip
Vi anbefaler at bruge GitHub Codespaces for en hurtig start med minimal indsats. Det tilbyder en generøs gratis brugs kvote for personlige konti. Konfigurer timeouts for at stoppe eller slette inaktive codespaces for at maksimere din kvoteudnyttelse.
Hver lektion vil have valgfrie opgaver, der kan være tilgængelige i en eller flere programmeringssprog, herunder: Python, .NET/C#, Java og JavaScript/TypeScript. Denne sektion giver generel vejledning i forbindelse med udførelse af disse opgaver.
Python opgaver leveres enten som applikationer (.py-filer) eller Jupyter-notebooks (.ipynb-filer).
- For at køre notebooken, åbn den i Visual Studio Code, klik derefter på Select Kernel (øverst til højre) og vælg den viste standard Python 3 mulighed. Du kan nu Run All for at udføre notebooken.
- For at køre Python-applikationer fra kommandolinjen, følg opgavespecifikke instruktioner for at sikre, at du vælger de rigtige filer og giver de nødvendige argumenter.
Opgaver kan også være opsat til at arbejde mod en eller flere Large Language Model (LLM) implementeringer gennem en understøttet tjenesteudbyder som OpenAI, Azure eller Hugging Face. Disse tilbyder en hostet endpoint (API), som vi kan tilgå programmæssigt med de rigtige legitimationsoplysninger (API-nøgle eller token). I dette kursus diskuterer vi disse udbydere:
- OpenAI med diverse modeller inklusive den centrale GPT-serie.
- Azure OpenAI for OpenAI-modeller med fokus på virksomhedens parathed
- Hugging Face for open-source modeller og inference server
Du vil skulle bruge dine egne konti til disse øvelser. Opgaver er valgfrie, så du kan vælge at opsætte en, alle - eller ingen - af udbyderne baseret på dine interesser. Nogle vejledninger til tilmelding:
| Tilmelding | Omkostninger | API-nøgle | Playground | Kommentarer |
|---|---|---|---|---|
| OpenAI | Priser | Projektbaseret | No-Code, Web | Flere Modeller Tilgængelige |
| Azure | Priser | SDK Quickstart | Studio Quickstart | Skal Ansøge Forud For Adgang |
| Hugging Face | Priser | Access Tokens | Hugging Chat | Hugging Chat har begrænsede modeller |
Følg nedenstående instruktioner for at konfigurere dette repository til brug med forskellige udbydere. Opgaver der kræver en specifik udbyder vil indeholde en af disse tags i deres filnavn:
aoai- kræver Azure OpenAI endpoint, nøgleoai- kræver OpenAI endpoint, nøglehf- kræver Hugging Face token
Du kan konfigurere en, ingen eller alle udbydere. Relaterede opgaver vil simpelthen fejle ved manglende legitimationsoplysninger.
Vi antager, at du allerede har læst vejledningen ovenfor og tilmeldt dig den relevante udbyder, og opnået de nødvendige autentificeringslegitimationsoplysninger (API_KEY eller token). I tilfælde af Azure OpenAI antager vi også, at du har en gyldig implementering af en Azure OpenAI Service (endpoint) med mindst en GPT-model implementeret til chat completion.
Det næste trin er at konfigurere dine lokale miljøvariabler som følger:
-
Se i rodmappen efter en
.env.copy-fil, der bør have indhold som dette:# 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>'
-
Kopier den fil til
.envved hjælp af kommandoen nedenfor. Denne fil er gitignore-d, hvilket holder hemmeligheder sikre.cp .env.copy .env
-
Udfyld værdierne (erstat pladsholdere på højre side af
=) som beskrevet i næste sektion. -
(Valgfrit) Hvis du bruger GitHub Codespaces, har du muligheden for at gemme miljøvariabler som Codespaces secrets tilknyttet dette repository. I så fald behøver du ikke at opsætte en lokal .env-fil. Bemærk dog, at denne mulighed kun fungerer, hvis du bruger GitHub Codespaces. Du skal stadig opsætte .env-filen, hvis du bruger Docker Desktop i stedet.
Lad os tage et hurtigt kig på variabelnavnene for at forstå, hvad de repræsenterer:
| Variabel | Beskrivelse |
|---|---|
| HUGGING_FACE_API_KEY | Dette er den brugeradgangstoken, du opsætter i din profil |
| OPENAI_API_KEY | Dette er autorisationsnøglen til at bruge tjenesten for ikke-Azure OpenAI endpoints |
| AZURE_OPENAI_API_KEY | Dette er autorisationsnøglen til at bruge den tjeneste |
| AZURE_OPENAI_ENDPOINT | Dette er det implementerede endpoint for en Azure OpenAI ressource |
| AZURE_OPENAI_DEPLOYMENT | Dette er tekstgenererings-model implementerings endpointet |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Dette er tekst embeddings-model implementerings endpointet |
Bemærk: De sidste to Azure OpenAI variabler afspejler en standardmodel for chat completion (tekstgenerering) og vektorsøgning (embeddings) henholdsvis. Instruktioner til opsætning af dem vil blive defineret i relevante opgaver.
Azure OpenAI endpoint- og nøgleværdierne vil blive fundet i Azure Portalen, så lad os starte der.
- Gå til Azure Portalen
- Klik på Keys and Endpoint-muligheden i sidebjælken (menu til venstre).
- Klik på Show Keys - du bør se følgende: KEY 1, KEY 2 og Endpoint.
- Brug KEY 1-værdien til AZURE_OPENAI_API_KEY
- Brug Endpoint-værdien til AZURE_OPENAI_ENDPOINT
Næste, vi har brug for endpoints for de specifikke modeller, vi har implementeret.
- Klik på Model deployments-muligheden i sidebjælken (venstre menu) for Azure OpenAI ressource.
- På destinationssiden, klik på Manage Deployments
Dette vil tage dig til Azure OpenAI Studio-webstedet, hvor vi vil finde de andre værdier som beskrevet nedenfor.
- Naviger til Azure OpenAI Studio fra din ressource som beskrevet ovenfor.
- Klik på Deployments-fanen (sidebjælken, venstre) for at se aktuelt implementerede modeller.
- Hvis din ønskede model ikke er implementeret, brug Create new deployment til at implementere den.
- Du vil have brug for en tekst-genererings-model - vi anbefaler: gpt-35-turbo
- Du vil have brug for en tekst-embedding-model - vi anbefaler text-embedding-ada-002
Opdater nu miljøvariablerne til at afspejle Deployment name brugt. Dette vil typisk være det samme som modelnavnet, medmindre du ændrede det eksplicit. Så, som et eksempel, kunne du have:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Glem ikke at gemme .env-filen når du er færdig. Du kan nu afslutte filen og vende tilbage til instruktionerne for at køre notebooken.
Din OpenAI API-nøgle kan findes i din OpenAI-konto. Hvis du ikke har en, kan du tilmelde dig en konto og oprette en API-nøgle. Når du har nøglen, kan du bruge den til at udfylde OPENAI_API_KEY-variablen i .env-filen.
Din Hugging Face token kan findes i din profil under Access Tokens. Del ikke eller post disse offentligt. I stedet opret en ny token til brug i dette projekt og kopier den ind i .env-filen under HUGGING_FACE_API_KEY-variablen. Bemærk: Dette er teknisk set ikke en API-nøgle, men bruges til autentificering, så vi holder den navnekonvention for konsistens.
Ansvarsfraskrivelse:
Dette dokument er blevet oversat ved hjælp af AI-oversættelsestjenesten Co-op Translator. Selvom vi bestræber os på at opnå nøjagtighed, skal du være opmærksom på, at automatiserede oversættelser kan indeholde fejl eller unøjagtigheder. Det originale dokument på dets oprindelige sprog bør betragtes som den autoritative kilde. For kritisk information anbefales professionel menneskelig oversættelse. Vi er ikke ansvarlige for eventuelle misforståelser eller fejltolkninger som følge af brugen af denne oversættelse.