Używaj edytora kodu do pisania i edytowania YAML w tematach

Tematy można pisać i edytować w edytorze kodu, który obsługuje YAML. YAML to skrót od "YAML Ain't Markup Language". Język YAML jest zazwyczaj używany do tworzenia plików konfiguracyjnych i jest łatwiejszy do odczytania niż XML czy JSON. W plikach YAML ma rozszerzenie .yaml lub .yml. Pliki YAML są formatowane za pomocą odstępów i wcięć, aby reprezentować struktury danych, takie jak ciągi znaków, liczby, wartości logiczne, listy i słowniki.

Aby uzyskać dostęp do edytora kodu z tematu, wybierz () Więcej na pasku narzędzi, a następnie wybierz Otwórz edytor kodu.

Obejrzyj to wideo, aby dowiedzieć się, jak korzystać z YAML w edytorze kodów:

Ważne

Każdy twórca może skorzystać z edytora kodu, aby eksplorować konfigurację tematu. Deweloperzy i użytkownicy zaawansowani mogą wybrać opcję projektowania i edycji w edytorze kodu. Należy zachować ostrożność podczas wprowadzania zmian w edytorze kodu. Błędy interpunkcyjne lub składniowe mogą powodować skomplikowane komunikaty o błędach lub przerwać bieżącą konwersację. Nasze zespoły pomocy technicznej nie są w stanie pomóc w naprawianiu błędów edytora kodu. Jeśli dopiero zaczynasz edytować YAML, zrób kopię tematu przed wprowadzeniem jakichkolwiek zmian.

Kiedy używać edytora kodu w tematach

Copilot Studio nie wymaga pisania YAML od zera. Zamiast tego jest generowane automatycznie podczas tworzenia obiektów na kanwie temat obiektów. Można następnie przejrzeć konfigurację w edytorze kodu, aby lepiej zrozumieć ustawienia, lub wprowadzić zmiany w pliku YAML. Oto przykładowe zastosowania edytora kodu:

  • Edytor kodu wyświetla pełną konfigurację tematu bez konieczności interakcji z poszczególnymi elementami dialogowymi w temacie. To miejsce, w którym można wyświetlić wszystkie ustawienia danego tematu.
  • Twórcy mogą zdecydować się na skopiowanie określonych węzłów z tematu i wklejenie ich do innych tematów zamiast używania ikon Kopiuj i Wklej. Może to być łatwiejsze niż wybranie wielu węzłów konfiguracji.
  • Twórcy mogą zdecydować się na zaktualizowanie identyfikatora przepływu Power Automate w YAML, zamiast czekać na synchronizację z menu Wywołanie i Akcja.
  • Twórcy mogą zdecydować się na sklonowanie i zmianę węzłów Pytanie lub Wiadomość, jeśli są one podobne. Jednak w takich przypadkach ważne jest, aby upewnić się, że wszystkie identyfikatory i zmienne są unikalne. Pamiętaj, aby zmodyfikować sklonowane identyfikatory, aby stały się unikalne.
  • Twórcy mogą zdecydować się na wykonanie prostych poprawek w edytorze kodu, takich jak dodanie terminu do fraz tematów, ponieważ wpisanie lub skopiowanie i wklejenie tekstu do kodu YAML może być szybsze.

Interpretacja YAML w edytorze kodu

Poniższy obrazek przedstawia przykładowy blok YAML.

Zrzut ekranu przykładowego bloku kodu YAML w edytorze kodu.

Oto jak ten kod ma zastosowanie do odpowiedniego tematu, który pojawia się na kanwie.

  • Wiersz 1: Typ tematu.
  • Wiersze 2-3: Wskazują początek tematu rozszerzania konwersacji.
  • Wiersz 7: Wskazuje węzeł odpowiedzi generatywnej.
  • Wiersz 9: Wskazuje odpowiednią zmienną.
  • Wiersze 11-12: Szczegóły dotyczące polecenia oraz specjalnych instrukcji.
  • Wiersze 20-26: Linki do źródeł wiedzy.
  • Wiersze 28-32: grupa warunkowa. Każdy warunek ma unikalny identyfikator, wraz z jego formułą i przekierowaniami.

Testowanie języka YAML w edytorze kodu

Jeśli chcesz przetestować ten kod, wykonaj następujące kroki w Copilot Studio:

  1. Utwórz agenta.

  2. Przejdź do strony Ustawienia swojego agenta, wybierz Generatywna sztuczna inteligencja, a następnie wybierz Generatywna.

  3. Przejdź do strony Tematy, wybierz Systemowe i wybierz opcję Rozszerzanie konwersacji.

  4. Otwórz edytor kodu.

  5. Zastąp istniejący kod poniższym przykładowym kodem YAML.

     kind: AdaptiveDialog
     beginDialog:
      kind: OnUnknownIntent
      id: main
      priority: -1
      actions:
        - kind: SearchAndSummarizeContent
          id: search-content
          userInput: =System.Activity.Text
          variable: Topic.Answer
          moderationLevel: Medium
          additionalInstructions: Include emojis to make responses more fun.
          publicDataSource:
            sites:
              - "www.chessusa.com/"
              - "www.chess.com/"
              - "www.lichess.org/"
    
          sharePointSearchDataSource: {}
    
        - kind: ConditionGroup
          id: has-answer-conditions
          conditions:
            - id: has-answer
              condition: =!IsBlank(Topic.Answer)
              actions:
                - kind: EndDialog
                  id: end-topic
                  clearTopicQueue: true
    
  6. Wybierz przycisk Zapisz i zamknij edytor kodu.

  7. Przetestuj agenta na panelu testowym, zadając pytanie związane z szachami, takie jak: „Jak porusza się skoczek?”