Jak podłączyć ChatGPT do własnej aplikacji przez API OpenAI
Źródło: Link
Źródło: Link
Używasz ChatGPT przez przeglądarkę. Kopiujesz odpowiedzi, wklejasz do swojej aplikacji, powtarzasz. Działa, ale to jak noszenie wody wiadrami, gdy możesz podłączyć rurę.
API OpenAI pozwala Ci wbudować ChatGPT bezpośrednio w Twoją aplikację, skrypt czy narzędzie. Nie musisz być programistą z dziesięcioletnim stażem – wystarczy podstawowa znajomość Pythona lub JavaScript. Pokażę Ci dokładnie, jak to zrobić.
Zanim przejdziesz do kodu, upewnij się, że masz:
Jeśli nigdy nie pracowałeś z API, spokojnie. API to po prostu sposób, w jaki Twoja aplikacja może "rozmawiać" z serwerem OpenAI. Wysyłasz zapytanie (prompt), dostajesz odpowiedź. Jak SMS, tylko między programami.
Klucz API to Twoje hasło dostępu do modeli OpenAI. Bez niego nic nie zrobisz.
Klucz wygląda mniej więcej tak: sk-proj-abc123def456.... Traktuj go jak hasło do banku – nie wrzucaj do publicznych repozytoriów na GitHubie, nie udostępniaj nikomu.
Najlepszy sposób: zmienne środowiskowe. W Pythonie używasz biblioteki python-dotenv, w Node.js – dotenv. Tworzysz plik .env w katalogu projektu:
OPENAI_API_KEY=sk-proj-twoj-klucz-tutaj
Dodajesz .env do .gitignore, żeby nie wrzucić go przypadkiem do repozytorium. Gotowe.
OpenAI udostępnia oficjalne biblioteki dla Pythona i JavaScript. Nie musisz ręcznie składać requestów HTTP – biblioteka robi to za Ciebie.
Otwierasz terminal i wpisujesz:
pip install openai python-dotenv
Jeśli używasz pip3, zamień pip na pip3. Instalacja zajmuje 10-20 sekund.
W terminalu wpisujesz:
npm install openai dotenv
Albo, jeśli wolisz yarn:
yarn add openai dotenv
Biblioteka waży kilka megabajtów, instalacja trwa chwilę.
Teraz konkret. Tworzysz plik, wklejasz kod, uruchamiasz. Zacznijmy od Pythona.
Tworzysz plik test_api.py i wklejasz:
import os
from openai import OpenAI
from dotenv import load_dotenv
# Ładujesz klucz API z pliku .env
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
# Wysyłasz zapytanie do GPT-4o-mini
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "Jesteś pomocnym asystentem."},
{"role": "user", "content": "Wyjaśnij, czym jest API w 2 zdaniach."}
],
temperature=0.7,
max_tokens=150
)
# Wyświetlasz odpowiedź
print(response.choices[0].message.content)
Zapisujesz, wracasz do terminala i uruchamiasz:
python test_api.py
Po 1-2 sekundach zobaczysz odpowiedź ChatGPT w terminalu. Działa.
Tworzysz plik test_api.js:
import OpenAI from 'openai';
import dotenv from 'dotenv';
// Ładujesz klucz API z pliku .env
dotenv.config();
const openai = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
// Wysyłasz zapytanie do GPT-4o-mini
const response = await openai.chat.completions.create({
model: 'gpt-4o-mini',
messages: [
{ role: 'system', content: 'Jesteś pomocnym asystentem.' },
{ role: 'user', content: 'Wyjaśnij, czym jest API w 2 zdaniach.' },
],
temperature: 0.7,
max_tokens: 150,
});
// Wyświetlasz odpowiedź
console.log(response.choices[0].message.content);
Zapisujesz, w terminalu wpisujesz:
node test_api.js
Odpowiedź pojawia się po chwili. Gotowe.
system to instrukcja dla AI, user to Twoje zapytanieJeśli chcesz dłuższą odpowiedź, zwiększasz max_tokens. Jeśli chcesz bardziej przewidywalne wyniki, obniżasz temperature.
ChatGPT nie pamięta poprzednich wiadomości automatycznie. Musisz sam przekazać całą historię konwersacji w każdym requeście.
W Pythonie:
messages = [
{"role": "system", "content": "Jesteś ekspertem od AI."}
]
# Pierwsza wymiana
messages.append({"role": "user", "content": "Czym jest API?"})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages
)
answer = response.choices[0].message.content
messages.append({"role": "assistant", "content": answer})
print("AI:", answer)
# Druga wymiana – AI pamięta kontekst
messages.append({"role": "user", "content": "Podaj przykład użycia."})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages
)
print("AI:", response.choices[0].message.content)
Dodajesz każdą wiadomość (Twoją i AI) do listy messages. W kolejnym requeście wysyłasz całą listę. AI widzi kontekst i odpowiada spójnie.
Uwaga: im dłuższa historia, tym więcej tokenów zużywasz. Jeśli konwersacja ma 50 wiadomości, płacisz za przetworzenie wszystkich 50 przy każdym nowym zapytaniu. Dlatego większość aplikacji ogranicza historię do ostatnich 10-20 wiadomości.
API OpenAI działa na zasadzie pay-as-you-go. Płacisz za tokeny – zarówno te w prompcie (input), jak i w odpowiedzi (output).
Dla porównania: 1000 tokenów to około 750 słów. Jeśli wysyłasz prompt na 200 słów i dostajesz odpowiedź na 300 słów, zużywasz ~650 tokenów. Z GPT-4o-mini to koszt około $0.0005 (pół centa).
Jeśli budujesz aplikację dla użytkowników, dodaj rate limiting – np. maksymalnie 10 requestów na użytkownika dziennie. Inaczej jeden bot może zjeść Ci cały budżet w godzinę.
API czasem zwraca błędy. Serwer OpenAI może być przeciążony, Twój klucz może być nieprawidłowy, możesz przekroczyć limit requestów. Musisz to obsłużyć.
from openai import OpenAI, OpenAIError
import time
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def ask_gpt(prompt, retries=3):
for attempt in range(retries):
try:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}]
)
return response.choices[0].message.content
except OpenAIError as e:
print(f"Błąd (próba {attempt + 1}/{retries}): {e}")
if attempt < retries - 1:
time.sleep(2 ** attempt) # Exponential backoff
else:
raise
# Używasz
try:
answer = ask_gpt("Czym jest machine learning?")
print(answer)
except OpenAIError:
print("API nie odpowiada. Spróbuj później.")
Ten kod próbuje 3 razy z rosnącymi przerwami (2s, 4s, 8s). Jeśli wszystkie próby zawiodą, zwraca błąd. To standard w pracy z API.
Zawsze loguj błędy. Jeśli coś nie działa, logi pokażą Ci dokładnie co i kiedy poszło nie tak.
Podstawowy request działa, ale API oferuje więcej kontroli. Oto parametry, które warto znać.
Przykład:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Napisz 5 pomysłów na posty na LinkedIn."}],
temperature=0.8,
presence_penalty=0.6,
frequency_penalty=0.5
)
Dostaniesz bardziej zróżnicowane pomysły, mniej powtórzeń.
Zamiast czekać na całą odpowiedź, możesz otrzymywać ją kawałek po kawałku – jak w interfejsie ChatGPT.
stream = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Opowiedz krótką historię."}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
Tekst pojawia się na bieżąco. Użytkownik nie czeka 10 sekund na odpowiedź – widzi, że coś się dzieje.
Jeśli potrzebujesz strukturalnych danych (np. lista zadań, dane kontaktowe), możesz wymusić format JSON:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "Zwracaj odpowiedzi w formacie JSON."},
{"role": "user", "content": "Podaj 3 pomysły na artykuł o AI."}
],
response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)
print(data)
AI zwróci poprawny JSON, który możesz od razu sparsować. Przydatne, jeśli budujesz automatyzacje.
Jeśli chcesz dowiedzieć się więcej o pracy z API Jeśli chodzi o programowania, sprawdź przewodnik po ChatGPT w programowaniu.
API OpenAI to nie zabawka – to narzędzie, które możesz wbudować w realne projekty. Oto kilka pomysłów.
Zamiast statycznego FAQ, budujesz chatbota, który odpowiada na pytania klientów. Używasz system message, żeby nauczyć AI kontekstu Twojej firmy:
{"role": "system", "content": "Jesteś asystentem firmy XYZ. Odpowiadasz na pytania o produkty, ceny i dostawy. Bądź konkretny i pomocny."}
Klient pyta, AI odpowiada w oparciu o Twoje instrukcje. Jeśli potrzebujesz więcej szczegółów, zobacz jak wdrożyć chatbot AI na stronie.
Masz długi raport (5000 słów). Wysyłasz go do API z promptem "Podsumuj kluczowe wnioski w 5 punktach". Dostajesz zwięzłe podsumowanie w 10 sekund. Możesz to zautomatyzować – np. każdy nowy raport w Google Drive automatycznie trafia do API i generuje podsumowanie.
Wpisujesz temat, AI generuje 5 wariantów posta na LinkedIn. Wybierasz najlepszy, edytujesz, publikujesz. Zamiast 30 minut na brainstorming, masz gotowe propozycje w 15 sekund. Więcej o tym w artykule jak używać ChatGPT do social media.
Masz plik CSV z danymi sprzedażowymi. Wysyłasz fragment do API z pytaniem "Jakie są 3 główne trendy w tych danych?". AI analizuje i zwraca wnioski. Nie musisz znać Pythona ani Excela – AI robi to za Ciebie.
Standardowe tłumacze Google nie rozumieją branżowego żargonu. API OpenAI możesz nauczyć kontekstu: "Tłumacz dokumenty medyczne z angielskiego na polski. Używaj polskiej terminologii medycznej". Dostajesz tłumaczenia, które mają sens w Twojej branży.
Nie. OpenAI wymaga przedpłaty minimum $5. Nowe konta dostawały kiedyś $5 kredytu startowego, ale ten program został zakończony w 2023 roku. Musisz dodać kartę i wpłacić środki.
Zależy od modelu i długości. Dla GPT-4o-mini: prompt na 500 tokenów + odpowiedź na 500 tokenów = ~1000 tokenów = $0.0004 (mniej niż pół centa). Dla GPT-4o to samo to $0.006 (pół centa). Jeśli robisz 1000 requestów miesięcznie, GPT-4o-mini to $0.40, GPT-4o to $6.
Od marca 2023 OpenAI domyślnie nie używa danych z API do trenowania modeli (chyba że wyrazisz zgodę). Dane są przechowywane maksymalnie 30 dni do celów monitoringu nadużyć. Nie wysyłaj jednak przez API danych osobowych klientów bez ich zgody – to naruszenie RODO. Więcej o bezpieczeństwie w przewodniku po prywatności w ChatGPT.
Tak. OpenAI pozwala na komercyjne wykorzystanie API. Musisz tylko przestrzegać ich Usage Policies – nie możesz generować nielegalnych treści, spamu, dezinformacji ani naruszać praw autorskich. Przeczytaj dokument "Usage Policies" na stronie OpenAI, zanim wypuścisz produkt.
Dostajesz błąd 429. OpenAI ma rate limity zależne od Twojego tieru (tier 1-5, w zależności od tego, ile wydałeś). Tier 1 (nowe konta): 500 requestów na minutę dla GPT-4o-mini, 10 000 requestów dziennie. Jeśli potrzebujesz więcej, wydaj więcej – po przekroczeniu $100 przechodzisz na tier 2 z wyższymi limitami.
Tak, ale po co? GPT-4o-mini jest szybszy, tańszy i lepszy niż GPT-3.5-turbo. Jedyny powód, żeby używać starszych modeli, to jeśli masz legacy kod, który na nich polega. Nowe projekty zaczynaj od GPT-4o-mini.
Ten poradnik to dopiero początek. W naszym kursie "Praktyczna AI" nauczysz się korzystać z ChatGPT, Claude i innych narzędzi AI w sposób systematyczny — od zera do zaawansowanego poziomu.
Sprawdź kurs →API OpenAI to bezpośredni dostęp do ChatGPT w Twojej aplikacji. Zamiast kopiować odpowiedzi ręcznie, wysyłasz request, dostajesz odpowiedź, automatyzujesz. Koszt? Grosze za request. Próg wejścia? 10-15 linijek kodu.
Jeśli nigdy nie pracowałeś z API, zacznij od GPT-4o-mini. Wygeneruj klucz, skopiuj przykład z tego artykułu, uruchom. Zobaczysz odpowiedź w terminalu po 2 sekundach.
Wejdź na platform.openai.com, wygeneruj klucz API i uruchom pierwszy przykład z tego poradnika. Za 5 minut będziesz mieć działający kod.
90 minut praktycznej wiedzy o AI. Pokaze Ci krok po kroku, jak zaczac oszczedzac 10 godzin tygodniowo dzieki sztucznej inteligencji.
Zapisz sie na webinar