Question Answering - Get Answers

Bilgi bankası kullanarak belirtilen soruyu yanıtlar.

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

URI Parametreleri

Name İçinde Gerekli Tür Description
Endpoint
path True

string

Desteklenen Bilişsel Hizmetler uç noktası (ör. https://.api.cognitiveservices.azure.com).

api-version
query True

string

İstemci API sürümü.

deploymentName
query True

string

Kullanılacak projenin belirli dağıtımının adı.

projectName
query True

string

Kullanılacak projenin adı.

İstek Başlığı

Name Gerekli Tür Description
Ocp-Apim-Subscription-Key True

string

İstek Gövdesi

Name Tür Description
answerSpanRequest

ShortAnswerOptions

Yanıt yayılması tahmin özelliğini yapılandırmak için.

confidenceScoreThreshold

number

Yanıtlar için minimum eşik puanı, değer 0 ile 1 arasında değişir.

context

KnowledgeBaseAnswerContext

Önceki Soru-Cevap bilgilerini içeren bağlam nesnesi.

filters

QueryFilters

Verilen meta veri listesine ve bilgi bankası kaynaklarına göre Soru-Cevap'ları filtreleyin.

includeUnstructuredSources

boolean

(İsteğe bağlı) Yapılandırılmamış Kaynaklar Üzerinde Sorgu'yu etkinleştirmek için bayrak ekleyin.

qnaId

integer

bilgi bankası getirmek için tam Soru-Cevap Kimliği, bu alan sorudan önceliklidir.

question

string

bilgi bankası karşı sorgulamak için kullanıcı sorusu.

rankerType

RankerKind

Kullanılacak dereceleyicinin türü.

top

integer

Soru için döndürülecek en fazla yanıt sayısı.

userId

string

Kullanıcının benzersiz tanımlayıcısı.

Yanıtlar

Name Tür Description
200 OK

AnswersResult

bilgi bankası yanıt almak için başarılı bir yanıt.

Other Status Codes

ErrorResponse

Hata yanıtı.

Güvenlik

Ocp-Apim-Subscription-Key

Type: apiKey
In: header

Örnekler

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

Tanımlar

Name Description
AnswersOptions

bilgi bankası sorgulama parametreleri.

AnswerSpan

Soru-Cevap'ın answer span nesnesi.

AnswersResult

Soru Yanıtlarının Listesini temsil eder.

enable

Answer Span tahminlerini etkinleştirin veya devre dışı bırakın.

Error

Hata nesnesi.

ErrorCode

İnsan tarafından okunabilir hata kodu.

ErrorResponse

Hata yanıtı.

InnerErrorCode

İnsan tarafından okunabilir hata kodu.

InnerErrorModel

Hata hakkında daha ayrıntılı bilgi içeren bir nesne. Microsoft One API yönergelerine göre - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

KnowledgeBaseAnswer

bilgi bankası yanıtı temsil eder.

KnowledgeBaseAnswerContext

Önceki Soru-Cevap bilgilerini içeren bağlam nesnesi.

KnowledgeBaseAnswerDialog

Answer ile ilişkili iletişim kutusu.

KnowledgeBaseAnswerPrompt

Bir yanıt iste.

LogicalOperationKind

İlgili mantıksal işlemi kullanmak için 'OR' veya 'AND' olarak ayarlayın.

MetadataFilter

Verilen meta veri listesiyle ilişkili Soru-Cevap'ları bulun.

MetadataRecord

Her meta veri için anahtar değer çiftini sağlayan nesne.

QueryFilters

filtrelerini bilgi bankası.

RankerKind

Kullanılacak dereceleyicinin türü.

ShortAnswerOptions

Yanıt yayılması tahmin özelliğini yapılandırmak için.

AnswersOptions

bilgi bankası sorgulama parametreleri.

Name Tür Description
answerSpanRequest

ShortAnswerOptions

Yanıt yayılması tahmin özelliğini yapılandırmak için.

confidenceScoreThreshold

number

Yanıtlar için minimum eşik puanı, değer 0 ile 1 arasında değişir.

context

KnowledgeBaseAnswerContext

Önceki Soru-Cevap bilgilerini içeren bağlam nesnesi.

filters

QueryFilters

Verilen meta veri listesine ve bilgi bankası kaynaklarına göre Soru-Cevap'ları filtreleyin.

includeUnstructuredSources

boolean

(İsteğe bağlı) Yapılandırılmamış Kaynaklar Üzerinde Sorgu'yu etkinleştirmek için bayrak ekleyin.

qnaId

integer

bilgi bankası getirmek için tam Soru-Cevap Kimliği, bu alan sorudan önceliklidir.

question

string

bilgi bankası karşı sorgulamak için kullanıcı sorusu.

rankerType

RankerKind

Kullanılacak dereceleyicinin türü.

top

integer

Soru için döndürülecek en fazla yanıt sayısı.

userId

string

Kullanıcının benzersiz tanımlayıcısı.

AnswerSpan

Soru-Cevap'ın answer span nesnesi.

Name Tür Description
confidenceScore

number

Yanıt aralığının tahmini puanı, değer 0 ile 1 arasında değişir.

length

integer

Yanıt süresinin uzunluğu.

offset

integer

Yanıtın başlangıcından itibaren yanıt aralığı uzaklığı.

text

string

Tahmin edilen yanıt aralığı metni.

AnswersResult

Soru Yanıtlarının Listesini temsil eder.

Name Tür Description
answers

KnowledgeBaseAnswer[]

Yanıt Sonucu listesini temsil eder.

enable

Answer Span tahminlerini etkinleştirin veya devre dışı bırakın.

Name Tür Description
True

Boolean

Error

Hata nesnesi.

Name Tür Description
code

ErrorCode

Sunucu tanımlı hata kodları kümesinden biri.

details

Error[]

Bu bildirilen hataya yol açan belirli hatalarla ilgili bir dizi ayrıntı.

innererror

InnerErrorModel

Hatayla ilgili geçerli nesneden daha belirli bilgiler içeren bir nesne.

message

string

Hatanın insanlar tarafından okunabilir bir gösterimi.

target

string

Hatanın hedefi.

ErrorCode

İnsan tarafından okunabilir hata kodu.

Name Tür 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

Hata yanıtı.

Name Tür Description
error

Error

Hata nesnesi.

InnerErrorCode

İnsan tarafından okunabilir hata kodu.

Name Tür Description
AzureCognitiveSearchNotFound

string

AzureCognitiveSearchThrottling

string

ExtractionFailure

string

InvalidParameterValue

string

InvalidRequest

string

KnowledgeBaseNotFound

string

InnerErrorModel

Hata hakkında daha ayrıntılı bilgi içeren bir nesne. Microsoft One API yönergelerine göre - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

Name Tür Description
code

InnerErrorCode

Sunucu tanımlı hata kodları kümesinden biri.

details

object

Hata ayrıntıları.

innererror

InnerErrorModel

Hatayla ilgili geçerli nesneden daha belirli bilgiler içeren bir nesne.

message

string

Hata iletisi.

target

string

Hata hedefi.

KnowledgeBaseAnswer

bilgi bankası yanıtı temsil eder.

Name Tür Description
answer

string

Yanıt metni.

answerSpan

AnswerSpan

Soru-Cevap nesnesini kullanıcının sorusuna göre yanıtlayın.

confidenceScore

number

Güvenilirlik puanını yanıtlayın, değer 0 ile 1 arasında değişir.

dialog

KnowledgeBaseAnswerDialog

Answer ile ilişkili iletişim kutusu.

id

integer

Soru-Cevap sonucunun kimliği.

metadata

object

Yanıtla ilişkili meta veriler; soru yanıtlarını kategorilere ayırmak veya filtrelemek için kullanışlıdır.

questions

string[]

Yanıtla ilişkili soruların listesi.

source

string

Soru-Cevap sonucunun kaynağı.

KnowledgeBaseAnswerContext

Önceki Soru-Cevap bilgilerini içeren bağlam nesnesi.

Name Tür Description
previousQnaId

integer

Önceki turn top answer result Soru-Cevap Kimliği.

previousUserQuery

string

Önceki kullanıcı sorgusu.

KnowledgeBaseAnswerDialog

Answer ile ilişkili iletişim kutusu.

Name Tür Description
isContextOnly

boolean

Bir istemin yalnızca önceki bir soruyla ilgili olup olmadığını işaretlemek için. Doğruysa, bağlamsız sorgular için arama sonucu olarak bu Soru-Cevap'ı eklemeyin; aksi takdirde false ise bağlamı yoksayar ve arama sonucuna bu Soru-Cevap'ı ekler.

prompts

KnowledgeBaseAnswerPrompt[]

Yanıtla ilişkili istemlerin listesi.

KnowledgeBaseAnswerPrompt

Bir yanıt iste.

Name Tür Description
displayOrder

integer

İstem dizini - istemlerin sırasına göre kullanılır.

displayText

string

İzleme sorusu istemini temsil etmek için görüntülenen metin.

qnaId

integer

soru işaretine karşılık gelen Soru-Cevap Kimliği.

LogicalOperationKind

İlgili mantıksal işlemi kullanmak için 'OR' veya 'AND' olarak ayarlayın.

Name Tür Description
AND

string

OR

string

MetadataFilter

Verilen meta veri listesiyle ilişkili Soru-Cevap'ları bulun.

Name Tür Varsayılan değer Description
logicalOperation

LogicalOperationKind

AND

Meta veri filtrelerini birleştirmek için kullanılan işlem.

metadata

MetadataRecord[]

Her meta veri için anahtar değer çiftini sağlayan nesne.

MetadataRecord

Her meta veri için anahtar değer çiftini sağlayan nesne.

Name Tür Description
key

string

Soru-Cevap'ta kullanılan Meta Veri sözlüğünden Meta Veri Anahtarı.

value

string

Soru-Cevap'ta kullanılan Meta Veri sözlüğünden Meta Veri Değeri.

QueryFilters

filtrelerini bilgi bankası.

Name Tür Varsayılan değer Description
logicalOperation

LogicalOperationKind

AND

Meta veri filtresini kaynak filtreyle birleştirmek için kullanılan mantıksal işlem.

metadataFilter

MetadataFilter

Verilen meta veri listesiyle ilişkili Soru-Cevap'ları bulun.

sourceFilter

string[]

bilgi bankası verilen kaynak listesinden herhangi biriyle ilişkili Soru-Cevap'ları bulun.

RankerKind

Kullanılacak dereceleyicinin türü.

Name Tür Description
Default

string

Varsayılan dereceleyici.

QuestionOnly

string

Soru yalnızca dereceli.

ShortAnswerOptions

Yanıt yayılması tahmin özelliğini yapılandırmak için.

Name Tür Description
confidenceScoreThreshold

number

Yanıt aralığını eklemek için gereken minimum eşik puanı, değer 0 ile 1 arasında değişir.

enable

enable

Answer Span tahminlerini etkinleştirin veya devre dışı bırakın.

topAnswersWithSpan

integer

1 ile 10 aralığındaki yayılma tahmini için dikkate alınması gereken en önemli yanıtların sayısı.