Jak korzystać z API ChatGPT

Photo of author

By maciekx

Istotne informacje na temat korzystania z API ChatGPT

  • Firma OpenAI udostępniła interfejs API dla ChatGPT, umożliwiając programistom włączanie funkcji ChatGPT do tworzonych przez siebie aplikacji.
  • Aby rozpocząć pracę, niezbędny jest klucz API OpenAI oraz środowisko programistyczne z odpowiednimi bibliotekami.
  • API ChatGPT umożliwia realizację zadań zarówno z zakresu prowadzenia konwersacji, jak i generowania tekstu, otwierając szerokie spektrum zastosowań.

Wraz z premierą API, OpenAI udostępniło potencjał ChatGPT szerokiej publiczności. Teraz integracja funkcji ChatGPT z własnymi aplikacjami jest prostsza niż kiedykolwiek.

Poniższe kroki pomogą Ci rozpocząć, niezależnie od tego, czy chcesz dodać ChatGPT do istniejącej aplikacji, czy też stworzyć całkowicie nowe rozwiązanie.

1. Jak uzyskać klucz API OpenAI

Aby móc korzystać z API ChatGPT, konieczne jest zdobycie klucza API.

  • Zarejestruj się lub zaloguj na oficjalnej platformie OpenAI.
  • Po zalogowaniu, z menu po lewej stronie wybierz opcję „Klucze API”.
  • Następnie naciśnij przycisk „Utwórz nowy tajny klucz”, aby wygenerować swój klucz.
  • Pamiętaj, że klucza API nie będzie można ponownie wyświetlić, dlatego należy go skopiować i bezpiecznie zapisać.

Przykładowy kod wykorzystany w tym opracowaniu jest dostępny w repozytorium GitHub i jest udostępniany bezpłatnie na licencji MIT.

2. Konfiguracja środowiska programistycznego

Możesz korzystać z punktu końcowego API bezpośrednio lub użyć biblioteki Openai dla Pythona lub JavaScript, aby zacząć budować aplikacje wykorzystujące API ChatGPT. W tym przewodniku skupimy się na języku Python i bibliotece openai-python.

Kroki do wykonania:

  • Utwórz wirtualne środowisko Python.
  • Zainstaluj biblioteki openai i python-dotenv za pomocą menedżera pip:
    pip install openai python-dotenv
  • W głównym katalogu projektu utwórz plik .env, który będzie służył do bezpiecznego przechowywania klucza API.
  • W pliku .env ustaw zmienną OPENAI_API_KEY na wartość skopiowanego wcześniej klucza:
    OPENAI_API_KEY="YOUR_API_KEY"

Upewnij się, że Twój klucz API nie zostanie przypadkowo udostępniony, na przykład poprzez kontrolę wersji.
W tym celu dodaj plik .gitignore
do głównego katalogu projektu i umieść w nim „.env”, aby go ignorować.

3. Tworzenie zapytań do API ChatGPT

Modele GPT-3.5 Turbo, GPT-4 oraz GPT-4 Turbo, dostępne poprzez API OpenAI, są tymi samymi modelami, które napędzają ChatGPT. Potrafią one doskonale rozumieć i generować zarówno tekst, jak i kod w języku naturalnym. Model GPT-4 Turbo ma dodatkowo zdolność przetwarzania danych wejściowych w postaci obrazów, co otwiera nowe możliwości, takie jak analiza zdjęć, analiza dokumentów zawierających liczby oraz transkrypcja tekstu z obrazów.

Pamiętaj, że termin „API ChatGPT” jest ogólnym określeniem odnoszącym się do interfejsów API OpenAI, które wykorzystują modele oparte na GPT, w tym gpt-3.5-turbo, gpt-4 oraz gpt-4-turbo.

Interfejs API ChatGPT jest zoptymalizowany przede wszystkim pod kątem obsługi konwersacji, ale równie dobrze radzi sobie z zadaniami uzupełniania tekstu. Bez względu na to, czy potrzebujesz wygenerować kod, przetłumaczyć tekst na inny język, czy przygotować roboczą wersję dokumentu, ten interfejs API sprosta Twoim oczekiwaniom.

Aby uzyskać dostęp do API GPT-4, wymagane jest dokonanie płatności w wysokości co najmniej 1 USD. W przeciwnym razie możesz napotkać błąd informujący o tym, że model `gpt-4` nie istnieje lub nie masz do niego dostępu.

Wykorzystanie API do prowadzenia czatu

Aby przygotować model do obsługi konwersacji, należy go odpowiednio skonfigurować. Poniżej znajduje się przykład:

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": "Jesteś zabawnym komikiem, który opowiada suchary. Odpowiedź powinna być w formacie JSON."},
{"role": "user", "content": "Napisz suchar związany z liczbami."},
{"role": "assistant", "content": "Pytanie: Jak zrobić z 7 liczbę parzystą? Odpowiedź: Odejmij 's'."},
{"role": "user", "content": "Napisz jeden o programistach."}
]
)

API ChatGPT zwraca odpowiedź w następującym formacie:

Zawartość odpowiedzi w formacie JSON możesz uzyskać za pomocą tego kodu:

print(response.choices[0].message.content)

Uruchomienie powyższego kodu da następujący rezultat:

Ten przykład kodu ilustruje, jak wywołać API ChatGPT przy użyciu Pythona. Warto zauważyć, że model, bazując na otrzymanych podpowiedziach, zrozumiał kontekst („suchar taty”) oraz oczekiwany rodzaj odpowiedzi (forma pytań i odpowiedzi).

Kluczowym elementem konfiguracji jest parametr `messages`, który przyjmuje tablicę obiektów reprezentujących wiadomości. Każdy obiekt wiadomości zawiera `role` (rolę) oraz `content` (treść). Możesz wykorzystać trzy rodzaje ról:

  • `system`, która definiuje kontekst i sposób zachowania asystenta.
  • `user`, reprezentująca polecenia wydawane asystentowi. Zazwyczaj jest to zadanie użytkownika końcowego, ale możesz również zdefiniować domyślne polecenia użytkownika.
  • `assistant`, w której mogą być umieszczone przykładowe odpowiedzi.

Możesz również modyfikować parametry `temperature` (temperatura) i `max_tokens` (maksymalna liczba tokenów), aby uzyskać odpowiedź dopasowaną do swoich potrzeb.

Im wyższa wartość temperatury, tym bardziej losowa będzie odpowiedź i odwrotnie. Jeśli chcesz, aby odpowiedzi były bardziej skoncentrowane i przewidywalne, wybierz niższą temperaturę. Wyższa temperatura sprawi, że odpowiedzi będą bardziej kreatywne. Wartość temperatury mieści się w przedziale od 0 do 2.

Podobnie jak w przypadku ChatGPT, API również ma ograniczenie liczby słów. Parametr `max_tokens` służy do kontrolowania długości odpowiedzi. Ustawienie zbyt niskiej wartości `max_tokens` może skutkować obcięciem odpowiedzi w nieoczekiwanym momencie.

W chwili pisania tego tekstu, limit tokenów dla modelu `gpt-3.5-turbo` wynosi 4096, natomiast dla modelu `gpt-4` jest to 8192. Najnowsze modele, `gpt-3.5-turbo-0125` oraz `gpt-4-turbo-preview`, mają limity tokenów wynoszące odpowiednio 16 385 i 128 000.

W odpowiedzi na duże zapotrzebowanie ze strony programistów, OpenAI wprowadziło tryb JSON, który sprawia, że model zawsze zwraca obiekt JSON. Możesz włączyć tryb JSON, ustawiając `respond_format` na { „type”: „json_object” }. Aktualnie funkcja ta jest dostępna tylko w najnowszych modelach: `gpt-3.5-turbo-0125` i `gpt-4-turbo-preview`.

Możesz dodatkowo dostosować działanie modelu za pomocą innych parametrów opisanych w dokumentacji API OpenAI.

Wykorzystanie API ChatGPT do generowania tekstu

Oprócz prowadzenia wieloetapowych konwersacji, API Chat Completions (API ChatGPT) bardzo dobrze radzi sobie z generowaniem tekstu. Poniższy przykład pokazuje, jak skonfigurować API ChatGPT do generowania tekstu:

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": "Jesteś poetą, który tworzy wiersze wywołujące emocje."},
{"role": "user", "content": "Napisz krótki wiersz dla programistów."}
]
)

print(response.choices[0].message.content)

Nie jest nawet konieczne definiowanie roli systemowej i jej treści. Wystarczy udostępnić jedynie podpowiedź użytkownika.

messages = [
{"role": "user", "content": "Napisz krótki wiersz dla programistów."}
]

Uruchomienie powyższego kodu wygeneruje wiersz dla programistów, na przykład:

Cennik API ChatGPT

Ceny API ChatGPT są oparte na modelu „opłata za 1000 tokenów”. W przypadku zapytań dotyczących zakończenia czatu, koszt jest wyliczany na podstawie liczby tokenów wejściowych i tokenów wyjściowych zwracanych przez API. Dla uproszczenia, tokeny można traktować jako fragmenty słów, gdzie 1000 tokenów odpowiada mniej więcej 750 słowom.

Model

Wejście

Wyjście

gpt-4-0125-podgląd

0,01 USD / 1 tys. tokenów

0,03 USD / 1 tys. tokenów

gpt-4-1106-preview

0,01 USD / 1 tys. tokenów

0,03 USD / 1 tys. tokenów

podgląd-gpt-4-1106-vision

0,01 USD / 1 tys. tokenów

0,03 USD / 1 tys. tokenów

gpt-4

0,03 USD / 1 tys. tokenów

0,06 USD / 1 tys. tokenów

gpt-4-32k

0,06 USD / 1 tys. tokenów

0,12 USD / 1 tys. tokenów

gpt-3.5-turbo-0125

0,0005 USD / 1 tys. tokenów

0,0015 USD / 1 tys. tokenów

gpt-3.5-turbo-instrukcja

0,0015 USD / 1 tys. tokenów

0,0020 USD / 1 tys. tokenów

Pamiętaj, że ceny mogą ulec zmianie w miarę ulepszania modeli.

Twórz aplikacje przyszłości dzięki API ChatGPT

API ChatGPT otworzyło przed programistami na całym świecie nowe możliwości tworzenia innowacyjnych produktów, które wykorzystują potencjał sztucznej inteligencji.

Dzięki temu narzędziu możesz tworzyć aplikacje do generowania opowiadań, tłumaczenia kodu, tworzenia tekstów marketingowych czy streszczeń tekstów. Jedynym ograniczeniem w budowaniu aplikacji opartych na tej technologii jest Twoja wyobraźnia.


newsblog.pl