Udostępnij przez


Rejestracja encji na potrzeby integracji rozumienia języka konwersacyjnego

W tym artykule omówiono dodawanie jednostek interpretacji języka konwersacyjnego (CLU) do agentów funkcji Copilot Studio. W większości przypadków można użyć wstępnie utworzonych jednostek programu Copilot Studio dla projektów. Aby użyć jednostek CLU:

  • Encje CLU następujących typów danych można mapować bezpośrednio na odpowiednie wstępnie zdefiniowane encje.

    • BooleanDatatype: Choice.Boolean
    • StringDatatype: Geography.Location, Regex, List, General.Event, General.Organization, IP Address, Person.Name, Phone Number, URL
    • NumberDatatype: Number

    Uwaga

    Encje złożone (encje z wieloma składnikami) są mapowane na StringDatatype.

  • W przypadku jednostek CLU z niestandardowymi rozdzielczościami JSON można użyć przykładowego kodu JSON do zarejestrowania tych jednostek zewnętrznych za pomocą agenta. Te jednostki są rozpoznawane jako złożone typy danych. Jednostki CLU można mapować ręcznie na typy danych programu Copilot Studio, kopiując i wklejając bloki kodu JSON z tego artykułu dla odpowiedniej jednostki.

Aby uzyskać więcej informacji, zobacz Typy danych w dokumentacji programu Power Fx i Obsługiwane wstępnie utworzone składniki jednostki w dokumentacji języka AI platformy Azure.

Wiek

{
    "unit": "Year",
    "value": 10
}

Currency

{
    "unit": "Egyptian pound",
    "ISO4217": "EGP",
    "value": 30
}

Temperatura

{
    "unit": "Fahrenheit",
    "value": 88
}

Liczba porządkowa

{
    "offset": "3",
    "relativeTo": "Start",
    "value": "3"
}

Wymiary

{
    "unit": "KilometersPerHour",
    "value": 24
}

Typy jednostek typu data/godzina

Datetime jest specjalnym typem jednostki, który zmienia zwracaną rozdzielczość na podstawie danych wejściowych użytkownika.

W poniższych przykładach pokazano, jak zdefiniować jednostki dla różnych typów wypowiedzi daty i godziny. W zależności od typu danych wejściowych, których oczekujesz od użytkowników agenta, możesz utworzyć własne mapowania na podstawie tych przykładów.

Data

Przykładowe dane wejściowe: 1 stycznia 1995 roku

{
    "dateTimeSubKind": "Date",
    "timex": "1995-01-01",
    "value": "1995-01-01"
}

DateTime (rok)

Przykładowe wprowadzenie: Wrócę 12 kwietnia

{
    "dateTimeSubKind": "Date",
    "timex": "XXXX-04-12",
    "value": "2022-04-12"
}

DatetimeRange (czas trwania)

Przykładowe dane wejściowe: Jestem nieobecny od 3 do 12 września.

{
    "resolutionKind": "TemporalSpan",
    "timex": "(XXXX-09-03,XXXX-09-12,P9D)",
    "duration": "P9D",
    "begin": "2022-09-03",
    "end": "2022-09-12"
}

DatetimeRange (zestaw)

Przykładowe dane wejściowe: Co wtorek

{ 
    "resolutionKind": "DateTime",
    "dateTimeSubKind": "Set",
    "timex": "XXXX-WXX-2",
    "value": "not resolved"
}

Datetime (od kiedy)

Przykładowe wprowadzenie: Nie ma mnie od sierpnia

{
    "resolutionKind": "TemporalSpan",
    "timex": "XXXX-08",
    "begin": "2022-08-01",
    "modifier": "Since"
}

Czas

Przykładowe dane wejściowe: Jest wpół do ósmej

{
    "resolutionKind": "DateTime",
    "dateTimeSubKind": "Time",
    "timex": "T07:30",
    "value": "07:30:00"
}