ChatGPT API – integracja
Jak zintegrować API ChatGPT z własnymi projektami i automatyzacjami?
Projekt-Plan
Dlaczego: Bez aktywnego konta i podpiętej metody płatności API nie będzie zwracać odpowiedzi (błąd 429 lub 401).
Jak:
- Zarejestruj się na platformie OpenAI API.
- Przejdź do sekcji 'Settings' -> 'Billing'.
- Dodaj metodę płatności i wpłać minimalny depozyt (np. 5 USD), aby aktywować dostęp do modeli takich jak GPT-4o.
Gotowe, gdy: Masz dodatnie saldo na koncie OpenAI.
Dlaczego: Zapobiega to niekontrolowanym kosztom w przypadku błędów w kodzie (np. nieskończonych pętli).
Jak:
- Wejdź w 'Settings' -> 'Limits'.
- Ustaw 'Monthly budget threshold' (np. 10 USD) oraz 'Hard limit', po którym API przestanie działać.
Gotowe, gdy: Limity są aktywne i widoczne w panelu.
Dlaczego: Klucz API jest Twoim unikalnym identyfikatorem umożliwiającym autoryzację żądań.
Jak:
- Przejdź do 'API Keys'.
- Kliknij 'Create new secret key'.
- Skopiuj go natychmiast i zapisz w bezpiecznym miejscu (nie będzie wyświetlony ponownie).
Gotowe, gdy: Posiadasz skopiowany ciąg znaków zaczynający się od 'sk-'.
Dlaczego: Python to najpopularniejszy język do integracji AI dzięki oficjalnemu wsparciu SDK.
Jak:
- Pobierz Pythona (wersja 3.9+).
- W terminalu wpisz:
pip install openai python-dotenv. - Sprawdź instalację komendą
pip show openai.
Gotowe, gdy: Biblioteka openai jest widoczna na liście zainstalowanych pakietów.
Dlaczego: Nigdy nie wpisuj klucza API bezpośrednio w kodzie, aby uniknąć jego wycieku (np. na GitHub).
Jak:
- W folderze projektu stwórz plik o nazwie
.env. - Wpisz w nim:
OPENAI_API_KEY=twoj_klucz_tutaj. - Dodaj
.envdo pliku.gitignore.
Gotowe, gdy: Klucz jest odseparowany od głównego kodu źródłowego.
Dlaczego: Nowa wersja biblioteki (v1.0+) wymaga stworzenia instancji klienta.
Jak:
- Użyj
from openai import OpenAI. - Załaduj klucz przez
os.getenv('OPENAI_API_KEY'). - Stwórz obiekt
client = OpenAI().
Gotowe, gdy: Skrypt uruchamia się bez błędów importu.
Dlaczego: Testuje podstawową łączność z modelem GPT-4o-mini.
Jak:
- Wywołaj
client.chat.completions.create(). - Zdefiniuj model (np. 'gpt-4o-mini') oraz listę wiadomości
messages. - Wydrukuj
response.choices[0].message.content.
Gotowe, gdy: Otrzymasz tekstową odpowiedź od AI w konsoli.
Dlaczego: Definiuje zachowanie i ton odpowiedzi modelu.
Jak:
- W liście
messagesdodaj słownik:{"role": "system", "content": "Jesteś ekspertem od..."}. - Przetestuj, jak zmiana instrukcji wpływa na odpowiedzi.
Gotowe, gdy: Model odpowiada zgodnie z narzuconą rolą.
Dlaczego: Kontrolujesz kreatywność (Temperature) oraz długość i koszt odpowiedzi (Max Tokens).
Jak:
- Ustaw
temperature=0.7dla balansu lub0.2dla precyzji. - Ustaw
max_tokens=500, aby ograniczyć zużycie.
Gotowe, gdy: Odpowiedzi mają przewidywalną długość i stopień zmienności.
Dlaczego: API jest bezstanowe – musisz przesyłać poprzednie wiadomości, aby model 'pamiętał' kontekst.
Jak:
- Stwórz listę
history. - Po każdej odpowiedzi dodawaj do niej zarówno pytanie użytkownika, jak i odpowiedź asystenta.
- Przesyłaj całą listę w kolejnym żądaniu.
Gotowe, gdy: Możesz zadać pytanie nawiązujące do poprzedniej wypowiedzi.
Dlaczego: API może zawieść z powodu braku sieci, przekroczenia limitów lub błędów serwera.
Jak:
- Użyj bloku
try...except. - Przechwyć
openai.RateLimitErrororazopenai.APIConnectionError. - Zaimplementuj proste ponowienie próby (retry logic).
Gotowe, gdy: Program nie wyłącza się przy chwilowym braku internetu.
Dlaczego: Poprawia User Experience – użytkownik widzi tekst w miarę jego generowania, zamiast czekać na całość.
Jak:
- Ustaw parametr
stream=True. - Iteruj po obiekcie odpowiedzi:
for chunk in response: .... - Wyświetlaj
chunk.choices[0].delta.content.
Gotowe, gdy: Tekst pojawia się na ekranie słowo po słowie.
Dlaczego: Pozwala na automatyzację bez pisania pełnego backendu (np. auto-odpowiedzi e-mail).
Jak:
- Użyj modułu 'HTTP' lub dedykowanego modułu 'OpenAI' w Make.com.
- Skonfiguruj połączenie używając swojego klucza API.
- Zmapuj dane wejściowe (np. z Google Sheets) do pola 'Prompt'.
Gotowe, gdy: Automatyzacja pobiera dane, wysyła do API i zapisuje wynik.
Dlaczego: Krótsze i konkretniejsze prompty zużywają mniej tokenów wejściowych.
Jak:
- Usuń zbędne uprzejmości z instrukcji systemowych.
- Używaj formatowania (np. Markdown), aby model szybciej rozumiał strukturę.
- Rozważ użycie modelu GPT-4o-mini dla prostych zadań klasyfikacji.
Gotowe, gdy: Średni koszt na zapytanie spadnie przy zachowaniu jakości.