Viktiga Slutsatser
- OpenAI har lanserat ChatGPT API, vilket ger utvecklare möjligheten att integrera ChatGPT:s funktionalitet i sina egna applikationer.
- För att påbörja arbetet behöver du en API-nyckel från OpenAI och en utvecklingsmiljö med nödvändiga bibliotek.
- ChatGPT API kan användas för både interaktiva chatsamtal och textkomplettering, vilket skapar potential för en mängd olika applikationer.
Med introduktionen av API:et har OpenAI gjort ChatGPT tillgängligt för en bredare publik. Nu kan du enkelt integrera ChatGPT:s egenskaper direkt i din applikation.
Följ dessa anvisningar för att komma igång, oavsett om du vill lägga till ChatGPT i en existerande app eller skapa helt nya applikationer.
1. Skaffa en API-nyckel från OpenAI
För att nyttja ChatGPT API behöver du först en API-nyckel.
- Registrera dig eller logga in på OpenAI:s officiella plattform.
- Efter inloggning, navigera till fliken API-nycklar i menyn till vänster.
- Klicka sedan på knappen för att skapa en ny hemlig nyckel.
- Kom ihåg att kopiera och spara nyckeln på en säker plats, eftersom du inte kan se den igen senare.
Källkoden som används i detta projekt finns tillgänglig på GitHub och kan användas fritt under MIT-licensen.
2. Konfigurera Utvecklingsmiljön
Du kan antingen använda API-slutpunkten direkt eller dra nytta av OpenAI:s Python- eller JavaScript-bibliotek för att påbörja skapandet av applikationer med ChatGPT API. Denna guide kommer att använda Python och openai-python-biblioteket.
För att starta:
- Skapa en isolerad virtuell Python-miljö.
- Installera biblioteken openai och python-dotenv genom pip:
pip install openai python-dotenv
- Skapa en .env-fil i projektets rotkatalog för att lagra din API-nyckel på ett säkert sätt.
- I samma fil anger du sedan variabeln OPENAI_API_KEY med det värde du tidigare kopierade:
OPENAI_API_KEY="DIN_API_NYCKEL"
Var försiktig så att du inte oavsiktligt delar din API-nyckel genom versionskontroll. Lägg till en .gitignore-fil i projektets rotkatalog och lägg till ”.env” för att utesluta dotenv-filen.
3. Utför ChatGPT API-anrop
OpenAI API:s GPT-3.5 Turbo, GPT-4 och GPT-4 Turbo är samma modeller som driver ChatGPT. Dessa modeller är kraftfulla verktyg för att förstå och skapa text och kod. GPT-4 Turbo har även stöd för bildinmatning, vilket öppnar för möjligheter att analysera bilder, dokument med diagram och transkribera text från bilder.
Notera att termen ChatGPT API används generellt för att beskriva OpenAI:s API:er som bygger på GPT-baserade modeller, inklusive gpt-3.5-turbo, gpt-4 och gpt-4-turbo.
ChatGPT API är främst anpassat för konversation, men fungerar även utmärkt för textkomplettering. Oavsett om du behöver generera kod, översätta språk eller skriva dokument, kan detta API hantera det.
För att få tillgång till GPT-4 API måste du ha gjort en betalning på minst $1. Om inte, kan du få ett felmeddelande som indikerar att modellen ”gpt-4” inte existerar eller att du saknar behörighet.
Använda API:et för Chattslutförande
Du måste förbereda chattmodellen för ett API-anrop. Här är ett exempel:
from openai import OpenAI from dotenv import load_dotenv load_dotenv() client = OpenAI() response = client.chat.completions.create( model = "gpt-3.5-turbo-0125", temperature = 0.8, max_tokens = 3000, response_format={ "type": "json_object" }, messages = [ {"role": "system", "content": "Du är en rolig komiker som berättar pappaskämt. Utdata ska vara i JSON-format."}, {"role": "user", "content": "Skriv ett pappaskämt relaterat till siffror."}, {"role": "assistant", "content": "F: Hur gör man 7 jämn? S: Ta bort s:et."}, {"role": "user", "content": "Skriv ett skämt relaterat till programmerare."} ] )
ChatGPT API ger ett svar i följande format:
Du kan extrahera innehållet från svaret, som en JSON-sträng, med denna kod:
print(response.choices[0].message.content)
Koden ger följande utdata:
Koden visar ett anrop till ChatGPT API med Python. Modellen förstod sammanhanget (”pappaskämt”) och typen av svar (fråge- och svarsformatet) som vi förväntade oss, baserat på instruktionerna som gavs.
Den viktigaste delen är parametern ”meddelanden”, som accepterar en lista med meddelandeobjekt. Varje objekt innehåller en ”roll” och ”innehåll”. Det finns tre typer av roller:
- system: Anger assistentens sammanhang och beteende.
- användare: Ger instruktioner till assistenten. Normalt kommer dessa från slutanvändaren, men du kan också inkludera standardanvändarinstruktioner i förväg.
- assistent: Kan inkludera exempel på svar.
Du kan även justera parametrarna ”temperatur” och ”max_tokens” för att anpassa utdata efter dina behov.
En högre temperatur ökar slumpmässigheten i utdata, och vice versa. Om du vill att svaren ska vara mer fokuserade och precisa, välj en lägre temperatur. För mer kreativa svar, använd ett högre värde. Temperaturen kan variera mellan 0 och 2.
Precis som ChatGPT har API:et en gräns för antalet ord. Använd ”max_tokens” för att begränsa svarets längd. Observera att ett lågt värde på ”max_tokens” kan orsaka problem eftersom det kan avbryta utdata i mitten av en mening.
För närvarande är gränsen för gpt-3,5-turbo 4096 tokens, medan gpt-4 har en gräns på 8192. De senaste modellerna gpt-3.5-turbo-0125 och gpt-4-turbo-preview har gränser på 16 385 respektive 128 000 tokens.
Efter önskemål från utvecklare har OpenAI introducerat ett JSON-läge som instruerar modellen att alltid returnera ett JSON-objekt. Du aktiverar JSON-läge genom att sätta ”response_format” till ”{ “type”: “json_object” }”. Funktionen är för närvarande endast tillgänglig för de senaste modellerna: gpt-3.5-turbo-0125 och gpt-4-turbo-preview.
Du kan konfigurera modellen ytterligare med de andra parametrarna som tillhandahålls av OpenAI.
Använda ChatGPT API för Textkomplettering
Förutom konversationsuppgifter fungerar Chat Completions API (ChatGPT API) utmärkt för textkomplettering. Följande exempel visar hur du kan konfigurera ChatGPT API för textkomplettering:
from openai import OpenAI from dotenv import load_dotenv load_dotenv() client = OpenAI() response = client.chat.completions.create( model = "gpt-3.5-turbo", temperature = 0.8, max_tokens = 3000, messages = [ {"role": "system", "content": "Du är en poet som skapar dikter som väcker känslor."}, {"role": "user", "content": "Skriv en kort dikt för programmerare."} ] ) print(response.choices[0].message.content)
Du behöver inte ens ange systemrollen. Att bara ge en användarfråga kommer att fungera:
messages = [ {"role": "user", "content": "Skriv en kort dikt för programmerare."} ]
Körs koden ovan genereras en dikt för programmerare, till exempel:
Prissättning för ChatGPT API
Prissättningen för ChatGPT API baseras på en ”kostnad per 1000 tokens”. För anrop som handlar om chattkomplettering beräknas priset på antalet tokens som skickas till API:et plus antalet tokens som returneras. En token kan jämföras med en bit av ett ord, där 1000 tokens motsvarar ungefär 750 ord.
Modell | Inmatning | Utdata |
gpt-4-0125-preview | $0,01 / 1K tokens | $0,03 / 1K tokens |
gpt-4-1106-preview | $0,01 / 1K tokens | $0,03 / 1K tokens |
gpt-4-1106-vision-preview | $0,01 / 1K tokens | $0,03 / 1K tokens |
gpt-4 | $0,03 / 1K tokens | $0,06 / 1K tokens |
gpt-4-32k | $0,06 / 1K tokens | $0,12 / 1K tokens |
gpt-3.5-turbo-0125 | $0,0005 / 1K tokens | $0,0015 / 1K tokens |
gpt-3.5-turbo-instruktion | $0,0015 / 1K tokens | $0,0020 / 1K tokens |
Observera att priserna kan komma att förändras med modellens utveckling.
Skapa nästa generations appar med ChatGPT API
ChatGPT API har öppnat upp möjligheter för utvecklare över hela världen att skapa innovativa produkter med AI. Du kan använda detta verktyg för att utveckla applikationer som berättelsegeneratorer, kodöversättare, marknadsföringsverktyg eller sammanfattare av text. Din fantasi är gränsen när det gäller att bygga applikationer med denna teknik.