· tutorial · Przeczytasz w 5 min

Jak uzyskać dostęp do GPT-4 przez API OpenAI?

Możliwości twojej aplikacji mogą znacząco wzrosnąć dzięki integracji z modelami językowymi

TL;DR

Dostęp do OpenAI API jest w 2024r. w pełni otwarty. Całą integrację opisujemy w poniższym artkule.

UPDATE: Artykuł zaktualizowany w lipcu 2024r.

Nowe możliwości

Publicznie dostępne modele generatywnej sztucznej inteligencji sprawiają, że wzbogacanie projektów o nowe funkcje oparte o tekst, obrazy czy audio stało się zaskakująco łatwe. To, co kiedyś wymagało zespołu naukowców i budowanych w zaciszu biura modeli sztucznej inteligencji, teraz jest realizowane w zdecydowanie bardziej dostępny sposób.

W tym artykule dowiesz się, jak przy pomocy modeli takich jak GPT-3.5, GPT-4 a także GPT-4o realizować analizę fragmentu tekstu, ekstrakcję najważniejszych pojęć, podsumowywanie dokumentów i wyszukiwanie podobieństw pomiędzy zbiorami danych. To wszystko za niewielką opłatą, która jest w zasięgu każdego, kto chce zacząć korzystać z tych narzędzi.

Dostęp do OpenAI API

Jeszcze kilka miesięcy temu dostęp do platformy OpenAI wymagał zapisu na listę oczekujących. W 2024r. to ograniczenie zostało zniesione, a przygotowanie do integracji sprowadza się do założenia konta na stronie platform.openai.com. Zacznijmy od tego kroku, a następnie przejdźmy do konfiguracji API i pierwszych zapytań do modelu:

Strona główna

Konto założysz klikając na przycisk “Sign up” widoczny w górnej części interfejsu. Sam proces wymaga podania adresu email, a także podstawowych danych takich jak imię i nazwisko. Na tym etapie nie trzeba jeszcze konfigurować płatności, co dla niezdecydowanych może być dodatkowym atutem.

Po potwierdzeniu adresu email możemy przejść do przeglądu API i pierwszych zapytań do modelu.

Środowisko testowe

Po założeniu konta, a jeszcze przed skonfigurowaniem płatności, mamy już dostęp do pełnej dokumentacji oraz tzw. Playgroundu w trybie read-only, czyli środowiska testowego.

Playground

W tym miejscu możesz zobaczyć, jakie parametry będą akceptować wystawione modele. Dostępne elementy interfejsu użytkownika, takie jak pola do sterowania tzw. temperaturą, mechanizmem generowania tokenów czy definiowaniem funkcji, bezpośrednio przekładają się na integracje z poziomu kodu. Widać to zresztą po kliknięciu przycisku “View code” znajdującego się poniżej avatara użytkownika:

Playground - Podgląd kodu

Aby skorzystać z tego środowiska, a także realizować docelowe integracje, musimy jednak przejść do konfiguracji płatności i zdefiniowania limitów korzystania z API.

Konfiguracja płatności

Do momentu skonfigurowania płatności, nasze konto ma status testowy. Możemy podglądać Playground i dokumentację, ale same modele są niedostępne.

Aby to zmienić, wejdźmy na stronę płatności i dodajmy szczegóły karty, z której planujemy korzystać:

Konfiguracja płatności

Po dodaniu karty, musimy jeszcze doładować nasze konto. Platforma OpenAI działa teraz w trybie “pay-as-you-go”, co oznacza, że płacimy tylko za wykorzystane zasoby. Minimalna wartość doładowania to 5$ - od takiej kwoty możemy rozpocząć korzystanie z samego API.

Konfiguracja płatności - doładowanie

Od teraz możemy już korzystać z wszystkich modeli, a także testować komunikację poprzez Playground:

Playground - wiadomości testowe

Integracje z modelami OpenAI

Pierwszą rzeczą, jaką musimy wykonać do zbudowania technicznej integracji, jest wygenerowanie klucza dostępowego. Można go w łatwy sposób utworzyć z poziomu ustawień konta:

Klucz dostępowy

Mając wygenerowany klucz i będąc na koncie płatnym nie pozostaje nam nic innego, jak przejść do dokumentacji samego modelu aby zapoznać się z właściwą integracją. Modele językowe, takie jak GPT-3.5, GPT-4 a także GPT-4o są częścią tzw. Chat API - właśnie tam znajdziesz szczegóły i parametry, które musisz przekazać w zapytaniu do modelu.

Przykładowe zapytanie w projekcie opartym o JavaScript i Node.js może wyglądać następująco:

import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: process.env['OPENAI_API_KEY'],
});

async function main() {
  const completion = await openai.chat.completions.create({
    messages: [
      { role: 'system', content: 'Tłumaczysz wiadomości z języka polskiego na język francuski.' },
      { role: 'user', content: 'Dzień dobry!' },
    ],
    model: 'gpt-4o',
  });

  console.log(completion.choices[0]);
}

main();

Paczka z której korzystamy to openai. Do autentykacji z API wykorzystuje ona zmienną środowiskową OPENAI_API_KEY z wcześniej wygenerowanym kluczem. Możemy ją podawać w sposób jawny, tak jak powyżej, albo skorzystać z konwencji i pominąć (rekomendujemy jawne podawanie zmiennych).

Przy pomocy tzw. Completions API realizujemy komunikację z modelem. Sam model generuje wiadomości na podstawie tablicy messages starając się kontynuować przekazany tekst w najlepszy możliwy sposób. Aby odróżnić wiadomości techniczne od tych, które podaje użytkownik, korzystamy z trzech ról:

  • System - wiadomości techniczne, działające jako zbiór reguł i oczekiwań względem całej konwersacji
  • User - wiadomości pochodzące od użytkownika
  • Assistant - wiadomości wygenerowane przez model

Dodatkowe parametry, które możesz przekazać do zapytania, zostały opisane w tym miejscu.

Na początku możesz testować nawet najprostsze komunikaty - podany fragment kodu w zupełności wystarczy do stworzenia pierwszych eksperymentów opartych o LLMy. Na tym etapie nie pozostaje ci nic innego, jak tylko uruchomić wyobraźnię i zaprojektować takie rozwiązania oparte o modele językowe, które pokażą ci prawdziwy potencjał sztucznej inteligencji.

Ile to kosztuje?

Biorąc pod uwagę zaawansowane możliwości samego modelu, cennik zdefiniowany przez OpenAI nie jest szczególnie kontrowersyjny. Podstawą rozliczenia jest liczba tzw. tokenów wykorzystywanych w komunikacji z modelem, a na całościowy koszt wpływa zarówno rozmiar wiadomości od użytkownika, jak i rozmiar generowanych odpowiedzi.

Czym jest token? Token to podstawowa jednostka informacji (słów, znaków) którą wykorzystują modele językowe do generowania i przewidywania tekstu. Zgodnie z dokumentacją OpenAI można założyć, że tysiąc tokenów to ok. 750 słów. Wg Wikipedii, przeciętna książka w języku angielskim zawiera ok. 250-300 słów na stronę, a więc mniej niż pięćset tokenów.

Dlaczego to ważne? Dlatego, że ceny zdefiniowane są właśnie w relacji do wykorzystywanych tokenów. Na dzisiaj rozliczenie za najlepszy model (GPT-4o) wygląda następująco:

Cennik GPT-4o

Do liczenia tokenów możesz wykorzystać narzędzia takie jak:

Mając takie dane, możesz teraz w łatwy sposób zdefiniować swój budżet korzystania z modeli językowych (np. 50zł / miesiąc) i sprawdzić, ile tekstu możesz faktycznie przeprocesować z narzędziem, które dzisiaj opisuję.

Pamiętaj również, że nie jesteś ograniczony do jednego modelu. Możesz korzystać z kilku jednocześnie (np. GPT-3.5 w prostych zadaniach, a GPT-4o w złożonych), a także testować różne konfiguracje i parametry zapytań. Wszystko to pozwala na zbudowanie złożonych integracji, które wzbogacą twoje projekty o nowe funkcje i możliwości przy zachowaniu optymalnego kosztu integracji.

Co dalej?

Możliwości, jakie dają nam współczesne modele językowe, są naprawdę zdumiewające.

Za stosunkowo niewielką opłatą możemy realizować złożone integracje i analizę rozmaitych formatów danych, a głównym ograniczeniem jest na dzisiaj programista i jego wyobraźnia. Co więcej, korzystając z API firmy OpenAI uzyskujemy dostęp nie tylko do GPT-3.5/4, ale również do modeli przetwarzających obrazy (DALL-E) lub dźwięk (Whisper), co podnosi możliwości całej integracji o kolejne kilka poziomów.

Zobacz artykuł, w którym opisujemy wykorzystanie AI w kontekście transkrypcji naszych podcastów - znajdziesz go w tym miejscu.

Podaj dalej:

Newsletter Opanuj AI

Subskrybuj ręcznie selekcjonowane materiały z obszarów AI i rynku nowych technologii, które pomagają dowozić lepsze rezultaty i budować kulturę innowacji

Zapisując się do newslettera akceptujesz naszą politykę prywatności.

3 linki co poniedziałek
Otrzymasz od nas podsumowanie najważniejszych informacji z branży AI i nowych technologii, które warto znać. Gwarantujemy zero spamu i tylko wartościowe treści.
Ręczna selekcja
Materiały zamieszczane w newsletterze przechodzą proces selekcji, gdzie wymagamy jakości i możliwej do wykorzystania wiedzy.