Question Answering - Get Answers

Menjawab pertanyaan yang ditentukan menggunakan Pangkalan Pengetahuan Anda.

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

Parameter URI

Name In Required Type Description
Endpoint
path True
  • string

Titik akhir Cognitive Services yang didukung (misalnya, https://.api.cognitiveservices.azure.com).

api-version
query True
  • string

Versi API klien.

deploymentName
query True
  • string

Nama penyebaran spesifik proyek yang akan digunakan.

projectName
query True
  • string

Nama proyek yang akan digunakan.

Header Permintaan

Name Required Type Description
Ocp-Apim-Subscription-Key True
  • string

Isi Permintaan

Name Type Description
answerSpanRequest

Untuk mengonfigurasi fitur prediksi rentang Jawaban.

confidenceScoreThreshold
  • number

Skor ambang minimum untuk jawaban, nilai berkisar antara 0 hingga 1.

context

Objek konteks dengan informasi QnA sebelumnya.

filters

Filter QnA berdasarkan daftar metadata dan sumber Pangkalan Pengetahuan yang diberikan.

includeUnstructuredSources
  • boolean

(Opsional) Benderai untuk mengaktifkan Kueri melalui Sumber Tidak Terstruktur.

qnaId
  • integer

ID QnA yang tepat untuk diambil dari Pangkalan Pengetahuan, bidang ini lebih diprioritaskan daripada pertanyaan.

question
  • string

Pertanyaan pengguna untuk mengkueri terhadap Pangkalan Pengetahuan.

rankerType

Jenis ranker yang akan digunakan.

top
  • integer

Jumlah maksimum jawaban yang akan dikembalikan untuk pertanyaan tersebut.

userId
  • string

Pengidentifikasi unik untuk pengguna.

Respons

Name Type Description
200 OK

Respons yang berhasil untuk mendapatkan jawaban dari Pangkalan Pengetahuan.

Other Status Codes

Respons kesalahan.

Keamanan

Ocp-Apim-Subscription-Key

Type: apiKey
In: header

Contoh

Successful query

Sample Request

POST {Endpoint}/language/:query-knowledgebases?projectName=proj1&deploymentName=production&api-version=2021-10-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
}

Sample Response

{
  "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"
    }
  ]
}

Definisi

AnswersOptions

Parameter untuk mengkueri Pangkalan Pengetahuan.

AnswerSpan

Objek rentang jawaban QnA.

AnswersResult

Mewakili Daftar Jawaban Atas Pertanyaan.

enable

Aktifkan atau nonaktifkan prediksi Rentang Jawaban.

Error

Objek kesalahan.

ErrorCode

Kode kesalahan yang dapat dibaca manusia.

ErrorResponse

Respons kesalahan.

InnerErrorCode

Kode kesalahan yang dapat dibaca manusia.

InnerErrorModel

Objek yang berisi informasi yang lebih spesifik tentang kesalahan tersebut. Sesuai panduan Microsoft One API - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

KnowledgeBaseAnswer

Mewakili jawaban Pangkalan Pengetahuan.

KnowledgeBaseAnswerContext

Objek konteks dengan informasi QnA sebelumnya.

KnowledgeBaseAnswerDialog

Dialog yang terkait dengan Jawaban.

KnowledgeBaseAnswerPrompt

Minta jawaban.

LogicalOperationKind

Atur ke 'OR' atau 'AND' untuk menggunakan operasi logis yang sesuai.

MetadataFilter

Temukan QnA yang terkait dengan daftar metadata yang diberikan.

MetadataRecord

Objek untuk menyediakan pasangan nilai kunci untuk setiap metadata.

QueryFilters

filter melalui Pangkalan Pengetahuan.

RankerKind

Jenis ranker yang akan digunakan.

ShortAnswerOptions

Untuk mengonfigurasi fitur prediksi rentang Jawaban.

AnswersOptions

Parameter untuk mengkueri Pangkalan Pengetahuan.

Name Type Description
answerSpanRequest

Untuk mengonfigurasi fitur prediksi rentang Jawaban.

confidenceScoreThreshold
  • number

Skor ambang minimum untuk jawaban, nilai berkisar antara 0 hingga 1.

context

Objek konteks dengan informasi QnA sebelumnya.

filters

Filter QnA berdasarkan daftar metadata dan sumber Pangkalan Pengetahuan yang diberikan.

includeUnstructuredSources
  • boolean

(Opsional) Benderai untuk mengaktifkan Kueri melalui Sumber Tidak Terstruktur.

qnaId
  • integer

ID QnA yang tepat untuk diambil dari Pangkalan Pengetahuan, bidang ini lebih diprioritaskan daripada pertanyaan.

question
  • string

Pertanyaan pengguna untuk mengkueri terhadap Pangkalan Pengetahuan.

rankerType

Jenis ranker yang akan digunakan.

top
  • integer

Jumlah maksimum jawaban yang akan dikembalikan untuk pertanyaan tersebut.

userId
  • string

Pengidentifikasi unik untuk pengguna.

AnswerSpan

Objek rentang jawaban QnA.

Name Type Description
confidenceScore
  • number

Prediksi skor rentang jawaban, nilai berkisar dari 0 hingga 1.

length
  • integer

Panjang rentang jawaban.

offset
  • integer

Rentang jawaban offset dari awal jawaban.

text
  • string

Teks rentang jawaban yang diprediksi.

AnswersResult

Mewakili Daftar Jawaban Atas Pertanyaan.

Name Type Description
answers

Mewakili daftar Hasil Jawaban.

enable

Aktifkan atau nonaktifkan prediksi Rentang Jawaban.

Name Type Description
True
  • Boolean

Error

Objek kesalahan.

Name Type Description
code

Salah satu set kode kesalahan yang ditentukan server.

details

Array detail tentang kesalahan tertentu yang menyebabkan kesalahan yang dilaporkan ini.

innererror

Objek yang berisi informasi yang lebih spesifik daripada objek saat ini tentang kesalahan.

message
  • string

Representasi kesalahan yang dapat dibaca manusia.

target
  • string

Target kesalahan.

ErrorCode

Kode kesalahan yang dapat dibaca manusia.

Name Type Description
AzureCognitiveSearchIndexLimitReached
  • string
AzureCognitiveSearchIndexNotFound
  • string
AzureCognitiveSearchNotFound
  • string
AzureCognitiveSearchThrottling
  • string
Forbidden
  • string
InternalServerError
  • string
InvalidArgument
  • string
InvalidRequest
  • string
NotFound
  • string
OperationNotFound
  • string
ProjectNotFound
  • string
ServiceUnavailable
  • string
TooManyRequests
  • string
Unauthorized
  • string

ErrorResponse

Respons kesalahan.

Name Type Description
error

Objek kesalahan.

InnerErrorCode

Kode kesalahan yang dapat dibaca manusia.

Name Type Description
AzureCognitiveSearchNotFound
  • string
AzureCognitiveSearchThrottling
  • string
ExtractionFailure
  • string
InvalidParameterValue
  • string
InvalidRequest
  • string
KnowledgeBaseNotFound
  • string

InnerErrorModel

Objek yang berisi informasi yang lebih spesifik tentang kesalahan tersebut. Sesuai panduan Microsoft One API - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Name Type Description
code

Salah satu set kode kesalahan yang ditentukan server.

details
  • object

Detail kesalahan.

innererror

Objek yang berisi informasi yang lebih spesifik daripada objek saat ini tentang kesalahan.

message
  • string

Pesan kesalahan.

target
  • string

Target kesalahan.

KnowledgeBaseAnswer

Mewakili jawaban Pangkalan Pengetahuan.

Name Type Description
answer
  • string

Jawab teks.

answerSpan

Objek rentang jawaban QnA sehubungan dengan pertanyaan pengguna.

confidenceScore
  • number

Jawab skor keyakinan, nilai berkisar dari 0 hingga 1.

dialog

Dialog yang terkait dengan Jawaban.

id
  • integer

ID hasil QnA.

metadata
  • object

Metadata yang terkait dengan jawaban, berguna untuk mengategorikan atau memfilter jawaban atas pertanyaan.

questions
  • string[]

Daftar pertanyaan yang terkait dengan jawabannya.

source
  • string

Sumber hasil QnA.

KnowledgeBaseAnswerContext

Objek konteks dengan informasi QnA sebelumnya.

Name Type Description
previousQnaId
  • integer

Hasil jawaban atas giliran sebelumnya ID QnA.

previousUserQuery
  • string

Kueri pengguna sebelumnya.

KnowledgeBaseAnswerDialog

Dialog yang terkait dengan Jawaban.

Name Type Description
isContextOnly
  • boolean

Untuk menandai apakah perintah hanya relevan dengan pertanyaan sebelumnya atau tidak. Jika true, jangan sertakan QnA ini sebagai hasil pencarian untuk kueri tanpa konteks; jika tidak, jika salah, mengabaikan konteks dan menyertakan QnA ini dalam hasil pencarian.

prompts

Daftar perintah yang terkait dengan jawabannya.

KnowledgeBaseAnswerPrompt

Minta jawaban.

Name Type Description
displayOrder
  • integer

Indeks perintah - digunakan dalam urutan perintah.

displayText
  • string

Teks ditampilkan untuk mewakili perintah pertanyaan tindak lanjut.

qnaId
  • integer

ID QnA yang sesuai dengan perintah.

LogicalOperationKind

Atur ke 'OR' atau 'AND' untuk menggunakan operasi logis yang sesuai.

Name Type Description
AND
  • string
OR
  • string

MetadataFilter

Temukan QnA yang terkait dengan daftar metadata yang diberikan.

Name Type Default Value Description
logicalOperation AND

Operasi yang digunakan untuk menggabungkan filter metadata.

metadata

Objek untuk menyediakan pasangan nilai kunci untuk setiap metadata.

MetadataRecord

Objek untuk menyediakan pasangan nilai kunci untuk setiap metadata.

Name Type Description
key
  • string

Kunci Metadata dari kamus Metadata yang digunakan dalam QnA.

value
  • string

Nilai Metadata dari kamus Metadata yang digunakan dalam QnA.

QueryFilters

filter melalui Pangkalan Pengetahuan.

Name Type Default Value Description
logicalOperation AND

Operasi logis yang digunakan untuk menggabungkan filter metadata dengan filter sumber.

metadataFilter

Temukan QnA yang terkait dengan daftar metadata yang diberikan.

sourceFilter
  • string[]

Temukan QnA yang terkait dengan salah satu daftar sumber yang diberikan di Pangkalan Pengetahuan.

RankerKind

Jenis ranker yang akan digunakan.

Name Type Description
Default
  • string

Ranker default.

QuestionOnly
  • string

Pertanyaan hanya ranker.

ShortAnswerOptions

Untuk mengonfigurasi fitur prediksi rentang Jawaban.

Name Type Description
confidenceScoreThreshold
  • number

Skor ambang minimum yang diperlukan untuk menyertakan rentang jawaban, nilai berkisar dari 0 hingga 1.

enable

Aktifkan atau nonaktifkan prediksi Rentang Jawaban.

topAnswersWithSpan
  • integer

Jumlah Jawaban teratas yang akan dipertimbangkan untuk prediksi rentang dari 1 hingga 10.