Documentation

Overview

    Package qnamakerruntime implements the Azure ARM Qnamakerruntime service API version 4.0.

    An API for QnAMaker runtime

    Index

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func UserAgent

    func UserAgent() string

      UserAgent returns the UserAgent string to use when sending http.Requests.

      func Version

      func Version() string

        Version returns the semantic version (see http://semver.org) of the client.

        Types

        type BaseClient

        type BaseClient struct {
        	autorest.Client
        	RuntimeEndpoint string
        }

          BaseClient is the base client for Qnamakerruntime.

          func New

          func New(runtimeEndpoint string) BaseClient

            New creates an instance of the BaseClient client.

            func NewWithoutDefaults

            func NewWithoutDefaults(runtimeEndpoint string) BaseClient

              NewWithoutDefaults creates an instance of the BaseClient client.

              type ContextDTO

              type ContextDTO struct {
              	// IsContextOnly - To mark if a prompt is relevant only with a previous question or not.
              	// true - Do not include this QnA as search result for queries without context
              	// false - ignores context and includes this QnA in search result
              	IsContextOnly *bool `json:"isContextOnly,omitempty"`
              	// Prompts - List of prompts associated with the answer.
              	Prompts *[]PromptDTO `json:"prompts,omitempty"`
              }

                ContextDTO context associated with Qna.

                type Error

                type Error struct {
                	// Code - One of a server-defined set of error codes. Possible values include: 'BadArgument', 'Forbidden', 'NotFound', 'KbNotFound', 'Unauthorized', 'Unspecified', 'EndpointKeysError', 'QuotaExceeded', 'QnaRuntimeError', 'SKULimitExceeded', 'OperationNotFound', 'ServiceError', 'ValidationFailure', 'ExtractionFailure'
                	Code ErrorCodeType `json:"code,omitempty"`
                	// Message - A human-readable representation of the error.
                	Message *string `json:"message,omitempty"`
                	// Target - The target of the error.
                	Target *string `json:"target,omitempty"`
                	// Details - An array of details about specific errors that led to this reported error.
                	Details *[]Error `json:"details,omitempty"`
                	// InnerError - An object containing more specific information than the current object about the error.
                	InnerError *InnerErrorModel `json:"innerError,omitempty"`
                }

                  Error the error object. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

                  type ErrorCodeType

                  type ErrorCodeType string

                    ErrorCodeType enumerates the values for error code type.

                    const (
                    	// BadArgument ...
                    	BadArgument ErrorCodeType = "BadArgument"
                    	// EndpointKeysError ...
                    	EndpointKeysError ErrorCodeType = "EndpointKeysError"
                    	// ExtractionFailure ...
                    	ExtractionFailure ErrorCodeType = "ExtractionFailure"
                    	// Forbidden ...
                    	Forbidden ErrorCodeType = "Forbidden"
                    	// KbNotFound ...
                    	KbNotFound ErrorCodeType = "KbNotFound"
                    	// NotFound ...
                    	NotFound ErrorCodeType = "NotFound"
                    	// OperationNotFound ...
                    	OperationNotFound ErrorCodeType = "OperationNotFound"
                    	// QnaRuntimeError ...
                    	QnaRuntimeError ErrorCodeType = "QnaRuntimeError"
                    	// QuotaExceeded ...
                    	QuotaExceeded ErrorCodeType = "QuotaExceeded"
                    	// ServiceError ...
                    	ServiceError ErrorCodeType = "ServiceError"
                    	// SKULimitExceeded ...
                    	SKULimitExceeded ErrorCodeType = "SKULimitExceeded"
                    	// Unauthorized ...
                    	Unauthorized ErrorCodeType = "Unauthorized"
                    	// Unspecified ...
                    	Unspecified ErrorCodeType = "Unspecified"
                    	// ValidationFailure ...
                    	ValidationFailure ErrorCodeType = "ValidationFailure"
                    )

                    func PossibleErrorCodeTypeValues

                    func PossibleErrorCodeTypeValues() []ErrorCodeType

                      PossibleErrorCodeTypeValues returns an array of possible values for the ErrorCodeType const type.

                      type ErrorResponse

                      type ErrorResponse struct {
                      	// Error - The error object.
                      	Error *ErrorResponseError `json:"error,omitempty"`
                      }

                        ErrorResponse error response. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

                        type ErrorResponseError

                        type ErrorResponseError struct {
                        	// Code - One of a server-defined set of error codes. Possible values include: 'BadArgument', 'Forbidden', 'NotFound', 'KbNotFound', 'Unauthorized', 'Unspecified', 'EndpointKeysError', 'QuotaExceeded', 'QnaRuntimeError', 'SKULimitExceeded', 'OperationNotFound', 'ServiceError', 'ValidationFailure', 'ExtractionFailure'
                        	Code ErrorCodeType `json:"code,omitempty"`
                        	// Message - A human-readable representation of the error.
                        	Message *string `json:"message,omitempty"`
                        	// Target - The target of the error.
                        	Target *string `json:"target,omitempty"`
                        	// Details - An array of details about specific errors that led to this reported error.
                        	Details *[]Error `json:"details,omitempty"`
                        	// InnerError - An object containing more specific information than the current object about the error.
                        	InnerError *InnerErrorModel `json:"innerError,omitempty"`
                        }

                          ErrorResponseError the error object.

                          type FeedbackRecordDTO

                          type FeedbackRecordDTO struct {
                          	// UserID - Unique identifier for the user.
                          	UserID *string `json:"userId,omitempty"`
                          	// UserQuestion - The suggested question being provided as feedback.
                          	UserQuestion *string `json:"userQuestion,omitempty"`
                          	// QnaID - The qnaId for which the suggested question is provided as feedback.
                          	QnaID *int32 `json:"qnaId,omitempty"`
                          }

                            FeedbackRecordDTO active learning feedback record.

                            type FeedbackRecordsDTO

                            type FeedbackRecordsDTO struct {
                            	// FeedbackRecords - List of feedback records.
                            	FeedbackRecords *[]FeedbackRecordDTO `json:"feedbackRecords,omitempty"`
                            }

                              FeedbackRecordsDTO active learning feedback records.

                              type InnerErrorModel

                              type InnerErrorModel struct {
                              	// Code - A more specific error code than was provided by the containing error.
                              	Code *string `json:"code,omitempty"`
                              	// InnerError - An object containing more specific information than the current object about the error.
                              	InnerError *InnerErrorModel `json:"innerError,omitempty"`
                              }

                                InnerErrorModel an object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.

                                type MetadataDTO

                                type MetadataDTO struct {
                                	// Name - Metadata name.
                                	Name *string `json:"name,omitempty"`
                                	// Value - Metadata value.
                                	Value *string `json:"value,omitempty"`
                                }

                                  MetadataDTO name - value pair of metadata.

                                  type PromptDTO

                                  type PromptDTO struct {
                                  	// DisplayOrder - Index of the prompt - used in ordering of the prompts
                                  	DisplayOrder *int32 `json:"displayOrder,omitempty"`
                                  	// QnaID - Qna id corresponding to the prompt - if QnaId is present, QnADTO object is ignored.
                                  	QnaID *int32 `json:"qnaId,omitempty"`
                                  	// Qna - QnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object
                                  	Qna *PromptDTOQna `json:"qna,omitempty"`
                                  	// DisplayText - Text displayed to represent a follow up question prompt
                                  	DisplayText *string `json:"displayText,omitempty"`
                                  }

                                    PromptDTO prompt for an answer.

                                    type PromptDTOQna

                                    type PromptDTOQna struct {
                                    	// ID - Unique id for the Q-A.
                                    	ID *int32 `json:"id,omitempty"`
                                    	// Answer - Answer text
                                    	Answer *string `json:"answer,omitempty"`
                                    	// Source - Source from which Q-A was indexed. eg. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs
                                    	Source *string `json:"source,omitempty"`
                                    	// Questions - List of questions associated with the answer.
                                    	Questions *[]string `json:"questions,omitempty"`
                                    	// Metadata - List of metadata associated with the answer.
                                    	Metadata *[]MetadataDTO `json:"metadata,omitempty"`
                                    	// Context - Context of a QnA
                                    	Context *QnADTOContext `json:"context,omitempty"`
                                    }

                                      PromptDTOQna qnADTO - Either QnaId or QnADTO needs to be present in a PromptDTO object

                                      type QnADTO

                                      type QnADTO struct {
                                      	// ID - Unique id for the Q-A.
                                      	ID *int32 `json:"id,omitempty"`
                                      	// Answer - Answer text
                                      	Answer *string `json:"answer,omitempty"`
                                      	// Source - Source from which Q-A was indexed. eg. https://docs.microsoft.com/en-us/azure/cognitive-services/QnAMaker/FAQs
                                      	Source *string `json:"source,omitempty"`
                                      	// Questions - List of questions associated with the answer.
                                      	Questions *[]string `json:"questions,omitempty"`
                                      	// Metadata - List of metadata associated with the answer.
                                      	Metadata *[]MetadataDTO `json:"metadata,omitempty"`
                                      	// Context - Context of a QnA
                                      	Context *QnADTOContext `json:"context,omitempty"`
                                      }

                                        QnADTO q-A object.

                                        type QnADTOContext

                                        type QnADTOContext struct {
                                        	// IsContextOnly - To mark if a prompt is relevant only with a previous question or not.
                                        	// true - Do not include this QnA as search result for queries without context
                                        	// false - ignores context and includes this QnA in search result
                                        	IsContextOnly *bool `json:"isContextOnly,omitempty"`
                                        	// Prompts - List of prompts associated with the answer.
                                        	Prompts *[]PromptDTO `json:"prompts,omitempty"`
                                        }

                                          QnADTOContext context of a QnA

                                          type QnASearchResult

                                          type QnASearchResult struct {
                                          	// Questions - List of questions.
                                          	Questions *[]string `json:"questions,omitempty"`
                                          	// Answer - Answer.
                                          	Answer *string `json:"answer,omitempty"`
                                          	// Score - Search result score.
                                          	Score *float64 `json:"score,omitempty"`
                                          	// ID - Id of the QnA result.
                                          	ID *int32 `json:"id,omitempty"`
                                          	// Source - Source of QnA result.
                                          	Source *string `json:"source,omitempty"`
                                          	// Metadata - List of metadata.
                                          	Metadata *[]MetadataDTO `json:"metadata,omitempty"`
                                          	// Context - Context object of the QnA
                                          	Context *QnASearchResultContext `json:"context,omitempty"`
                                          }

                                            QnASearchResult represents Search Result.

                                            type QnASearchResultContext

                                            type QnASearchResultContext struct {
                                            	// IsContextOnly - To mark if a prompt is relevant only with a previous question or not.
                                            	// true - Do not include this QnA as search result for queries without context
                                            	// false - ignores context and includes this QnA in search result
                                            	IsContextOnly *bool `json:"isContextOnly,omitempty"`
                                            	// Prompts - List of prompts associated with the answer.
                                            	Prompts *[]PromptDTO `json:"prompts,omitempty"`
                                            }

                                              QnASearchResultContext context object of the QnA

                                              type QnASearchResultList

                                              type QnASearchResultList struct {
                                              	autorest.Response `json:"-"`
                                              	// Answers - Represents Search Result list.
                                              	Answers *[]QnASearchResult `json:"answers,omitempty"`
                                              }

                                                QnASearchResultList represents List of Question Answers.

                                                type QueryContextDTO

                                                type QueryContextDTO struct {
                                                	// PreviousQnaID - Previous QnA Id - qnaId of the top result.
                                                	PreviousQnaID *string `json:"previousQnaId,omitempty"`
                                                	// PreviousUserQuery - Previous user query.
                                                	PreviousUserQuery *string `json:"previousUserQuery,omitempty"`
                                                }

                                                  QueryContextDTO context object with previous QnA's information.

                                                  type QueryDTO

                                                  type QueryDTO struct {
                                                  	// QnaID - Exact qnaId to fetch from the knowledgebase, this field takes priority over question.
                                                  	QnaID *string `json:"qnaId,omitempty"`
                                                  	// Question - User question to query against the knowledge base.
                                                  	Question *string `json:"question,omitempty"`
                                                  	// Top - Max number of answers to be returned for the question.
                                                  	Top *int32 `json:"top,omitempty"`
                                                  	// UserID - Unique identifier for the user. Optional parameter for telemetry. For more information, refer <a href="http://aka.ms/qnamaker-analytics#user-traffic" target="blank">Analytics and Telemetry</a>.
                                                  	UserID *string `json:"userId,omitempty"`
                                                  	// IsTest - Query against the test index.
                                                  	IsTest *bool `json:"isTest,omitempty"`
                                                  	// ScoreThreshold - Threshold for answers returned based on score.
                                                  	ScoreThreshold *float64 `json:"scoreThreshold,omitempty"`
                                                  	// Context - Context object with previous QnA's information.
                                                  	Context *QueryDTOContext `json:"context,omitempty"`
                                                  	// RankerType - Optional field. Set to 'QuestionOnly' for using a question only Ranker.
                                                  	RankerType *string `json:"rankerType,omitempty"`
                                                  	// StrictFilters - Find only answers that contain these metadata.
                                                  	StrictFilters *[]MetadataDTO `json:"strictFilters,omitempty"`
                                                  	// StrictFiltersCompoundOperationType - Optional field. Set to OR for using OR as Operation for Strict Filters. Possible values include: 'AND', 'OR'
                                                  	StrictFiltersCompoundOperationType StrictFiltersCompoundOperationType `json:"strictFiltersCompoundOperationType,omitempty"`
                                                  }

                                                    QueryDTO POST body schema to query the knowledgebase.

                                                    type QueryDTOContext

                                                    type QueryDTOContext struct {
                                                    	// PreviousQnaID - Previous QnA Id - qnaId of the top result.
                                                    	PreviousQnaID *string `json:"previousQnaId,omitempty"`
                                                    	// PreviousUserQuery - Previous user query.
                                                    	PreviousUserQuery *string `json:"previousUserQuery,omitempty"`
                                                    }

                                                      QueryDTOContext context object with previous QnA's information.

                                                      type RuntimeClient

                                                      type RuntimeClient struct {
                                                      	BaseClient
                                                      }

                                                        RuntimeClient is the an API for QnAMaker runtime

                                                        func NewRuntimeClient

                                                        func NewRuntimeClient(runtimeEndpoint string) RuntimeClient

                                                          NewRuntimeClient creates an instance of the RuntimeClient client.

                                                          func (RuntimeClient) GenerateAnswer

                                                          func (client RuntimeClient) GenerateAnswer(ctx context.Context, kbID string, generateAnswerPayload QueryDTO) (result QnASearchResultList, err error)

                                                            GenerateAnswer sends the generate answer request. Parameters: kbID - knowledgebase id. generateAnswerPayload - post body of the request.

                                                            func (RuntimeClient) GenerateAnswerPreparer

                                                            func (client RuntimeClient) GenerateAnswerPreparer(ctx context.Context, kbID string, generateAnswerPayload QueryDTO) (*http.Request, error)

                                                              GenerateAnswerPreparer prepares the GenerateAnswer request.

                                                              func (RuntimeClient) GenerateAnswerResponder

                                                              func (client RuntimeClient) GenerateAnswerResponder(resp *http.Response) (result QnASearchResultList, err error)

                                                                GenerateAnswerResponder handles the response to the GenerateAnswer request. The method always closes the http.Response Body.

                                                                func (RuntimeClient) GenerateAnswerSender

                                                                func (client RuntimeClient) GenerateAnswerSender(req *http.Request) (*http.Response, error)

                                                                  GenerateAnswerSender sends the GenerateAnswer request. The method will close the http.Response Body if it receives an error.

                                                                  func (RuntimeClient) Train

                                                                  func (client RuntimeClient) Train(ctx context.Context, kbID string, trainPayload FeedbackRecordsDTO) (result autorest.Response, err error)

                                                                    Train sends the train request. Parameters: kbID - knowledgebase id. trainPayload - post body of the request.

                                                                    func (RuntimeClient) TrainPreparer

                                                                    func (client RuntimeClient) TrainPreparer(ctx context.Context, kbID string, trainPayload FeedbackRecordsDTO) (*http.Request, error)

                                                                      TrainPreparer prepares the Train request.

                                                                      func (RuntimeClient) TrainResponder

                                                                      func (client RuntimeClient) TrainResponder(resp *http.Response) (result autorest.Response, err error)

                                                                        TrainResponder handles the response to the Train request. The method always closes the http.Response Body.

                                                                        func (RuntimeClient) TrainSender

                                                                        func (client RuntimeClient) TrainSender(req *http.Request) (*http.Response, error)

                                                                          TrainSender sends the Train request. The method will close the http.Response Body if it receives an error.

                                                                          type StrictFiltersCompoundOperationType

                                                                          type StrictFiltersCompoundOperationType string

                                                                            StrictFiltersCompoundOperationType enumerates the values for strict filters compound operation type.

                                                                            const (
                                                                            	// AND ...
                                                                            	AND StrictFiltersCompoundOperationType = "AND"
                                                                            	// OR ...
                                                                            	OR StrictFiltersCompoundOperationType = "OR"
                                                                            )

                                                                            func PossibleStrictFiltersCompoundOperationTypeValues

                                                                            func PossibleStrictFiltersCompoundOperationTypeValues() []StrictFiltersCompoundOperationType

                                                                              PossibleStrictFiltersCompoundOperationTypeValues returns an array of possible values for the StrictFiltersCompoundOperationType const type.

                                                                              Directories

                                                                              Path Synopsis