Oppgaver kan også settes opp til å fungere mot en eller flere distribusjoner av store språkmodeller (LLM) gjennom en støttet tjenesteleverandør som OpenAI, Azure eller Hugging Face. Disse tilbyr et hostet endepunkt (API) som vi kan få tilgang til programmessig med riktige legitimasjoner (API-nøkkel eller token). I dette kurset diskuterer vi disse leverandørene:
- OpenAI med ulike modeller inkludert kjerne-GPT-serien.
- Azure OpenAI for OpenAI-modeller med fokus på bedriftsklarhet
- Hugging Face for åpen kildekode-modeller og inferensserver
Du må bruke dine egne kontoer for disse øvelsene. Oppgaver er valgfrie, så du kan velge å sette opp én, alle - eller ingen - av leverandørene basert på dine interesser. Litt veiledning for registrering:
| Registrering | Kostnad | API-nøkkel | Lekemiljø | Kommentarer |
|---|---|---|---|---|
| OpenAI | Priser | Prosjektbasert | Ingen koding, web | Flere modeller tilgjengelig |
| Azure | Priser | SDK Quickstart | Studio Quickstart | Må søke om tilgang på forhånd |
| Hugging Face | Priser | Tilgangstokener | Hugging Chat | Hugging Chat har begrensede modeller |
Følg instruksjonene nedenfor for å konfigurere dette depotet for bruk med forskjellige leverandører. Oppgaver som krever en spesifikk leverandør vil inneholde en av disse taggene i filnavnet:
aoai- krever Azure OpenAI-endepunkt, nøkkeloai- krever OpenAI-endepunkt, nøkkelhf- krever Hugging Face-token
Du kan konfigurere én, ingen eller alle leverandører. Relaterte oppgaver vil bare gi feil ved manglende legitimasjon.
Vi antar at du allerede har lest veiledningen ovenfor, registrert deg hos relevant leverandør, og fått de nødvendige autentiseringslegitimasjonene (API_KEY eller token). I tilfellet Azure OpenAI antar vi også at du har en gyldig distribusjon av en Azure OpenAI-tjeneste (endepunkt) med minst én GPT-modell distribuert for chatfullføring.
Neste steg er å konfigurere dine lokale miljøvariabler som følger:
-
Se i rotmappen etter en
.env.copy-fil som skal ha innhold som dette:# OpenAI-leverandør OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Standard er satt! 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 filen til
.envmed kommandoen nedenfor. Denne filen er gitignore-t, og holder hemmeligheter trygge.cp .env.copy .env
-
Fyll inn verdiene (erstatt plassholdere på høyre side av
=) som beskrevet i neste seksjon. -
(Valgfritt) Hvis du bruker GitHub Codespaces, har du mulighet til å lagre miljøvariabler som Codespaces secrets knyttet til dette depotet. I så fall trenger du ikke sette opp en lokal .env-fil. Merk likevel at dette alternativet kun fungerer hvis du bruker GitHub Codespaces. Du må fortsatt sette opp .env-filen hvis du bruker Docker Desktop i stedet.
La oss ta en rask titt på variabelnavnene for å forstå hva de representerer:
| Variabel | Beskrivelse |
|---|---|
| HUGGING_FACE_API_KEY | Dette er brukertilgangstokenet du setter opp i profilen din |
| OPENAI_API_KEY | Dette er autorisasjonsnøkkelen for bruk av tjenesten for ikke-Azure OpenAI-endepunkter |
| AZURE_OPENAI_API_KEY | Dette er autorisasjonsnøkkelen for bruk av den tjenesten |
| AZURE_OPENAI_ENDPOINT | Dette er det distribuerte endepunktet for en Azure OpenAI-ressurs |
| AZURE_OPENAI_DEPLOYMENT | Dette er endepunktet for tekstgenererings-modell distribusjon |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Dette er endepunktet for tekstinnbeddings-modell distribusjon |
Merk: De to siste Azure OpenAI-variablene reflekterer en standardmodell for chatfullføring (tekstgenerering) og vektorsøk (innbeddings) henholdsvis. Instruksjoner for å sette disse vil bli definert i relevante oppgaver.
Azure OpenAI-endepunktet og nøkkelverdiene finnes i Azure-portalen, så la oss starte der.
- Gå til Azure-portalen
- Klikk på Keys and Endpoint-valget i sidepanelet (meny til venstre).
- Klikk Show Keys - du skal se følgende: KEY 1, KEY 2 og Endpoint.
- Bruk verdien for KEY 1 som AZURE_OPENAI_API_KEY
- Bruk verdien for Endpoint som AZURE_OPENAI_ENDPOINT
Neste trenger vi endepunktene for de spesifikke modellene vi har distribuert.
- Klikk på Model deployments-valget i sidepanelet (venstre meny) for Azure OpenAI-ressursen.
- På destinasjonssiden klikker du Manage Deployments
Dette tar deg til Azure OpenAI Studio-nettstedet, hvor vi finner de andre verdiene som beskrevet nedenfor.
- Naviger til Azure OpenAI Studio fra ressursen din som beskrevet ovenfor.
- Klikk på Deployments-fanen (sidepanel, venstre) for å se modeller som er distribuert nå.
- Hvis ønsket modell ikke er distribuert, bruk Create new deployment for å distribuere den.
- Du trenger en tekstgenererings-modell - vi anbefaler: gpt-35-turbo
- Du trenger en tekstinnbeddings-modell - vi anbefaler text-embedding-ada-002
Oppdater nå miljøvariablene for å reflektere Deployment name som brukes. Dette vil vanligvis være det samme som modellnavnet med mindre du har endret det eksplisitt. Så, som et eksempel, kan du ha:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Ikke glem å lagre .env-filen når du er ferdig. Du kan nå lukke filen og gå tilbake til instruksjonene for å kjøre notatboken.
Din OpenAI API-nøkkel kan finnes i din OpenAI-konto. Hvis du ikke har en, kan du registrere deg for en konto og opprette en API-nøkkel. Når du har nøkkelen, kan du bruke den til å fylle ut OPENAI_API_KEY-variabelen i .env-filen.
Din Hugging Face-token kan finnes i profilen din under Access Tokens. Ikke legg ut eller del disse offentlig. Lag i stedet en ny token for dette prosjektet og kopier den inn i .env-filen under variabelen HUGGING_FACE_API_KEY. Merk: Dette er teknisk sett ikke en API-nøkkel, men brukes til autentisering, så vi beholder denne navngivningskonvensjonen for konsistens.
Ansvarsfraskrivelse: Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vennligst vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.