Osoby przyzwyczajone do korzystania z interfejsów czatowych, takich jak ChatGPT, często zakładają, że model pamięta poprzednie wiadomości także przy pracy przez API. To błędne przekonanie prowadzi do frustracji, gdy model nie nawiązuje do wcześniejszych odpowiedzi i zachowuje się, jakby każde zapytanie było pierwszym.
Jak działa pamięć w API
Modele językowe dostępne przez API są bezstanowe, co oznacza, że każde wywołanie jest osobną transakcją. Aby model miał dostęp do historii rozmowy, należy samodzielnie przekazywać poprzednie wiadomości w tablicy messages przy każdym kolejnym zapytaniu. Bez tego model nie wie, o czym była mowa wcześniej.
Praktyczne rozwiązanie
Wystarczy przechowywać listę wiadomości w zmiennej i przy każdym zapytaniu dołączać do niej nową wiadomość użytkownika oraz odpowiedź modelu. Następnie cała lista trafia do pola messages w kolejnym wywołaniu API. Większość przykładów w dokumentacji OpenAI pokazuje tę technikę w kilku linijkach kodu.
Po wdrożeniu tego wzorca rozmowy z modelem przez API stają się spójne i kontekstowe.