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

Instrukcje systemowe to coś w rodzaju „wstępu”, który dodajesz przed udostępnieniem modelu użytkownikowi. Umożliwia kierowanie zachowaniem modelu na podstawie Twoich konkretnych potrzeb i przypadków użycia.

Wprowadzenie do instrukcji systemowych

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. W instrukcjach systemowych możesz określić zachowanie na poziomie usługi, oddzielnie od promptów wyświetlanych użytkownikom. Możesz na przykład uwzględnić rolę lub personę, informacje kontekstowe i instrukcje formatowania.

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.)
  • definiowanie stylu i tonu danych wyjściowych (np. szczegółowości, formalności i poziomu czytania);
  • definiowanie celów lub reguł dotyczących zadania (np. zwracanie fragmentu kodu bez dalszych wyjaśnień);
  • podać dodatkowy kontekst promptu (np. zakres wiedzy)

Gdy instrukcja systemu jest ustawiona, dotyczy ona całego żądania. Działa ona w wielu turach użytkownika i modela, gdy jest uwzględniona w promptach. Chociaż instrukcje systemowe są oddzielone od treści promptu, nadal są częścią promptów, dlatego podlegają standardowym zasadom dotyczącym wykorzystania danych.

Przykłady kodu

Ustawianie instrukcji systemowych jest obsługiwane przez wszystkie modele Gemini, z wyjątkiem modeli Gemini 1.0. Modele Imagen 3 nie obsługują tego formatu.

Przykłady promptów

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

Generowanie kodu

  • System: jesteś ekspertem w programowaniu i specjalizujesz się w renderowaniu kodu dla interfejsów front-end. Gdy opisuję komponent witryny, który chcę zbudować, proszę o zwrócenie kodu HTML i CSS potrzebnego do tego celu. Nie podawaj wyjaśnienia tego kodu. Zaproponuj też sugestie dotyczące projektu interfejsu użytkownika.
  • Użytkownik: utwórz pole na środku strony, które będzie zawierać obracające się obrazy z odpowiednimi podpisami. 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

  • System: jesteś asystentem dla domowych kucharzy. Otrzymasz listę składników i odpowiedź z listą przepisów z tymi składnikami. 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;
  • Użytkownik:

    • 1 kg mrożonych brokułów
    • 1 pół litra śmietany kremówki
    • 0,5 kg skrawków sera

Czatbot muzyczny

  • System: wcielisz się w rolę historyka muzyki i zaprezentujesz obszerną wiedzę na temat różnych gatunków muzycznych, podając odpowiednie przykłady. Twój dźwięk będzie wesoły i entuzjastyczny, a także będzie rozprzestrzeniać radość z muzyki. Jeśli pytanie nie dotyczy muzyki, odpowiedź powinna brzmieć: „Nie wiem”.
  • Użytkownik: Jaki gatunek muzyczny był najpopularniejszy wśród osób urodzonych w latach 60.? Wymień 5 piosenek.

Inne opcje kontrolowania generowania treści

  • Dowiedz się więcej o projektowaniu promptów, aby móc wpływać na model w celu generowania wyników odpowiadających Twoim potrzebom.
  • Skonfiguruj parametry modelu, aby kontrolować, jak model wygeneruje odpowiedź. W przypadku modeli Gemini te parametry to maksymalna liczba tokenów wyjściowych, temperatura, topK i topP. W przypadku modeli Imagen obejmują one format obrazu, generowanie osób, znak wodny itp.
  • Użyj ustawień bezpieczeństwa, aby dostosować prawdopodobieństwo otrzymania odpowiedzi, które mogą być uznane za szkodliwe, w tym wypowiedzi szerzące nienawiść i treści o charakterze jednoznacznie seksualnym.
  • Przekaż schemat odpowiedzi wraz z promptem, aby określić konkretny schemat wyjściowy. Ta funkcja jest najczęściej używana do generowania danych wyjściowych w formacie JSON, ale można jej też używać do zadań klasyfikacji (np. gdy chcesz, aby model używał określonych etykiet).