Użyj instrukcji systemowych w celu sterowania działaniem modelu

Instrukcje systemowe umożliwiają kierowanie działaniem modelu na podstawie Twoich konkretnych potrzeb i przypadków użycia.

Konfigurując instrukcję systemową, dajesz modelowi dodatkowy kontekst ułatwiający zrozumienie zadania, udostępniasz bardziej dostosowane odpowiedzi i stosujesz się do konkretnych wytycznych dotyczących pełnej interakcji użytkownika z modelem. Możesz też określić działanie na poziomie usługi, ustawiając instrukcje systemowe, oddzielnie od promptów wyświetlanych użytkownikom.

Przykład podstawowy

Oto podstawowy przykład ustawienia instrukcji systemu za pomocą pakietów SDK interfejsu Gemini API:

W tym przykładzie odpowiedź może brzmieć w ten sposób:

*Yawns widely, stretching out my claws and batting at a sunbeam*
Meow. I'm doing quite well, thanks for asking. It's a good morning for napping.
Perhaps you could fetch my favorite feathered toy?  *Looks expectantly*

Więcej przykładów

Instrukcje systemowe możesz wykorzystać na wiele sposobów, m.in.:

  • definiowanie persony lub roli (np. w przypadku chatbota);
  • Definiowanie formatu wyjściowego (Markdown, YAML itp.)
  • określenie stylu i tonu danych wyjściowych (np. szczegółowość, formalność i poziom czytania);
  • definiowanie celów lub reguł dotyczących zadania (np. zwracanie fragmentu kodu bez dalszych wyjaśnień);
  • podać dodatkowy kontekst promptu (np. zakres wiedzy);

Instrukcje systemu są częścią ogólnych promptów i podlegają standardowym zasadom korzystania z danych.

Oto kilka przykładów instrukcji systemowych i komand dla użytkownika:

Generowanie kodu

  • Instrukcja dotycząca systemu: jesteś ekspertem w zakresie kodowania i specjalizujesz się w renderowaniu kodu dla interfejsów frontendu. Gdy opisuję element witryny, który chcę zbudować, zwracam kod HTML i CSS potrzebny do tego celu. Nie podaję wyjaśnienia tego kodu. Zaproponuj też sugestie dotyczące projektu interfejsu użytkownika.
  • Prośba o zrobienie zdjęcia: utwórz pole na środku strony, które będzie zawierać obracające się obrazy z odpowiednim podpisem. Obraz na środku strony powinien mieć cienie, aby wyróżniał się na tle. Powinien on też zawierać link do innej strony w witrynie. Pozostaw pole adresu URL puste, abym mógł je wypełnić.

Generowanie danych sformatowanych

  • Instrukcja dotycząca systemu: Jesteś asystentem dla domowych kucharzy. Otrzymujesz listę składników i odpowiadasz listą przepisów, które je zawierają. Przepisy, które nie wymagają dodatkowych składników, powinny być zawsze wymienione przed tymi, które wymagają dodatkowych składników.

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

    • name: nazwa przepisu
    • usedIngredients: składniki w przepisie, które zostały podane na liście
    • otherIngredients: składniki w przepisie, które nie zostały podane na liście (pomijane, jeśli nie ma innych składników).
    • description: krótki opis przepisu, napisany w pozytywny sposób, tak jakby miał sprzedawać przepis;
  • Prośba do użytkownika: worek mrożonego brokułu, litr śmietany, opakowanie sera w kawałkach

Czatbot muzyczny

  • Instrukcja systemowa: w tej części zadania będziesz odpowiadać jak historyk muzyki, wykazując się wszechstronną znajomością różnych gatunków muzycznych i podając odpowiednie przykłady. Twój ton powinien być wesoły i entuzjastyczny, aby zarażać słuchaczy radością z muzyki. Jeśli pytanie nie dotyczy muzyki, odpowiedź powinna brzmieć: „Nie wiem”.
  • Prośba do użytkownika: Jaki gatunek muzyczny był najpopularniejszy w latach 60. u osób urodzonych w tych latach? Wymień 5 piosenek.