Bouw Je Eigen AI-gereedschappen in Python met behulp van de OpenAI API

Met OpenAI die nu modellen ondersteunt tot GPT-4 Turbo, hebben Python-ontwikkelaars een ongelooflijke kans om geavanceerde AI-functionaliteiten te verkennen. Deze tutorial biedt een gedetailleerd overzicht van hoe u de ChatGPT API integreert in uw Python-scripts, leidt u door de initiële opstellingsfases en leidt tot effectief API-gebruik.

De ChatGPT API verwijst naar de programmeerinterface die ontwikkelaars in staat stelt om te communiceren met en gebruik te maken van GPT-modellen voor het genereren van gespreksreacties. Maar het is eigenlijk gewoon OpenAI’s universele API die voor al hun modellen werkt.

Aangezien GPT-4 Turbo geavanceerder is en drie keer goedkoper dan GPT-4, is er nooit een betere tijd geweest om deze krachtige API in Python te gebruiken, dus laten we beginnen!

Table of Contents

Setting Up Your Environment

Om te beginnen, leiden we je door het instellen van je omgeving om te werken met de OpenAI API in Python. De eerste stappen omvatten het installeren van de benodigde bibliotheken, het instellen van API-toegang en het afhandelen van API-sleutels en authenticatie.

Installeren van noodzakelijke Python-bibliotheken

Voordat je begint, zorg ervoor dat Python op je systeem is geïnstalleerd. We raden aan om een virtuele omgeving te gebruiken om alles overzichtelijk te houden. Je kunt een virtuele omgeving maken met de volgende opdracht:

python -m venv chatgpt_env

Activeer de virtuele omgeving door te runnen:

  • chatgpt_env\Scripts\activate (Windows)
  • source chatgpt_env/bin/activate (macOS of Linux)

Vervolgens moet je de vereiste Python-bibliotheken installeren, inclusief de OpenAI Python-clientbibliotheek voor interactie met de OpenAI API en de python-dotenv-pakket voor het beheren van configuratie. Om beide pakketten te installeren, voer de volgende opdracht uit:

pip install openai python-dotenv

Instellen van OpenAI API-toegang

Om een OpenAI API-aanvraag te doen, moet je eerst je inschrijven op het platform van OpenAI en je unieke API-sleutel genereren. Volg deze stappen:

  1. Bezoek OpenAI’s API Key page en maak een nieuw account aan, of log in als je al een account hebt.
  2. Nadat je bent ingelogd, navigeer naar de sectie API-sleutels en klik op Create new secret key.
  3. Kopiëer de gegenereerde API-sleutel voor later gebruik. Anders zul je een nieuwe API-sleutel moeten genereren als je deze kwijtraakt. Je kunt API-sleutels niet bekijken via de OpenAI-website.

pagina met API-sleutels van OpenAI

Gegenereerde API-sleutel die nu kan worden gebruikt

API-sleutel en authenticatie

Nadat je je API-sleutel hebt verkregen, raden we aan deze op te slaan als een omgevingsvariabele voor beveiligingsdoeleinden. Gebruik de python-dotenv-pakket om omgevingsvariabelen te beheren. Volg deze stappen om een omgevingsvariabele met je API-sleutel in te stellen:

  1. Maak een bestand met de naam .env in de hoofdmap van je project.

  2. Voeg de volgende regel toe aan het .env bestand, vervang your_api_key door de werkelijke API-sleutel die je eerder hebt gekopieerd: CHAT_GPT_API_KEY=your_api_key.

  3. In je Python-code, laad de API-sleutel uit het .env bestand met behulp van de load_dotenv functie uit het python-dotenv-pakket:

  import openai
  from openai import OpenAI
  import os
  from dotenv import load_dotenv

  # Laad de API-sleutel uit het .env bestand
  load_dotenv()
  client = OpenAI(api_key=os.environ.get("CHAT_GPT_API_KEY"))

Opmerking: In de nieuwste versie van de OpenAI Python-bibliotheek moet je een OpenAI-client instantiëren om API-oproepen te doen, zoals hieronder te zien is. Dit is een verandering ten opzichte van eerdere versies, waar je direct wereldwijde methoden zou gebruiken.

Nu je je API-sleutel hebt toegevoegd en je omgeving is ingesteld en klaar voor het gebruik van de OpenAI API in Python. In de volgende secties van dit artikel zullen we onderzoeken hoe we met de API kunnen communiceren en chat-apps kunnen bouwen met behulp van deze krachtige tool.

Vergeet niet om het bovenstaande code-fragment toe te voegen aan elke code-sectie hieronder voordat je gaat uitvoeren.

Het gebruik van de OpenAI API in Python

Na het laden van de API uit het .env bestand, kunnen we hem echt gaan gebruiken binnen Python. Om de OpenAI API in Python te gebruiken, kunnen we API-oproepen doen met behulp van het client-object. Vervolgens kunnen we een reeks berichten als invoer naar de API sturen en een door het model gegenereerd bericht als uitvoer ontvangen.

Het maken van een eenvoudige ChatGPT-aanvraag

  1. Zorg ervoor dat je de voorgaande stappen hebt uitgevoerd: het aanmaken van een virtuele omgeving, het installeren van de benodigde bibliotheken en het genereren van je OpenAI geheime sleutel en .env bestand in de projectdirectory.

  2. Gebruik het volgende code-fragment om een eenvoudige ChatGPT-aanvraag in te stellen:

  # Maak een chatvoltooiing aan
  chat_completion = client.chat.completions.create(
      model="gpt-4",
      messages=[{"role": "user", "content": "query"}]
  )
  print(chat_completion.choices[0].message.content)

Hierbij is client.chat.completions.create een methodeaanroep op het client object. De chat eigenschap geeft toegang tot de chat-specifieke functionaliteiten van de API en completions.create is een methode die een aanvraag doet aan het AI-model om een antwoord of voltooiing te genereren op basis van de ingevoerde input.

Vervang de query door de prompt die u wilt uitvoeren en gebruik gerust een willekeurig ondersteund GPT-model in plaats van de bovenstaande GPT-4.

Foutafhandeling

Bij het maken van aanvragen kunnen verschillende problemen optreden, waaronder netwerkproblemen, overschrijding van de snelheidslimiet of andere niet-standaard responsstatuscodes. Daarom is het essentieel om deze statuscodes goed af te handelen. We kunnen Python’s try en except blokken gebruiken voor het behouden van de programmavolgorde en betere foutafhandeling:

# Probeer een chatvoltooiing aan te maken
try:
    chat_completion = client.chat.completions.create(
        model="gpt-4",
        messages=[{"role": "user", "content": "query"}],
        temperature=1,
        max_tokens=150  # Pas het aantal tokens aan zoals nodig
    )
    print(chat_completion.choices[0].message.content)

except openai.APIConnectionError as e:
    print("The server could not be reached")
    print(e.__cause__)

except openai.RateLimitError as e:
    print("A 429 status code was received; we should back off a bit.")

except openai.APIStatusError as e:
    print("Another non-200-range status code was received")
    print(e.status_code)
    print(e.response)

Let op: je hebt beschikbare krediettoekenningen nodig om een willekeurige model van de OpenAI API te kunnen gebruiken. Als meer dan drie maanden zijn verstreken sinds de oprichting van je account, zijn je gratis krediettoekenningen waarschijnlijk verlopen, en zul je extra kredieten moeten kopen (een minimum van $5).

Nu hier zijn enkele manieren waarop je je API-verzoeken verder kunt configureren:

  • Max Tokens. Beperk de maximale mogelijke uitvoerlengte volgens je behoeften door de max_tokens parameter in te stellen. Dit kan een kostensparende maatregel zijn, maar let erop dat dit gewoon de gegenereerde tekst afbreekt voorbij de limiet, niet de totale uitvoer korter maken.
  • Temperatuur. Pas de temperatuurparameter aan om de willekeur te beheersen. (Hogere waarden maken responsen diverser, terwijl lagere waarden consistentere antwoorden produceren.)

Als een parameter niet handmatig is ingesteld, gebruikt deze de standaardwaarde van het respectievelijke model, zoals 0 – 7 en 1 voor GPT-3.5-turbo en GPT-4, respectievelijk.

Naast de bovenstaande parameters zijn er talloze andere parameters en configuraties die je kunt aanbrengen om GPT’s mogelijkheden precies zo te gebruiken zoals je wilt. Het bestuderen van OpenAI’s API documentatie wordt aanbevolen voor referentie.

Toch zijn effectieve en contextuele prompts nog steeds noodzakelijk, ongeacht hoeveel parameterconfiguraties worden gedaan.

Geavanceerde Technieken in API-Integratie

In deze sectie gaan we geavanceerde technieken onderzoeken om de OpenAI API te integreren in uw Python-projecten, gericht op het automatiseren van taken, het gebruik van Python-aanvragen voor gegevensopname en het beheren van grote-schaal API-aanvragen.

Automatiseren van taken met de OpenAI API

Om uw Python-project efficiënter te maken, kunt u verschillende taken automatiseren met behulp van de OpenAI API. Je zou bijvoorbeeld de generatie van e-mailreacties, klantenservice antwoorden of inhoudscreatie kunnen automatiseren.

Hier is een voorbeeld van hoe u een taak kunt automatiseren met behulp van de OpenAI API:

def automated_task(prompt):
    try:
        chat_completion = client.chat.completions.create(
            model="gpt-4",
            messages=[{"role": "user", "content": prompt}],
            max_tokens=250
        )
        return chat_completion.choices[0].message.content
    except Exception as e:
        return str(e)

# Voorbeeldgebruik
generated_text = automated_task("Write an short note that's less than 50 words to the development team asking for an update on the current status of the software update")
print(generated_text)

Deze functie neemt een prompt in en retourneert de gegenereerde tekst als uitvoer.

Het gebruik van Python-aanvragen voor gegevensopname

U kunt de populaire requests-bibliotheek gebruiken om direct met de OpenAI API te communiceren zonder afhankelijk te zijn van de OpenAI-bibliotheek. Deze methode geeft u meer controle over get-aanvraag en flexibiliteit bij uw API-oproepen.

Het volgende voorbeeld vereist de requests-bibliotheek (als u deze niet heeft, voert u dan eerst pip install requests uit):

headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {api_key}',
}

data = {
    'model': 'gpt-4',  # Update naar het gewenste model
    'messages': [{'role': 'user', 'content': 'Write an interesting fact about Christmas.'}]
}

response = requests.post('https://api.openai.com/v1/chat/completions', headers=headers, json=data)
print(response.json())

Dit codefragment demonstreert het maken van een POST-aanvraag naar de OpenAI API, met headers en gegevens als argumenten. De JSON-respons kan worden geparset en in uw Python-project worden gebruikt.

Beheer van grote-schaal API-aanvragen

Bij het werken met grote projecten is het belangrijk om API-aanvragen efficiënt te beheren. Dit kan worden bereikt door technieken zoals batching, throttling en caching te integreren.

  • Batching. Combineer meerdere aanvragen in één API-oproep, gebruikmakend van de n parameter in de OpenAI-bibliotheek: n = aantal_benodigde_antwoorden.
  • Throttling. Implementeer een systeem om de snelheid waarmee API-oproepen worden gedaan te beperken, zodat er geen overmatige gebruik of overbelasting van de API optreedt.
  • Caching. Bewaar de resultaten van voltooide API-aanvragen om herhalende oproepen voor soortgelijke prompts of aanvragen te voorkomen.

Om API-aanvragen effectief te beheren, houdt uw gebruik bij en pas uw configuratie-instellingen dienovereenkomstig aan. Overweeg het gebruik van de time library om indien nodig vertragingen of time-outs tussen aanvragen toe te voegen.

Het toepassen van deze geavanceerde technieken in uw Python-projecten zal u helpen het meeste uit de OpenAI API te halen terwijl u efficiënte en schaalbare API-integratie garandeert.

Praktische toepassingen: OpenAI API in echte projecten

Het integreren van de OpenAI API in uw echte projecten kan talrijke voordelen bieden. In deze sectie bespreken we twee specifieke toepassingen: het integreren van ChatGPT in webontwikkeling en het bouwen van chatbots met ChatGPT en Python.

Integratie van ChatGPT in webontwikkeling

De OpenAI API kan worden gebruikt om interactieve, dynamische inhoud te creëren die is afgestemd op gebruikersvragen of behoeften. Je kunt bijvoorbeeld ChatGPT gebruiken om gepersonaliseerde productbeschrijvingen te genereren, aantrekkelijke blogposts te maken of veelgestelde vragen over je diensten te beantwoorden. Met de kracht van de OpenAI API en een beetje Python-code zijn de mogelijkheden eindeloos.

Overweeg dit eenvoudige voorbeeld van het gebruik van een API-oproep vanuit een Python-backend:

def generate_content(prompt):
    try:
        response = client.chat.completions.create(
            model="gpt-4",
            messages=[{"role": "user", "content": prompt}]
        )
        return response.choices[0].message.content
    except Exception as e:
        return str(e)

# Gebruik deze functie om inhoud te genereren
description = generate_content("Write a short description of a hiking backpack")

Je kunt vervolgens ook code schrijven om beschrijving te integreren met je HTML en JavaScript om de gegenereerde inhoud op je website weer te geven.

Het bouwen van chatbots met ChatGPT en Python

Chatbots die worden aangedreven door kunstmatige intelligentie beginnen een belangrijke rol te spelen bij het verbeteren van de gebruikerservaring. Door ChatGPT’s vaardigheden in natuurlijke taalverwerking te combineren met Python, kun je chatbots bouwen die context begrijpen en intelligent reageren op gebruikersinputs.

Overweeg dit voorbeeld voor het verwerken van gebruikersinvoer en het verkrijgen van een antwoord:

def get_chatbot_response(prompt):
    try:
        response = client.chat.completions.create(
            model="gpt-4",
            messages=[{"role": "user", "content": prompt}]
        )
        return response.choices[0].message.content
    except Exception as e:
        return str(e)

# Gebruikersinvoer opnemen vanaf de opdrachtregel
user_input = input("Enter your prompt: ")
response = get_chatbot_response(user_input)
print(response)

Maar omdat er geen lus is, zal het script eindigen na één keer uitvoeren, dus overweeg het toevoegen van conditionele logica. Bijvoorbeeld, we hebben een eenvoudige conditionele logica toegevoegd waarbij het script blijft zoeken naar gebruikersprompts totdat de gebruiker de stopwoordgroep “exit” of “quit” zegt.

Gezien de genoemde logica, zou onze volledige, definitieve code voor het uitvoeren van een chatbot op het OpenAI API-eindpunt er als volgt kunnen uitzien:

from openai import OpenAI
import os
from dotenv import load_dotenv

# Laad de API-sleutel uit het .env-bestand
load_dotenv()
client = OpenAI(api_key=os.environ.get("CHAT_GPT_API_KEY"))

def get_chatbot_response(prompt):
    try:
        response = client.chat.completions.create(
            model="gpt-4",
            messages=[{"role": "user", "content": prompt}]
        )
        return response.choices[0].message.content
    except Exception as e:
        return str(e)

while True:
    user_input = input("You: ")
    if user_input.lower() in ["exit", "quit"]:
        print("Chat session ended.")
        break
    response = get_chatbot_response(user_input)
    print("ChatGPT:", response)

Hier is hoe het eruit ziet wanneer het wordt uitgevoerd in de Windows Command Prompt.

Hopelijk zullen deze voorbeelden je helpen om te beginnen met experimenteren met de ChatGPT AI. Over het algemeen heeft OpenAI enorme mogelijkheden voor ontwikkelaars geopend om nieuwe, spannende producten te creëren met hun API, en de mogelijkheden zijn eindeloos.

OpenAI API beperkingen en prijzen

Hoewel de OpenAI API krachtig is, zijn er een paar beperkingen:

  • Gegevensopslag. OpenAI behoudt uw API-gegevens 30 dagen, en het gebruik van de API impliceert toestemming voor gegevensopslag. Wees voorzichtig met de gegevens die u stuurt.

  • Modelcapaciteit. Chatmodellen hebben een maximale tokenlimiet. (Bijvoorbeeld, GPT-3 ondersteunt 4096 tokens.) Als een API-aanvraag deze limiet overschrijdt, moet u tekst afkappen of weglaten.

  • Prijzen. De OpenAI API is niet gratis en volgt zijn eigen prijzenstelsel, los van de abonnementskosten voor het model. Voor meer prijsinformatie, verwijzen we naar OpenAI’s prijsdetails. (Opnieuw, GPT-4 Turbo is drie keer goedkoper dan GPT-4!)

Conclusie

Het verkennen van het potentieel van de ChatGPT model API in Python kan aanzienlijke vooruitgang brengen in verschillende toepassingen zoals klantenservice, virtuele assistenten en inhoudsgeneratie. Door deze krachtige API in uw projecten te integreren, kunt u de mogelijkheden van GPT-modellen soepel in uw Python-toepassingen benutten.

Als je deze tutorial leuk vond, zou je deze ook leuk kunnen vinden:

Source:
https://www.sitepoint.com/python-build-ai-tools-openai-api/