.qna-bestandsindeling
VAN TOEPASSING OP: SDK v4
Notitie
Azure AI QnA Maker wordt op 31 maart 2025 buiten gebruik gesteld. Vanaf 1 oktober 2022 kunt u geen nieuwe resources of kennisbanken voor QnA Maker maken. Een nieuwere versie van de vraag- en antwoordmogelijkheid is nu beschikbaar als onderdeel van Azure AI Language.
Aangepaste vraagantwoorden, een functie van Azure AI Language, is de bijgewerkte versie van de QnA Maker-service. Zie Natuurlijke taalbegrip voor meer informatie over vraag- en antwoordondersteuning in de Bot Framework SDK.
.qna-bestanden bevatten Markdown-achtige definities op basis van tekst voor QnAmaker.ai concepten. In dit artikel worden de verschillende concepten beschreven die worden uitgedrukt via de .qna-bestandsindeling.
Opmerkingen toevoegen
Gebruik > dit om een opmerking te maken. Hier volgt een voorbeeld:
> This is a comment and will be ignored
Vraag- en antwoordparen
Het .qna-bestand en de parser ondersteunen vraag- en antwoorddefinities.
Hier volgt de syntaxis van een basisvraag- en antwoorddefinitie:
# ? Question
[list of question variations]
```
Answer
```
Hier volgen enkele voorbeelden van vraag- en antwoorddefinities:
> # 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
```
Houd er rekening mee dat de markdown
type-id voor een answer
optioneel is.
Meerdere vragen
U kunt meerdere vragen toevoegen aan hetzelfde antwoord door simpelweg variaties toe te voegen aan vragen.
### ? Aren't you feeling happy today?
- Feeling cheerful?
```markdown
I'm quite happy, thank you.
```
QnAMaker-filters
Filters in QnA Maker zijn eenvoudige sleutel-waardeparen die kunnen worden gebruikt om zoekresultaten te beperken, antwoorden te verbeteren en context op te slaan.
Gebruik de volgende syntaxis om filters toe te voegen:
***Filters:***
- name = value
- name = value
Hier volgt een voorbeeld van hoe een filter kan worden gebruikt:
### ? 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
```
Opname van PDF-bestanden in QnA Maker
QnA Maker biedt ook ondersteuning voor het opnemen van PDF-bestanden tijdens het maken van KB. U kunt bestanden voor QnA Maker toevoegen om op te nemen met behulp van het URL-referentieschema. Als het inhoudstype van de URI geen tekst of HTML is, wordt deze door de parser toegevoegd aan de bestandenverzameling die QnA Maker kan opnemen.
[SurfaceManual.pdf](https://download.microsoft.com/download/2/9/B/29B20383-302C-4517-A006-B0186F04BE28/surface-pro-4-user-guide-EN.pdf)
Externe verwijzingen
Externe verwijzingen worden ondersteund in het .qna-bestand en gebruiken de syntaxis van de Markdown-koppeling.
Verwijzen naar een ander .qna-bestand
Verwijzing naar een ander .qna-bestand met behulp van [link name](<.qna file name>)
. Verwijzingen kunnen een absoluut pad of een relatief pad zijn van het met .qna-bestand.
Verwijzing naar een map met .qna-bestanden
Verwijzing naar een map met andere .qna-bestanden wordt ondersteund via:
[link name](<.qna file path>/*)
: zoekt naar .qna-bestanden onder het opgegeven absolute of relatieve pad.[link name](<.qna file path>/**)
: recursief zoekt naar .qna-bestanden onder het opgegeven absolute of relatieve pad, inclusief submappen.
Verwijzen naar een URL
Verwijs naar een URL voor QnAMaker die moet worden opgenomen tijdens het maken van een KB.[link name](<URL>)
Verwijzing uit een specifiek bestand
U kunt ook verwijzingen toevoegen naar uitingen die zijn gedefinieerd in een specifiek bestand onder een intentiesectie of als QnA-paren.
[link name](<.lu file path>#<INTENT-NAME>)
: zoekt alle uitingen onder <INTENT-NAME> in het .lu-bestand en voegt deze toe aan de lijst met vragen waar de verwijzing is opgegeven.[link name](<.lu file path>#*utterances*)
: vindt alle utterances in het .lu-bestand en voegt deze toe aan de lijst met vragen waar de verwijzing is opgegeven.[link name](<.qna file path>#?)
: zoekt vragen van alle QnA-paren die zijn gedefinieerd in het .qna-bestand en voegt deze toe aan de lijst met utterances waar deze verwijzing is opgegeven.[link name](<.qna folder>/*#?)
: vindt alle vragen uit alle .qna-bestanden in de opgegeven map en voegt deze toe aan de lijst met utterances waar deze verwijzing is opgegeven.
Hier volgt een voorbeeld van de bovenstaande verwijzingen:
> 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/**)
Modelbeschrijving
U kunt configuratiegegevens voor uw LUIS-toepassing of QnA Maker-KB opnemen in het .qna-bestand om de parser te helpen om de LU-inhoud correct te verwerken.
Notitie
Language Understanding (LUIS) wordt op 1 oktober 2025 buiten gebruik gesteld. Vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources maken. Er is nu een nieuwere versie van taalkennis beschikbaar als onderdeel van Azure AI Language.
Conversational Language Understanding (CLU), een functie van Azure AI Language, is de bijgewerkte versie van LUIS. Zie Natuurlijke taalkennis voor meer informatie over ondersteuning voor taalkennis in de Bot Framework SDK.
Ga als volgt te werk om configuratiegegevens > toe te voegen!#:
> !# @<property> = <value>
> !# @<scope>-<property> = <value>
> !# @<scope>-<property> = <semicolon-delimited-key-value-pairs>
Houd er rekening mee dat alle informatie die expliciet via CLI-argumenten wordt doorgegeven, informatie in het .qna-bestand overschrijft.
> 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-inhoud
Multiturn-inhoud wordt weergegeven in .qna-indeling met behulp van markdown-koppelingsnotatie. Koppelingen worden opgegeven op de volgende manier:
- [display text](#<ID or question>)
U kunt eventueel eventuele prompts opnemen context-only
die alleen contextueel beschikbaar zijn voor een vraag. Lees de sectie over het toevoegen van een bestaand vraag-en-antwoordpaar als vervolgprompt voor meer informatie over het gebruik van context
.
- [tell me a joke](#?joke) `context-only`
Vervolgprompts
Ontwikkelaars hebben twee opties voor het maken van vervolgprompts: het rechtstreeks gebruiken van een vraag als vervolgprompt of het toewijzen van een expliciete id aan een QnA-paar.
Rechtstreeks een vraag gebruiken
Het eerste QnA-paar met de koppelingstekst als een question
wordt toegevoegd als de prompt. Als u meer expliciet beheer nodig hebt, gebruikt u in plaats daarvan id's .
Wanneer u rechtstreeks een vraag gebruikt, gebruikt u de Markdown-conventie en vervangt u spaties door afbreekstreepjes (bijvoorbeeld gebruiken #?when-is-the-portland-store-open
in plaats van #?when is the portland store open
). De parser doet het beste om de koppeling te vinden.
# ?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.
```
Fooi
De koppeling wordt niet daadwerkelijk weergegeven als een selecteerbare koppeling in de meeste Markdown-renderers.
Een expliciete id toewijzen aan een QnA-paar
Wijs id's toe voor elke prompt met een getal. In het onderstaande voorbeeld ziet u de prompt dat aan elke winkel een andere numerieke waarde is toegewezen.
# ?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.
```
Aanvullende resources
- Zie .lu-bestandsindeling voor informatie over de .lu-bestandsindeling.