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:
- Semantic Kernel — wbudowany format Semantic Kernel.
- Handlebars — format szablonu Handlebars.
- 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:
-
name
— nazwa zmiennej. -
description
— opis zmiennej. -
default
— opcjonalna wartość domyślna zmiennej. -
is_required
— czy zmienna jest uznawana za wymaganą (a nie opcjonalną). Wartość domyślna totrue
. -
json_schema
— opcjonalny schemat JSON opisujący tę zmienną. -
allow_dangerously_set_content
— wartość logiczna wskazująca, czy wartość zmiennej ma być obsługiwana jako potencjalna niebezpieczna zawartość. Wartość domyślna tofalse
. 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:
-
description
— opis zmiennej. -
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:
-
service_id
— określa usługę, dla których skonfigurowano te ustawienia, np. azure_openai_eastus, openai, ollama, huggingface itp. -
model_id
— określa model sztucznej inteligencji skonfigurowany dla tych ustawień, np. gpt-4, gpt-3.5-turbo. -
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
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