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
- Informace o formátu souboru .lu naleznete v souboru .lu.