Dela via


Question Answering - Get Answers

Besvarar den angivna frågan med hjälp av din kunskapsbas.

POST {Endpoint}/language/:query-knowledgebases?projectName={projectName}&deploymentName={deploymentName}&api-version=2023-04-01

URI-parametrar

Name I Obligatorisk Typ Description
Endpoint
path True

string

Cognitive Services-slutpunkt som stöds (t.ex. https://.api.cognitiveservices.azure.com).

api-version
query True

string

Klient-API-version.

deploymentName
query True

string

Namnet på den specifika distributionen av projektet som ska användas.

projectName
query True

string

Namnet på det projekt som ska användas.

Begärandetext

Name Typ Description
answerSpanRequest

ShortAnswerOptions

Så här konfigurerar du funktionen för förutsägelse av svarsintervall.

confidenceScoreThreshold

number

Minsta tröskelvärdespoäng för svar, värdet varierar från 0 till 1.

context

KnowledgeBaseAnswerContext

Kontextobjekt med tidigare QnA-information.

filters

QueryFilters

Filtrera QnAs baserat på angiven metadatalista och kunskapsbas källor.

includeUnstructuredSources

boolean

(Valfritt) Flagga för att aktivera fråga över ostrukturerade källor.

qnaId

integer

Exakt QnA-ID som ska hämtas från kunskapsbas prioriteras det här fältet framför frågan.

question

string

Användarfråga för att fråga mot kunskapsbas.

rankerType

RankerKind

Typ av rangordning som ska användas.

top

integer

Maximalt antal svar som ska returneras för frågan.

userId

string

Unik identifierare för användaren.

Svar

Name Typ Description
200 OK

AnswersResult

Ett lyckat svar för att få svar från kunskapsbas.

Other Status Codes

ErrorResponse

Felsvar.

Säkerhet

AADToken

Det här är Azure Active Directory OAuth2-flöden . När den är kopplad till rollbaserad åtkomstkontroll i Azure kan den användas för att styra åtkomsten till Azure Maps REST-API:er. Rollbaserade åtkomstkontroller i Azure används för att ange åtkomst till ett eller flera Azure Maps resurskonto eller underresurser. Alla användare, grupper eller tjänstens huvudnamn kan beviljas åtkomst via en inbyggd roll eller en anpassad roll som består av en eller flera behörigheter för att Azure Maps REST-API:er.

För att implementera scenarier rekommenderar vi att du visar autentiseringsbegrepp. Sammanfattningsvis tillhandahåller den här säkerhetsdefinitionen en lösning för modellering av program via objekt som kan ha åtkomstkontroll för specifika API:er och omfång.

Kommentarer

  • Den här säkerhetsdefinitionen x-ms-client-idkräver att huvudet används för att ange vilken Azure Maps resurs som programmet begär åtkomst till. Detta kan hämtas från MAPS-hanterings-API:et.

Authorization URL är specifikt för den offentliga Azure-molninstansen. Nationella moln har unika auktoriserings-URL:er och Azure Active Directory-konfigurationer. * Rollbaserad åtkomstkontroll i Azure konfigureras från Azure-hanteringsplanet via Azure Portal, PowerShell, CLI, Azure SDK:er eller REST-API:er. * Användning av Azure Maps Web SDK möjliggör konfigurationsbaserad konfiguration av ett program för flera användningsfall.

  • För närvarande har Azure Active Directory v1.0 eller v2.0 stöd för arbete, skola och gäster, men har inte stöd för personliga konton.

Typ: oauth2
Flow: implicit
Auktoriseringswebbadress: https://login.microsoftonline.com/common/oauth2/authorize

Omfattningar

Name Description
https://cognitiveservices.azure.com/.default https://cognitiveservices.azure.com/.default

Ocp-Apim-Subscription-Key

En prenumerationsnyckel för en språktjänstresurs.

Typ: apiKey
I: header

Exempel

Successful query

Exempelbegäran

POST {Endpoint}/language/:query-knowledgebases?projectName=proj1&deploymentName=production&api-version=2023-04-01

{
  "question": "how long it takes to charge surface?",
  "top": 3,
  "userId": "sd53lsY=",
  "confidenceScoreThreshold": 0.2,
  "context": {
    "previousQnaId": 9,
    "previousUserQuery": "Where are QnA Maker quickstarts?"
  },
  "rankerType": "Default",
  "filters": {
    "metadataFilter": {
      "metadata": [
        {
          "key": "category",
          "value": "api"
        },
        {
          "key": "editorial",
          "value": "chitchat"
        }
      ],
      "logicalOperation": "AND"
    },
    "sourceFilter": [
      "filename1.pdf",
      "https://www.wikipedia.org/microsoft"
    ],
    "logicalOperation": "AND"
  },
  "answerSpanRequest": {
    "enable": true,
    "confidenceScoreThreshold": 0.2,
    "topAnswersWithSpan": 1
  },
  "includeUnstructuredSources": true
}

Exempelsvar

{
  "answers": [
    {
      "questions": [
        "Power and charging"
      ],
      "answer": "Power and charging**\n\nIt takes two to four hours to charge the Surface Pro 4 battery fully from an empty state. It can take longer if you’re using your Surface for power-intensive activities like gaming or video streaming while you’re charging it.\n\nYou can use the USB port on your Surface Pro 4 power supply to charge other devices, like a phone, while your Surface charges. The USB port on the power supply is only for charging, not for data transfer. If you want to use a USB device, plug it into the USB port on your Surface.",
      "confidenceScore": 0.65,
      "id": 20,
      "source": "surface-pro-4-user-guide-EN.pdf",
      "metadata": {
        "category": "api",
        "editorial": "chitchat"
      },
      "dialog": {
        "isContextOnly": false,
        "prompts": [
          {
            "displayOrder": 1,
            "qnaId": 23,
            "displayText": "prompt1"
          },
          {
            "displayOrder": 2,
            "qnaId": 36,
            "displayText": "prompt2"
          }
        ]
      },
      "answerSpan": {
        "text": "two to four hours",
        "confidenceScore": 0.3,
        "offset": 33,
        "length": 50
      }
    },
    {
      "questions": [
        "Charge your Surface Pro 4"
      ],
      "answer": "**Charge your Surface Pro 4**\n\n1.  Connect the two parts of the power cord.\n\n2.  Connect the power cord securely to the charging port.\n\n3.  Plug the power supply into an electrical outlet.",
      "confidenceScore": 0.32,
      "id": 13,
      "source": "surface-pro-4-user-guide-EN.pdf"
    }
  ]
}

Definitioner

Name Description
AnswersOptions

Parametrar för att fråga en kunskapsbas.

AnswerSpan

Svarsintervallobjekt för QnA.

AnswersResult

Representerar en lista över frågesvar.

enable

Aktivera eller inaktivera Förutsägelse av svarsintervall.

Error

Felobjektet.

ErrorCode

Felkod som kan läsas av människor.

ErrorResponse

Felsvar.

InnerErrorCode

Felkod som kan läsas av människor.

InnerErrorModel

Ett objekt som innehåller mer specifik information om felet. Enligt Riktlinjerna för Microsoft One API – https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

KnowledgeBaseAnswer

Representerar kunskapsbas svar.

KnowledgeBaseAnswerContext

Kontextobjekt med tidigare QnA-information.

KnowledgeBaseAnswerDialog

Dialogruta som är associerad med Svar.

KnowledgeBaseAnswerPrompt

Fråga efter ett svar.

LogicalOperationKind

Ange till "OR" eller "AND" för att använda motsvarande logiska åtgärd.

MetadataFilter

Hitta QnA:erna som är associerade med den angivna listan med metadata.

MetadataRecord

Objekt för att ange nyckelvärdeparet för varje metadata.

QueryFilters

filter över kunskapsbas.

RankerKind

Typ av rangordning som ska användas.

ShortAnswerOptions

Så här konfigurerar du funktionen för förutsägelse av svarsintervall.

AnswersOptions

Parametrar för att fråga en kunskapsbas.

Name Typ Description
answerSpanRequest

ShortAnswerOptions

Så här konfigurerar du funktionen för förutsägelse av svarsintervall.

confidenceScoreThreshold

number

Minsta tröskelvärdespoäng för svar, värdet varierar från 0 till 1.

context

KnowledgeBaseAnswerContext

Kontextobjekt med tidigare QnA-information.

filters

QueryFilters

Filtrera QnAs baserat på angiven metadatalista och kunskapsbas källor.

includeUnstructuredSources

boolean

(Valfritt) Flagga för att aktivera fråga över ostrukturerade källor.

qnaId

integer

Exakt QnA-ID som ska hämtas från kunskapsbas prioriteras det här fältet framför frågan.

question

string

Användarfråga för att fråga mot kunskapsbas.

rankerType

RankerKind

Typ av rangordning som ska användas.

top

integer

Maximalt antal svar som ska returneras för frågan.

userId

string

Unik identifierare för användaren.

AnswerSpan

Svarsintervallobjekt för QnA.

Name Typ Description
confidenceScore

number

Förutsagd poäng för svarsintervallet, värdet varierar från 0 till 1.

length

integer

Svarsintervallets längd.

offset

integer

Svarsintervallet förskjuts från början av svaret.

text

string

Förutsagd text för svarsintervall.

AnswersResult

Representerar en lista över frågesvar.

Name Typ Description
answers

KnowledgeBaseAnswer[]

Representerar svarsresultatlistan.

enable

Aktivera eller inaktivera Förutsägelse av svarsintervall.

Name Typ Description
True

Boolean

Error

Felobjektet.

Name Typ Description
code

ErrorCode

En av en serverdefinierad uppsättning felkoder.

details

Error[]

En matris med information om specifika fel som ledde till det rapporterade felet.

innererror

InnerErrorModel

Ett objekt som innehåller mer specifik information än det aktuella objektet om felet.

message

string

En läsbar återgivning av felet.

target

string

Målet för felet.

ErrorCode

Felkod som kan läsas av människor.

Name Typ Description
AzureCognitiveSearchIndexLimitReached

string

AzureCognitiveSearchIndexNotFound

string

AzureCognitiveSearchNotFound

string

AzureCognitiveSearchThrottling

string

Conflict

string

Forbidden

string

InternalServerError

string

InvalidArgument

string

InvalidRequest

string

NotFound

string

OperationNotFound

string

ProjectNotFound

string

QuotaExceeded

string

ServiceUnavailable

string

Timeout

string

TooManyRequests

string

Unauthorized

string

Warning

string

ErrorResponse

Felsvar.

Name Typ Description
error

Error

Felobjektet.

InnerErrorCode

Felkod som kan läsas av människor.

Name Typ Description
AzureCognitiveSearchNotFound

string

AzureCognitiveSearchThrottling

string

EmptyRequest

string

ExtractionFailure

string

InvalidCountryHint

string

InvalidDocument

string

InvalidDocumentBatch

string

InvalidParameterValue

string

InvalidRequest

string

InvalidRequestBodyFormat

string

KnowledgeBaseNotFound

string

MissingInputDocuments

string

ModelVersionIncorrect

string

UnsupportedLanguageCode

string

InnerErrorModel

Ett objekt som innehåller mer specifik information om felet. Enligt Riktlinjerna för Microsoft One API – https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Name Typ Description
code

InnerErrorCode

En av en serverdefinierad uppsättning felkoder.

details

object

Felinformation.

innererror

InnerErrorModel

Ett objekt som innehåller mer specifik information än det aktuella objektet om felet.

message

string

Felmeddelande.

target

string

Felmål.

KnowledgeBaseAnswer

Representerar kunskapsbas svar.

Name Typ Description
answer

string

Svarstext.

answerSpan

AnswerSpan

Svarsintervallobjekt för QnA med avseende på användarens fråga.

confidenceScore

number

Svarssäkerhetspoäng, värdet varierar från 0 till 1.

dialog

KnowledgeBaseAnswerDialog

Dialogruta som är associerad med Svar.

id

integer

ID för QnA-resultatet.

metadata

object

Metadata som är associerade med svaret, användbara för att kategorisera eller filtrera frågesvar.

questions

string[]

Lista över frågor som är associerade med svaret.

source

string

Källa för QnA-resultat.

KnowledgeBaseAnswerContext

Kontextobjekt med tidigare QnA-information.

Name Typ Description
previousQnaId

integer

QnA-ID för svarsresultat i föregående tur.

previousUserQuery

string

Föregående användarfråga.

KnowledgeBaseAnswerDialog

Dialogruta som är associerad med Svar.

Name Typ Description
isContextOnly

boolean

Markera om en fråga endast är relevant med en tidigare fråga eller inte. Om det är sant ska du inte inkludera denna QnA som sökresultat för frågor utan kontext. annars, om det är falskt, ignorerar kontexten och inkluderar denna QnA i sökresultatet.

prompts

KnowledgeBaseAnswerPrompt[]

Lista över frågor som är associerade med svaret.

KnowledgeBaseAnswerPrompt

Fråga efter ett svar.

Name Typ Description
displayOrder

integer

Index för prompten – används i ordning av prompterna.

displayText

string

Text som visas för att representera en fråga om uppföljningsfråga.

qnaId

integer

QnA-ID som motsvarar prompten.

LogicalOperationKind

Ange till "OR" eller "AND" för att använda motsvarande logiska åtgärd.

Name Typ Description
AND

string

OR

string

MetadataFilter

Hitta QnA:erna som är associerade med den angivna listan med metadata.

Name Typ Standardvärde Description
logicalOperation

LogicalOperationKind

AND

Åtgärd som används för att koppla metadatafilter.

metadata

MetadataRecord[]

Objekt för att ange nyckelvärdeparet för varje metadata.

MetadataRecord

Objekt för att ange nyckelvärdeparet för varje metadata.

Name Typ Description
key

string

Metadatanyckel från metadataordlistan som används i QnA.

value

string

Metadatavärde från metadataordlistan som används i QnA.

QueryFilters

filter över kunskapsbas.

Name Typ Standardvärde Description
logicalOperation

LogicalOperationKind

AND

Logisk åtgärd som används för att koppla metadatafilter med källfilter.

metadataFilter

MetadataFilter

Hitta QnA:erna som är associerade med den angivna listan med metadata.

sourceFilter

string[]

Hitta QnA:erna som är associerade med någon av de angivna källorna i kunskapsbas.

RankerKind

Typ av rangordning som ska användas.

Name Typ Description
Default

string

Standardrankning.

QuestionOnly

string

Fråga endast ranker.

ShortAnswerOptions

Så här konfigurerar du funktionen för förutsägelse av svarsintervall.

Name Typ Description
confidenceScoreThreshold

number

Minsta tröskelvärdespoäng som krävs för att inkludera ett svarsintervall, värdeintervall från 0 till 1.

enable

enable

Aktivera eller inaktivera Förutsägelse av svarsintervall.

topAnswersWithSpan

integer

Antal toppsvar som ska beaktas för span-förutsägelse från 1 till 10.