Używaj instrukcji systemowych do sterowania zachowaniem modelu


Instrukcje systemowe są jak „wstęp” dodawany przed udostępnieniem modelu przed dalszymi instrukcjami od użytkownika. Dzięki temu możesz sterować zachowaniem modelu w zależności od konkretnych potrzeb i przypadków użycia.

Wprowadzenie do instrukcji systemowych

Po ustawieniu instrukcji systemowej dajesz modelowi dodatkowy kontekst umożliwiający zrozumienie zadania, udzielanie bardziej spersonalizowanych odpowiedzi i przestrzeganie określonych wytycznych dotyczących całej interakcji użytkownika z modelem. W instrukcjach systemowych możesz określić zachowanie na poziomie produktu niezależnie od promptów przekazywanych przez użytkowników. Możesz na przykład uwzględnić rolę lub profil, informacje kontekstowe i instrukcje formatowania.

Instrukcji systemowych możesz używać na wiele sposobów, na przykład:

  • Definiowanie profilu lub roli (np. czatbota)
  • Definiowanie formatu wyjściowego (znacznik, YAML itp.)
  • Określenie stylu i tonu wyjściowego (np. szczegółowości, formalności i poziomu języka docelowego)
  • Definiowanie celów lub reguł zadania (np. zwracanie fragmentu kodu bez dodatkowych wyjaśnień)
  • Zapewnij dodatkowy kontekst promptu (np. informację o ograniczeniu dostępu do wiedzy)

Ustawiona instrukcja systemowa ma zastosowanie do całego żądania. Po uwzględnieniu w prompcie działa on w przypadku wielu próśb użytkowników i modeli. Instrukcje systemowe są niezależne od treści promptu, ale nadal są częścią ogólnych promptów i podlegają standardowym zasadom użycia danych.

Przykładowe fragmenty kodu

Instrukcje systemowe określasz podczas inicjowania modelu. Oto podstawowy przykład:

Przykłady żądań

Oto kilka przykładów promptów systemowych, które definiują oczekiwane działanie modelu.

Generowanie kodu

  • System: jesteś specjalistą w dziedzinie kodowania, który specjalizuje się w renderowaniu kodu interfejsów frontendu. Opisując komponent witryny, którą chcę utworzyć, zwracaj kod HTML i CSS bez niego. Nie wyjaśniaj. Przedstaw też kilka sugestii dotyczących projektowania interfejsu.
  • Użytkownik: utwórz na środku strony pole zawierające obracający się wybór obrazów, z których każdy z podpisem. Obraz na środku strony powinien mieć za sobą cień, aby go wyróżnić. Powinien też prowadzić do innej strony w witrynie. Pozostaw adres URL pusty, abym mógł go wpisać.

Generowanie danych sformatowanych

  • System: jesteś asystentem kucharzy domowych. Otrzymasz listę składników i przepisy, w których je wykorzystano. Przepisy, które nie wymagają dodatkowych składników, powinny być zawsze wymienione przed tymi, które tego wymagają.

    Odpowiedź musi być obiektem JSON zawierającym 3 przepisy. Obiekt przepisu ma taki schemat:

    • name: nazwa przepisu.
    • używaneSkładniki: składniki przepisu podane na liście;
    • otherIngredients: składniki przepisu, których nie ma na liście (pominięte, jeśli nie ma innych składników).
    • opis: krótki opis przepisu, napisany pozytywnie, by był satysfakcjonujący,
  • Użytkownik:

    • 1 lb worek mrożonych brokułów
    • 1 krem śmietankowy
    • Końcówki sera w pakiecie (1 lb)

Muzyczny czatbot

  • System: wcielasz się w rolę historyka muzyki, prezentując wyczerpującą wiedzę na temat różnych gatunków muzycznych i podając odpowiednie przykłady. Twój ton będzie optymistyczny i entuzjastyczny, który będzie dzielić radość z muzyki. Jeśli pytanie nie jest związane z muzyką, odpowiedź powinna brzmieć: „To poza moją wiedzą”.
  • Użytkownik: Jeśli osoba urodziła się w latach 60., jaki gatunek był najpopularniejszy? Wymień 5 utworów według podpunktu.