Skip to content

Latest commit

 

History

History
149 lines (100 loc) · 11.4 KB

File metadata and controls

149 lines (100 loc) · 11.4 KB

Opsæt Dit Udviklingsmiljø

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.

1. Udførelse af Opgaver

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.

1.1 Python 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.

2. Konfiguration af Udbydere

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øgle
  • oai - kræver OpenAI endpoint, nøgle
  • hf - kræver Hugging Face token

Du kan konfigurere en, ingen eller alle udbydere. Relaterede opgaver vil simpelthen fejle ved manglende legitimationsoplysninger.

2.1. Opret .env-fil

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:

  1. 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>'
  2. Kopier den fil til .env ved hjælp af kommandoen nedenfor. Denne fil er gitignore-d, hvilket holder hemmeligheder sikre.

    cp .env.copy .env
  3. Udfyld værdierne (erstat pladsholdere på højre side af =) som beskrevet i næste sektion.

  4. (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.

2.2. Udfyld .env-fil

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.

2.3 Konfigurer Azure: Fra Portalen

Azure OpenAI endpoint- og nøgleværdierne vil blive fundet i Azure Portalen, så lad os starte der.

  1. Gå til Azure Portalen
  2. Klik på Keys and Endpoint-muligheden i sidebjælken (menu til venstre).
  3. Klik på Show Keys - du bør se følgende: KEY 1, KEY 2 og Endpoint.
  4. Brug KEY 1-værdien til AZURE_OPENAI_API_KEY
  5. Brug Endpoint-værdien til AZURE_OPENAI_ENDPOINT

Næste, vi har brug for endpoints for de specifikke modeller, vi har implementeret.

  1. Klik på Model deployments-muligheden i sidebjælken (venstre menu) for Azure OpenAI ressource.
  2. 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.

2.4 Konfigurer Azure: Fra Studio

  1. Naviger til Azure OpenAI Studio fra din ressource som beskrevet ovenfor.
  2. Klik på Deployments-fanen (sidebjælken, venstre) for at se aktuelt implementerede modeller.
  3. Hvis din ønskede model ikke er implementeret, brug Create new deployment til at implementere den.
  4. Du vil have brug for en tekst-genererings-model - vi anbefaler: gpt-35-turbo
  5. 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.

2.5 Konfigurer OpenAI: Fra Profil

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.

2.6 Konfigurer Hugging Face: Fra Profil

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.