Uppgifter kan också ställas in för att fungera mot en eller flera Large Language Model (LLM)-distributioner via en stödd tjänsteleverantör som OpenAI, Azure eller Hugging Face. Dessa tillhandahåller en hostad endpoint (API) som vi kan komma åt programmässigt med rätt autentiseringsuppgifter (API-nyckel eller token). I denna kurs diskuterar vi dessa leverantörer:
- OpenAI med olika modeller inklusive kärnserien GPT.
- Azure OpenAI för OpenAI-modeller med fokus på företagsberedskap
- Hugging Face för öppen källkod-modeller och inferensserver
Du behöver använda egna konton för dessa övningar. Uppgifter är frivilliga så du kan välja att konfigurera en, alla - eller inga - av leverantörerna baserat på dina intressen. Några riktlinjer för registrering:
| Registrering | Kostnad | API-nyckel | Playground | Kommentarer |
|---|---|---|---|---|
| OpenAI | Prissättning | Projektbaserad | No-Code, Web | Flera modeller tillgängliga |
| Azure | Prissättning | SDK Quickstart | Studio Quickstart | Måste ansöka i förväg för åtkomst |
| Hugging Face | Prissättning | Åtkomsttoken | Hugging Chat | Hugging Chat har begränsade modeller |
Följ anvisningarna nedan för att konfigurera detta repository för användning med olika leverantörer. Uppgifter som kräver en specifik leverantör kommer att innehålla en av dessa taggar i deras filnamn:
aoai- kräver Azure OpenAI endpoint, nyckeloai- kräver OpenAI endpoint, nyckelhf- kräver Hugging Face token
Du kan konfigurera en, inga eller alla leverantörer. Relaterade uppgifter kommer helt enkelt att ge fel vid saknade autentiseringsuppgifter.
Vi antar att du redan har läst riktlinjerna ovan och registrerat dig hos relevant leverantör, samt erhållit nödvändiga autentiseringsuppgifter (API_KEY eller token). I fallet med Azure OpenAI antar vi också att du har en giltig distribution av en Azure OpenAI-tjänst (endpoint) med minst en GPT-modell distribuerad för chattkomplettering.
Nästa steg är att konfigurera dina lokala miljövariabler enligt följande:
-
Titta i rotmappen efter en
.env.copy-fil som bör innehålla något liknande detta:# OpenAI-leverantör OPENAI_API_KEY='<add your OpenAI API key here>' ## Azure OpenAI AZURE_OPENAI_API_VERSION='2024-02-01' # Standard är inställt! 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>'
-
Kopiera den filen till
.envmed kommandot nedan. Denna fil är gitignore-ad, vilket håller hemligheter säkra.cp .env.copy .env
-
Fyll i värdena (ersätt platshållare på höger sida om
=) som beskrivs i nästa avsnitt. -
(Valfritt) Om du använder GitHub Codespaces har du möjlighet att spara miljövariabler som Codespaces-hemligheter kopplade till detta repository. I så fall behöver du inte konfigurera en lokal .env-fil. Observera dock att detta alternativ endast fungerar om du använder GitHub Codespaces. Du måste fortfarande konfigurera .env-filen om du använder Docker Desktop istället.
Låt oss snabbt titta på variabelnamnen för att förstå vad de representerar:
| Variabel | Beskrivning |
|---|---|
| HUGGING_FACE_API_KEY | Detta är användaråtkomsttoken du ställt in i din profil |
| OPENAI_API_KEY | Detta är auktoriseringsnyckeln för att använda tjänsten för icke-Azure OpenAI-endpoints |
| AZURE_OPENAI_API_KEY | Detta är auktoriseringsnyckeln för att använda den tjänsten |
| AZURE_OPENAI_ENDPOINT | Detta är den distribuerade endpointen för en Azure OpenAI-resurs |
| AZURE_OPENAI_DEPLOYMENT | Detta är textgenererings-modellens distributionsendpoint |
| AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT | Detta är textembedding-modellens distributionsendpoint |
Notera: De två sista Azure OpenAI-variablerna speglar en standardmodell för chattkomplettering (textgenerering) respektive vektorsökning (embedding). Instruktioner för att ställa in dem definieras i relevanta uppgifter.
Azure OpenAI endpoint och nyckelvärden finns i Azure-portalen så vi börjar där.
- Gå till Azure-portalen
- Klicka på alternativet Keys and Endpoint i sidomenyn (menyn till vänster).
- Klicka på Show Keys - du bör se följande: KEY 1, KEY 2 och Endpoint.
- Använd värdet för KEY 1 som AZURE_OPENAI_API_KEY
- Använd värdet för Endpoint som AZURE_OPENAI_ENDPOINT
Nästa steg är att hämta endpoints för de specifika modeller vi distribuerat.
- Klicka på alternativet Model deployments i sidomenyn (vänstermenyn) för Azure OpenAI-resursen.
- På destinationssidan klickar du på Manage Deployments
Detta tar dig till Azure OpenAI Studio-webbplatsen, där vi hittar de andra värdena som beskrivs nedan.
- Navigera till Azure OpenAI Studio från din resurs som beskrivits ovan.
- Klicka på fliken Deployments (sidomeny, vänster) för att visa för närvarande distribuerade modeller.
- Om din önskade modell inte är distribuerad, använd Create new deployment för att distribuera den.
- Du behöver en text-generation-modell - vi rekommenderar: gpt-35-turbo
- Du behöver en text-embedding-modell - vi rekommenderar text-embedding-ada-002
Uppdatera nu miljövariablerna för att spegla det Deployment name som används. Detta är vanligtvis samma som modellnamnet om du inte ändrat det explicit. Så, som exempel, kan du ha:
AZURE_OPENAI_DEPLOYMENT='gpt-35-turbo'
AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT='text-embedding-ada-002'Glöm inte att spara .env-filen när du är klar. Du kan nu stänga filen och återgå till instruktionerna för att köra notebooken.
Din OpenAI API-nyckel finns i ditt OpenAI-konto. Om du inte har en kan du registrera ett konto och skapa en API-nyckel. När du har nyckeln kan du använda den för att fylla i variabeln OPENAI_API_KEY i .env-filen.
Din Hugging Face-token finns i din profil under Access Tokens. Publicera eller dela inte dessa offentligt. Skapa istället en ny token för detta projekt och kopiera in den i .env-filen under variabeln HUGGING_FACE_API_KEY. Notera: Detta är tekniskt sett inte en API-nyckel men används för autentisering, så vi behåller namngivningskonventionen för konsekvens.
Ansvarsfriskrivning: Detta dokument har översatts med hjälp av AI-översättningstjänsten Co-op Translator. Även om vi strävar efter noggrannhet, vänligen observera att automatiska översättningar kan innehålla fel eller brister. Det ursprungliga dokumentet på dess modersmål bör betraktas som den auktoritativa källan. För kritisk information rekommenderas professionell mänsklig översättning. Vi ansvarar inte för några missförstånd eller feltolkningar som uppstår vid användning av denna översättning.