QNA-Dateiformat.qna file format

gilt für: SDK v4APPLIES TO: SDK v4

QNA-Dateien enthalten textbasierte Definitionen (ähnlich Markdown) für QnAmaker.ai-Konzepte..qna files contain Markdown-like text based definitions for QnAmaker.ai concepts. In diesem Artikel werden die verschiedenen Konzepte behandelt, die mit dem QNA-Dateiformat ausgedrückt werden.This article covers the various concepts expressed via the .qna file format.

Hinzufügen von KommentarenAdding comments

Verwenden Sie > , um einen Kommentar zu erstellen.Use > to create a comment. Hier sehen Sie ein Beispiel:Here's an example:

> This is a comment and will be ignored

Frage-Antwort-PaareQuestion and Answer pairs

Die QNA-Datei und der Parser unterstützen Frage- und Antwortdefinitionen.The .qna file and parser support question and answer definitions.

Dies ist die Syntax einer grundlegenden Frage-Antwort-Definition:Here's the syntax of a basic question and answer definition:

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

Im Folgenden finden Sie Beispiele für Frage- und Antwortdefinitionen:Here's are examples of question and answer definitions:

> # QnA Definitions
### ? who is the ceo?
```
You can change the default message if you use the QnAMakerDialog.
See [this link](https://docs.botframework.com/en-us/azure-bot-service/templates/qnamaker/#navtitle) for details.
```


### ? 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
```

Beachten Sie, dass der Typbezeichner markdown für eine answer optional ist.Note that the markdown type identifier for an answer is optional.

Mehrere FragenMultiple questions

Sie können derselben Antwort mehrere Fragen hinzufügen, indem Sie den Fragen einfach Variationen hinzufügen.You can add multiple questions to the same answer by simply adding variations to questions.

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

QnA Maker-FilterQnAMaker Filters

Filter in QnA Maker sind einfache Schlüssel-Wert-Paare, die zum Eingrenzen von Suchergebnissen, zum Verbessern der Antworten und zum Speichern des Kontexts verwendet werden können.Filters in QnA Maker are simple key-value pairs that can be used to narrow search results, boost answers and store context.

Verwenden Sie die folgende Syntax, um Filter hinzuzufügen:Use the following syntax to add filters:

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

Hier sehen Sie ein Beispiel für die Verwendung eines Filters:Here's an example of how a filter could be used:

### ? 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
```

PDF-Dateierfassung in QnA MakerQnA Maker PDF file ingestion

QnA Maker unterstützt auch das Erfassen von PDF-Dateien während der Erstellung einer Wissensdatenbank.QnA Maker also supports ingesting PDF files during KB creation. Sie können Dateien für QnA Maker hinzufügen, um sie anhand des URL-Verweisschemas zu erfassen.You can add files for QnA Maker to ingest using the URL reference scheme. Wenn der Inhaltstyp des URI kein Text oder HTML-Code ist, fügt der Parser ihn der Dateisammlung hinzu, die QnA Maker erfasst.If the URI's content type is not text or HTML, then the parser will add it to files collection for QnA Maker to ingest.

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

Externe VerweiseExternal references

Externe Verweise werden in QNA-Dateien unterstützt. Dabei wird die Syntax für Markdown-Links verwendet.External references are supported in the .qna file and use Markdown link syntax.

Verweis auf eine andere QNA-DateiReference another .qna file

Sie verweisen auf eine andere QNA-Datei mit [link name](<.qna file name>).Reference to another .qna file using [link name](<.qna file name>). Verweise können absolute Pfade oder relative Pfade aus der enthaltenden QNA-Datei sein.References can be an absolute path or a relative path from the containing .qna file.

Verweis auf einen Ordner mit QNA-DateienReference to a folder containing .qna files

Verweise auf einen Ordner mit anderen QNA-Dateien werden wie folgt unterstützt:Reference to a folder with other .qna files is supported through:

  • [link name](<.qna file path>/*): sucht unter dem angegebenen absoluten oder relativen Pfad nach QNA-Dateien.[link name](<.qna file path>/*): looks for .qna files under the specified absolute or relative path.
  • [link name](<.qna file path>/**): Sucht rekursiv nach QNA-Dateien unter dem angegebenen absoluten oder relativen Pfad einschließlich Unterordnern.[link name](<.qna file path>/**): recursively looks for .qna files under the specified absolute or relative path including subfolders.

Verweis auf eine URLReference a URL

Sie verweisen auf eine URL, die von QnA Maker während der Erstellung der Wissensdatenbank erfasst werden soll, mit [link name](<URL>).Reference a URL for QnAMaker to ingest during KB creation via [link name](<URL>).

Verweis aus einer bestimmten DateiReference from a specific file

Sie können auch Verweise zu Äußerungen hinzufügen, die in einer bestimmten Datei unter einem INTENT-Abschnitt oder als QnA-Paare definiert sind.You can also add references to utterances defined in a specific file under an intent section or as QnA pairs.

  • [link name](<.lu file path>#<INTENT-NAME>): Sucht alle Äußerungen, die unter in der LU-Datei gefunden wurden, und fügt sie der Liste der Fragen hinzu, in der der Verweis angegeben ist.[link name](<.lu file path>#<INTENT-NAME>): finds all utterances found under in the .lu file and adds them to the list of questions where the reference is specified.
  • [link name](<.lu file path>#*utterances*): Sucht alle Äußerungen in der LU-Datei und fügt sie der Liste der Fragen hinzu, in der der Verweis angegeben ist.[link name](<.lu file path>#*utterances*): finds all utterances in the .lu file and adds them to the list of questions where the reference is specified.
  • [link name](<.qna file path>#?): sucht Fragen aus allen QnA-Paaren, die in der QNA-Datei definiert sind, und fügt sie der Liste der Äußerungen hinzu, in der dieser Verweis angegeben ist.[link name](<.qna file path>#?): finds questions from all QnA pairs defined in the .qna file and adds them to the list of utterances where this reference is specified.
  • [link name](<.qna folder>/*#?): sucht alle Fragen aus allen QNA-Dateien im angegebenen Ordner und fügt sie der Liste der Äußerungen hinzu, in der dieser Verweis angegeben ist.[link name](<.qna folder>/*#?): finds all questions from all .qna files in the specified folder and adds them to the list of utterances where this reference is specified.

Hier sehen Sie ein Beispiel für die obigen Verweise:Here's an example of the above references:

> QnA URL reference
[QnaURL](/en-in/azure/cognitive-services/qnamaker/faqs)

> 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/**)

ModellbeschreibungModel description

Sie können Konfigurationsinformationen für Ihre LUIS-Anwendung oder QnA Maker-Wissensdatenbank in die QNA-Datei einschließen, damit der Parser den LU-Inhalt ordnungsgemäß verarbeiten kann.You can include configuration information for your LUIS application or QnA Maker KB in the .qna file to help direct the parser to handle the LU content correctly.

So fügen Sie Konfigurationsinformationen hinzu, die> !# singen:Here's how to add configuration information sing > !#:

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

Beachten Sie, dass alle Informationen, die explizit über CLI-Argumente übermittelt werden, die Informationen in der QNA-Datei überschreiben.Note that any information explicitly passed in via CLI arguments will override information in the .qna file.

> 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>

Inhalte für mehrere DurchläufeMultiturn content

Inhalte für mehrere Durchläufe werden im QNA-Format mithilfe der Notation für Markdown-Links angegeben.Multiturn content is represented in .qna format using Markdown link notation. Links werden wie folgt angegeben:Links are specified using the following way:

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

Optional können Sie context-only für eingabeaufforderungen einschließen, die nur für eine Frage kontextabhängig verfügbar sind.You can optionally include context-only for any prompts that are only contextually available for a question. Lesen Sie den Abschnitt zum Hinzufügen eines neuen Frage-Antwort-Paars als Folgeaufforderung, um mehr über die Verwendung von context zu erfahren.Read the section about adding an existing question-and-answer pair as a follow-up prompt to learn more about use of context.

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

FolgeaufforderungenFollow-up prompts

Entwickler haben zwei Möglichkeiten zum Erstellen von Folgeaufforderungen: Verwenden einer Frage direkt als Folgeaufforderung oder Zuweisen einer expliziten ID zu einem Frage-Antwort-Paar.Developers have two options for creating follow-up prompts: using a question as a follow-up prompt directly, or assigning an explicit ID to a QnA pair.

Verwenden einer direkten FrageUse a question directly

Das erste Frage-Antwort-Paar, das den Linktext als question enthält, wird als Eingabeaufforderung hinzugefügt.The first QnA pair that has the link text as a question will be added as the prompt. Wenn Sie eine präzisere Steuerung benötigen, verwenden Sie stattdessen IDs.If you need more explicit control, use IDs instead.

Wenn Sie eine Frage direkt verwenden, verwenden Sie die Markdownkonvention, und ersetzen Sie Leerzeichen durch Bindestriche (z. B. anstelle #?when-is-the-portland-store-open von #?when is the portland store open ).When you're directly using a question, use Markdown convention and replace spaces with hyphens (for example, use #?when-is-the-portland-store-open instead of #?when is the portland store open). Der Parser versucht, den Link zu finden.The parser will do its best to find the link.

# ?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.
```

Beachten Sie, dass der Link nicht wie bei den meisten Markdown-Renderern als klickbarer Link gerendert wird.Note that the link will not actually render as a clickable link in most Markdown renderers.

Zuweisen einer expliziten ID zu einem Frage-Antwort-PaarAssign an explicit ID to a QnA pair

Weisen Sie jeder Aufforderung IDs mit einer Zahl zu.Assign IDs for each prompt with a number. Im folgenden Beispiel sehen Sie, dass der Eingabeaufforderung für jeden Speicher ein anderer numerischer Wert zugewiesen wurde.You can see in the example below the prompt for each store has been assigned a different numeric value.

# ?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.
```

Weitere RessourcenAdditional Resources