Ejemplo n.º 1
0
        private async Task <string> CreateSampleKb(string language)
        {
            Console.WriteLine($"\nCreating SampleKB to create default azure search 'testkb' index for language: {language}");
            var qna1 = new QnADTO
            {
                Answer    = "a1",
                Questions = new List <string> {
                    "q1"
                }
            };

            var createKbDto = new CreateKbDTO
            {
                Name    = "Sample KB to create TestKbIndex In Azure Search",
                QnaList = new List <QnADTO> {
                    qna1
                },
                Language = language
            };

            var createOp = await this.client.Knowledgebase.CreateAsync(createKbDto);

            createOp = await this.MonitorOperation(createOp);

            return(createOp.ResourceLocation.Replace("/knowledgebases/", string.Empty));
        }
        private static async Task <string> CreateSampleKb(IQnAMakerClient client)
        {
            var qna = new QnADTO
            {
                Answer    = "You can use our REST APIs to manage your knowledge base.",
                Questions = new List <string> {
                    "How do I manage my knowledgebase?"
                },
                Metadata = new List <MetadataDTO> {
                    new MetadataDTO {
                        Name = "Category", Value = "api"
                    }
                }
            };

            var urls = new List <string> {
                "https://docs.microsoft.com/en-in/azure/cognitive-services/qnamaker/faqs"
            };
            var createKbDto = new CreateKbDTO
            {
                Name    = "QnA Maker FAQ from quickstart",
                QnaList = new List <QnADTO> {
                    qna
                },
                Urls = urls
            };

            var createOp = await client.Knowledgebase.CreateAsync(createKbDto);

            createOp = await MonitorOperation(client, createOp);

            return(createOp.ResourceLocation.Replace("/knowledgebases/", string.Empty));
        }
        // </UpdateKBMethod>

        // <CreateKBMethod>
        private static async Task <string> CreateSampleKb(IQnAMakerClient client)
        {
            var qna1 = new QnADTO
            {
                Answer    = "Yes, You can use our [REST APIs](https://docs.microsoft.com/rest/api/cognitiveservices/qnamaker/knowledgebase) to manage your knowledge base.",
                Questions = new List <string> {
                    "How do I manage my knowledgebase?"
                },
                Metadata = new List <MetadataDTO> {
                    new MetadataDTO {
                        Name = "Category", Value = "api"
                    },
                    new MetadataDTO {
                        Name = "Language", Value = "REST"
                    }
                },
            };

            var qna2 = new QnADTO
            {
                Answer    = "Yes, You can use our [.NET SDK](https://www.nuget.org/packages/Microsoft.Azure.CognitiveServices.Knowledge.QnAMaker) with the [.NET Reference Docs](https://docs.microsoft.com/dotnet/api/microsoft.azure.cognitiveservices.knowledge.qnamaker?view=azure-dotnet) to manage your knowledge base.",
                Questions = new List <string> {
                    "Can I program with C#?"
                },
                Metadata = new List <MetadataDTO> {
                    new MetadataDTO {
                        Name = "Category", Value = "api"
                    },
                    new MetadataDTO {
                        Name = "Language", Value = ".NET"
                    }
                }
            };

            var file1 = new FileDTO
            {
                FileName = "myfile.tsv",
                FileUri  = "https://mydomain/myfile.tsv"
            };

            var createKbDto = new CreateKbDTO
            {
                Name    = "QnA Maker .NET SDK Quickstart",
                QnaList = new List <QnADTO> {
                    qna1, qna2
                },
                //Files = new List<FileDTO> { file1 }
            };

            var createOp = await client.Knowledgebase.CreateAsync(createKbDto);

            createOp = await MonitorOperation(client, createOp);

            return(createOp.ResourceLocation.Replace("/knowledgebases/", string.Empty));
        }
        // </UpdateKBMethod>

        // <CreateKBMethod>
        private static async Task <string> CreateSampleKb(IQnAMakerClient client)
        {
            var qna1 = new QnADTO
            {
                Answer    = "You can use our REST APIs to manage your knowledge base.",
                Questions = new List <string> {
                    "How do I manage my knowledgebase?"
                },
                Metadata = new List <MetadataDTO> {
                    new MetadataDTO {
                        Name = "Category", Value = "api"
                    }
                },
            };

            var qna2 = new QnADTO
            {
                Answer    = "You, can use our .NET SDK to manage your knowledge base.",
                Questions = new List <string> {
                    "Can I use a .NET NuGet package to create the KB?"
                },
                Metadata = new List <MetadataDTO> {
                    new MetadataDTO {
                        Name = "Category", Value = "api"
                    }
                }
            };

            var file1 = new FileDTO
            {
                FileName = "myFileName",
                FileUri  = "https://mydomain/myfile.md"
            };

            var createKbDto = new CreateKbDTO
            {
                Name    = "QnA Maker .NET SDK Quickstart",
                QnaList = new List <QnADTO> {
                    qna1, qna2
                },
                //Files = new List<FileDTO> { file1 }
            };

            var createOp = await client.Knowledgebase.CreateAsync(createKbDto);

            createOp = await MonitorOperation(client, createOp);

            return(createOp.ResourceLocation.Replace("/knowledgebases/", string.Empty));
        }
Ejemplo n.º 5
0
        private static async Task <string> CreateKB(ILogger log)
        {
            var qnaClient = new QnAMakerClient(new ApiKeyServiceClientCredentials(GetAppSetting("QnAAuthoringKey")))
            {
                Endpoint = $"https://{GetAppSetting("QnAServiceName")}.cognitiveservices.azure.com"
            };

            var createKbDTO = new CreateKbDTO {
                Name = "search", Language = "English"
            };
            var operation = await qnaClient.Knowledgebase.CreateAsync(createKbDTO);

            operation = await MonitorOperation(qnaClient, operation, log);

            var kbId = operation.ResourceLocation.Replace("/knowledgebases/", string.Empty);

            log.LogInformation("init-kb: Created KB " + kbId);
            return(kbId);
        }
Ejemplo n.º 6
0
        // </UpdateKBMethod>

        // <CreateKBMethod>
        private static async Task <string> CreateSampleKb(IQnAMakerClient client)
        {
            var qna1 = new QnADTO
            {
                Answer    = "You can use our REST APIs to manage your knowledge base.",
                Questions = new List <string> {
                    "How do I manage my knowledgebase?"
                },
                Metadata = new List <MetadataDTO> {
                    new MetadataDTO {
                        Name = "Category", Value = "api"
                    }
                }
            };

            var file1 = new FileDTO
            {
                FileName = "myFileName",
                FileUri  = "https://mydomain/myfile.md"
            };

            var urls = new List <string> {
                "https://docs.microsoft.com/en-in/azure/cognitive-services/QnAMaker/troubleshooting"
            };

            var createKbDto = new CreateKbDTO
            {
                Name    = "QnA Maker .NET SDK Quickstart",
                QnaList = new List <QnADTO> {
                    qna1
                },
                //Files = new List<FileDTO> { file1 },
                Urls = urls
            };

            var createOp = await client.Knowledgebase.CreateAsync(createKbDto);

            createOp = await MonitorOperation(client, createOp);

            return(createOp.ResourceLocation.Replace("/knowledgebases/", string.Empty));
        }
 /// <summary>
 /// Asynchronous operation to create a new knowledgebase.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='createKbPayload'>
 /// Post body of the request.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <Operation> CreateAsync(this IKnowledgebase operations, CreateKbDTO createKbPayload, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateWithHttpMessagesAsync(createKbPayload, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }