Sdílet prostřednictvím


Formát souboru .qna

PLATÍ PRO: SDK v4

Poznámka:

Azure AI QnA Maker bude vyřazený 31. března 2025. Od 1. října 2022 nebudete moci vytvářet nové zdroje ani znalostní báze QnA Maker. Novější verze funkce pro otázky a odpovědi je teď dostupná jako součást jazyka Azure AI.

Vlastní odpověď na otázky, funkce jazyka Azure AI, je aktualizovaná verze služby QnA Maker. Další informace o podpoře otázek a odpovědí v sadě SDK služby Bot Framework najdete v tématu Principy přirozeného jazyka.

Soubory .qna obsahují definice textového typu Markdown pro koncepty QnAmaker.ai . Tento článek popisuje různé koncepty vyjádřené ve formátu souboru .qna.

Přidávání komentářů

Slouží > k vytvoření komentáře. Tady je příklad:

> This is a comment and will be ignored

Dvojice otázek a odpovědí

Soubor .qna a analyzátor podporují definice otázek a odpovědí.

Tady je syntaxe základní definice otázky a odpovědi:

# ? Question
[list of question variations]
```
Answer
```

Tady jsou příklady definic otázek a odpovědí:

> # QnA Definitions
### ? who is the ceo?
```
You can change the default message if you use the QnAMakerDialog.
For details, see [Azure AI Bot Service documentation](/articles/adaptive-dialog/adaptive-dialog-prebuilt-actions.md).
```


### ? How do I programmatically update my KB?
```
You can use our REST apis to manage your KB.
\#1. See here for details: https://westus.dev.cognitive.microsoft.com/docs/services/58994a073d9e04097c7ba6fe/operations/58994a073d9e041ad42d9baa
```

Všimněte si, že markdown identifikátor typu je answer volitelný.

Více otázek

Do stejné odpovědi můžete přidat více otázek tak, že do otázek jednoduše přidáte varianty.

### ? Aren't you feeling happy today?
- Feeling cheerful?
```markdown
I'm quite happy, thank you.
```

Filtry QnAMakeru

Filtry ve službě QnA Maker jsou jednoduché páry klíč-hodnota, které je možné použít k zúžení výsledků hledání, zvýšení odpovědí a kontextu úložiště.

K přidání filtrů použijte následující syntaxi:

***Filters:***
- name = value
- name = value

Tady je příklad použití filtru:

### ? Where can I get coffee?
- I need coffee

**Filters:**
- location = seattle

```markdown
You can get coffee in our Seattle store at 1 pike place, Seattle, WA
```

### ? Where can I get coffee?
- I need coffee

**Filters:**
- location = portland

```markdown
You can get coffee in our Portland store at 52 marine drive, Portland, OR
```

Příjem souborů PDF služby QnA Maker

QnA Maker také podporuje ingestování souborů PDF během vytváření znalostní báze. Soubory pro QnA Maker můžete do ingestování přidat pomocí referenčního schématu adresy URL. Pokud typ obsahu identifikátoru URI není text nebo HTML, analyzátor ho přidá do kolekce souborů pro QnA Maker do ingestování.

[SurfaceManual.pdf](https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf)

Externí odkazy

Externí odkazy jsou podporovány v souboru .qna a používají syntaxi odkazu Markdown.

Odkaz na jiný soubor .qna

Odkaz na jiný soubor .qna pomocí [link name](<.qna file name>). Odkazy můžou být absolutní nebo relativní cesta z obsahujícího souboru .qna.

Odkaz na složku obsahující soubory .qna

Odkaz na složku s jinými soubory .qna se podporuje prostřednictvím:

  • [link name](<.qna file path>/*): Vyhledá soubory .qna pod zadanou absolutní nebo relativní cestou.
  • [link name](<.qna file path>/**): rekurzivně hledá soubory .qna v zadané absolutní nebo relativní cestě včetně podsložek.

Odkaz na adresu URL

Odkazování na adresu URL pro QnAMaker k ingestování během vytváření znalostní báze prostřednictvím [link name](<URL>).

Odkaz z konkrétního souboru

Můžete také přidat odkazy na promluvy definované v určitém souboru v oddílu záměru nebo jako páry QnA.

  • [link name](<.lu file path>#<INTENT-NAME>): Najde všechny promluvy nalezené v souboru .lu v souboru <> .lu a přidá je do seznamu otázek, ve kterých je zadaný odkaz.
  • [link name](<.lu file path>#*utterances*): najde všechny promluvy v souboru .lu a přidá je do seznamu otázek, kde je zadán odkaz.
  • [link name](<.qna file path>#?): najde otázky ze všech párů QnA definovaných v souboru .qna a přidá je do seznamu promluv, ve kterých je tento odkaz určen.
  • [link name](<.qna folder>/*#?): najde všechny otázky ze všech souborů .qna v zadané složce a přidá je do seznamu promluv, ve kterých je tento odkaz zadán.

Tady je příklad výše uvedených odkazů:

> QnA URL reference
[QnaURL](/azure/ai-services/qnamaker/)

> Include all content in ./kb1.qna
[KB1](./kb1.qna)

> Look for all .qna files under a path
[ChitChat](./chitchat/*)

> Recursively look for .qna files under a path including subfolders.
[ChitChat](../chitchat/resources/**)

Popis modelu

Do souboru .qna můžete zahrnout informace o konfiguraci pro vaši aplikaci LUIS nebo znalostní bázi QnA Maker, abyste mohli analyzátor správně nasměrovat na zpracování obsahu LU.

Poznámka:

Služba Language Understanding (LUIS) bude vyřazena 1. října 2025. Od 1. dubna 2023 nebudete moct vytvářet nové prostředky LUIS. Novější verze language understanding je teď dostupná jako součást jazyka Azure AI.

Konverzační jazyk understanding (CLU), funkce jazyka Azure AI, je aktualizovaná verze služby LUIS. Další informace o podpoře porozumění jazyku v sadě SDK služby Bot Framework najdete v tématu Principy přirozeného jazyka.

Tady je postup, jak přidat informace o konfiguraci sing > !#:

> !# @<property> = <value>
> !# @<scope>-<property> = <value>
> !# @<scope>-<property> = <semicolon-delimited-key-value-pairs>

Všimněte si, že všechny informace, které jsou explicitně předány prostřednictvím argumentů rozhraní příkazového řádku, přepíší informace v souboru .qna.

> Parser instruction - this is optional; unless specified, the parser will default to the latest version.
> !# @version = 1.0

> QnA Maker KB description
> !# @kb.name = my qna maker kb name

> Source for a specific QnA pair
> !# @qna.pair.source = <source value>

Multiturn content

Multiturn obsah je reprezentován ve formátu .qna pomocí zápisu odkazu Markdown. Odkazy se zadají následujícím způsobem:

- [display text](#<ID or question>)

Volitelně můžete zahrnout context-only všechny výzvy, které jsou pro otázku pouze kontextově dostupné. Přečtěte si část o přidání existujícího páru otázek a odpovědí jako následné výzvy , kde najdete další informace o použití context.

- [tell me a joke](#?joke) `context-only`

Následné výzvy

Vývojáři mají dvě možnosti pro vytváření následných výzev: přímé použití otázky jako následné výzvy nebo přiřazení explicitního ID páru QnA.

Použití otázky přímo

První pár QnA, který má text odkazu jako question text, se přidá jako výzva. Pokud potřebujete explicitnější řízení, použijte místo toho ID .

Když přímo používáte otázku, použijte konvenci Markdownu a nahraďte mezery pomlčkami (například místo #?when-is-the-portland-store-open #?when is the portland store open). Analyzátor udělá to nejlepší, když najde odkaz.

# ?store hours
```
Most our stores are open M-F 9AM-10PM.
```
**Prompts:**
- [Seattle store](#?seattle)
- [Portland store](#?when-is-the-portland-store-open)

# ?seattle
```
The Seattle store is open M-F 9AM-10PM.
```

# ?when is the portland store open
- portland store hours
```
The Portland store is open 24/7.
```

Tip

Ve většině vykreslovacích rendererů Markdownu se odkaz ve skutečnosti nevykreslí jako výběrový odkaz.

Přiřazení explicitního ID páru QnA

Přiřaďte ID pro každou výzvu s číslem. V příkladu pod výzvou pro každé úložiště je přiřazena jiná číselná hodnota.

# ?store hours
```
Most our stores are open M-F 9AM-10PM.
```
**Prompts:**
- [Seattle store](#1)
- [Portland store](#2)

<a id = "1"></a>

# ?seattle
```
The Seattle store is open M-F 9AM-10PM.
```

<a id = "2"></a>

# ?when is the portland store open
- portland store hours
```
The Portland store is open 24/7.
```

Další materiály