Udostępnij za pośrednictwem


Dokumentacja schematu YAML dla monitów jądra semantycznego

Dokumentacja schematu YAML dla monitów jądra semantycznego to szczegółowa dokumentacja monitów YAML zawierająca listę wszystkich obsługiwanych składni YAML i ich dostępnych opcji.

Definicje

nazwa

Nazwa funkcji domyślnie używana podczas tworzenia funkcji monitu przy użyciu tej konfiguracji. Jeśli nazwa ma wartość null lub jest pusta, losowa nazwa zostanie wygenerowana dynamicznie podczas tworzenia funkcji.

opis

Opis funkcji domyślnie używany podczas tworzenia funkcji monitu przy użyciu tej konfiguracji.

template_format

Identyfikator formatu szablonu Semantic Kernel. Jądro semantyczne zapewnia obsługę następujących formatów szablonów:

  1. Semantic Kernel — wbudowany format Semantic Kernel.
  2. Handlebars — format szablonu Handlebars.
  3. liquid — format szablonu Liquid

szablon

Ciąg szablonu monitu, który definiuje monit.

zmienne wejściowe

Kolekcja zmiennych wejściowych używanych przez szablon monitu. Każda zmienna wejściowa ma następujące właściwości:

  1. name — nazwa zmiennej.
  2. description — opis zmiennej.
  3. default — opcjonalna wartość domyślna zmiennej.
  4. is_required — czy zmienna jest uznawana za wymaganą (a nie opcjonalną). Wartość domyślna to true.
  5. json_schema — opcjonalny schemat JSON opisujący tę zmienną.
  6. allow_dangerously_set_content — wartość logiczna wskazująca, czy wartość zmiennej ma być obsługiwana jako potencjalna niebezpieczna zawartość. Wartość domyślna to false. Aby uzyskać więcej informacji, zobacz Ochrona przed atakami polegającymi na wstrzyknięciu danych.

Napiwek

Wartość domyślna dla allow_dangerously_set_content to false. W przypadku ustawienia wartości true wartość zmiennej wejściowej jest traktowana jako bezpieczna zawartość. W przypadku monitów, które są używane z usługą uzupełniania czatu, należy ustawić wartość false, aby chronić przed atakami polegającymi na wstrzyknięciu monitów. W przypadku korzystania z innych usług sztucznej inteligencji, np. Text-To-Image, można ustawić wartość true, aby umożliwić bardziej złożone wskazówki.

zmienna_wyjściowa

Zmienna wyjściowa używana przez szablon monitu. Zmienna wyjściowa ma następujące właściwości:

  1. description — opis zmiennej.
  2. json_schema — schemat JSON opisujący tę zmienną.

ustawienia wykonania

Kolekcja ustawień wykonywania używanych przez szablon monitu. Ustawienia wykonywania to słownik, który jest indeksowany za pomocą identyfikatora usługi albo default dla domyślnych ustawień wykonywania. Identyfikator usługi każdego PromptExecutionSettings musi być zgodny z kluczem w słowniku.

Każdy wpis ma następujące właściwości:

  1. service_id — określa usługę, dla których skonfigurowano te ustawienia, np. azure_openai_eastus, openai, ollama, huggingface itp.
  2. model_id — określa model sztucznej inteligencji skonfigurowany dla tych ustawień, np. gpt-4, gpt-3.5-turbo.
  3. function_choice_behavior — zachowanie definiujące sposób wybierania funkcji przez LLM i sposób ich wywoływania przez łączniki sztucznej inteligencji. Aby uzyskać więcej informacji, zobacz Zachowanie wyboru funkcji

Napiwek

Jeśli zostanie podany, identyfikator usługi będzie kluczem w zbiorze słowników ustawień wykonawczych. Jeśli nie podano, identyfikator usługi zostanie ustawiony na default.

Zachowanie wyboru funkcji

Aby wyłączyć wywoływanie funkcji i aby model generował jedynie komunikat dla użytkownika, ustaw właściwość na null (wartość domyślna).

  • auto — aby umożliwić modelowi podjęcie decyzji, czy wywołać funkcje, a jeśli tak, które z nich mają być wywoływane.
  • required — aby wymusić, by model zawsze wywołał jedną lub więcej funkcji.
  • none — aby poinstruować model, aby nie wywoływać żadnych funkcji i generować tylko komunikat dostępny dla użytkownika.

allow_dangerously_set_content (zezwól_na_niebezpieczne_ustawienie_treści)

Wartość logiczna wskazująca, czy zezwalać na wstawianie potencjalnie niebezpiecznej zawartości do monitu z funkcji. Wartość domyślna to false. Po ustawieniu wartości true tylko zwracane wartości z funkcji są traktowane jako bezpieczna zawartość. W przypadku monitów, które są używane z usługą uzupełniania czatu, należy ustawić wartość false, aby chronić przed atakami polegającymi na wstrzyknięciu monitów. W przypadku korzystania z innych usług sztucznej inteligencji, np. text-To-Image można ustawić wartość true, aby umożliwić bardziej złożone instrukcje. Aby uzyskać więcej informacji, zobacz Ochrona przed atakami polegającymi na wstrzykiwaniu kodu.

Przykładowy monit YAML

Poniżej znajduje się przykładowy monit YAML, który używa formatu szablonu Handlebars i jest skonfigurowany z różnymi temperaturami w przypadku używania z modelami i .

name: GenerateStory
template: |
  Tell a story about {{topic}} that is {{length}} sentences long.
template_format: handlebars
description: A function that generates a story about a topic.
input_variables:
  - name: topic
    description: The topic of the story.
    is_required: true
  - name: length
    description: The number of sentences in the story.
    is_required: true
output_variable:
  description: The generated story.
execution_settings:
  service1:  
    model_id: gpt-4
    temperature: 0.6
  service2:
    model_id: gpt-3
    temperature: 0.4
  default:
    temperature: 0.5

Następne kroki

Szablony monitów Handlebars Szablony monitów Liquid