Skip to content

Commit 123bd61

Browse files
authored
Update Program.cs
Updating this sample to use managed preview only. For a sample that uses GA, see https://github.com/Azure-Samples/cognitive-services-quickstart-code/blob/master/dotnet/QnAMaker/SDK-based-quickstart/Program.cs.
1 parent e894093 commit 123bd61

File tree

1 file changed

+13
-56
lines changed
  • dotnet/QnAMaker/Preview-sdk-based-quickstart

1 file changed

+13
-56
lines changed

dotnet/QnAMaker/Preview-sdk-based-quickstart/Program.cs

Lines changed: 13 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*
1+
/*
22
* ==========================================
33
Install QnA Maker package with command
44
* ==========================================
@@ -11,7 +11,6 @@ Tasks Included
1111
* Create a knowledgebase
1212
* Update a knowledgebase
1313
* Publish a knowledgebase, waiting for publishing to complete
14-
* Get Query runtime endpoint key
1514
* Download a knowledgebase
1615
* Get answer
1716
* Delete a knowledgebase
@@ -40,20 +39,10 @@ class Program
4039
static void Main(string[] args)
4140
{
4241
// <Resourcevariables>
43-
var authoringKey = "REPLACE-WITH-YOUR-QNA-MAKER-KEY";
44-
var resourceName = "REPLACE-WITH-YOUR-RESOURCE-NAME";
45-
46-
var authoringURL = $"https://{resourceName}.cognitiveservices.azure.com";
47-
var queryingURL = $"https://{resourceName}.azurewebsites.net";
42+
var authoringKey = Environment.GetEnvironmentVariable("QNA_MAKER_SUBSCRIPTION_KEY");
43+
var authoringURL = Environment.GetEnvironmentVariable("QNA_MAKER_ENDPOINT");
4844
// </Resourcevariables>
4945

50-
// <TryManagedPreview>
51-
// To be set to 'true' to use QnAMakerV2 Public Preview resources
52-
// Use the package Microsoft.Azure.CognitiveServices.Knowledge.QnAMaker version 3.0.0-preview.1
53-
var tryManagedPreview = false;
54-
// </TryManagedPreview>
55-
56-
5746
// <AuthorizationAuthor>
5847
var client = new QnAMakerClient(new ApiKeyServiceClientCredentials(authoringKey))
5948
{ Endpoint = authoringURL };
@@ -63,34 +52,11 @@ static void Main(string[] args)
6352
UpdateKB(client, kbId).Wait();
6453
PublishKb(client, kbId).Wait();
6554
DownloadKb(client, kbId).Wait();
66-
var primaryQueryEndpointKey = GetQueryEndpointKey(client).Result;
67-
68-
// <AuthorizationQuery>
69-
if (tryManagedPreview)
70-
{
71-
GenerateAnswerPreview(client, kbId).Wait();
72-
}
73-
else
74-
{
75-
var runtimeClient = new QnAMakerRuntimeClient(new EndpointKeyServiceClientCredentials(primaryQueryEndpointKey))
76-
{ RuntimeEndpoint = queryingURL };
77-
GenerateAnswer(runtimeClient, kbId).Wait();
78-
}
79-
// </AuthorizationQuery>
80-
55+
GenerateAnswer(client, kbId).Wait();
8156
DeleteKB(client, kbId).Wait();
8257
}
8358
// </Main>
8459

85-
// <GetQueryEndpointKey>
86-
private static async Task<String> GetQueryEndpointKey(IQnAMakerClient client)
87-
{
88-
var endpointKeysObject = await client.EndpointKeys.GetKeysAsync();
89-
90-
return endpointKeysObject.PrimaryEndpointKey;
91-
}
92-
// </GetQueryEndpointKey>
93-
9460
// <UpdateKBMethod>
9561
private static async Task UpdateKB(IQnAMakerClient client, string kbId)
9662
{
@@ -228,20 +194,11 @@ private static async Task DownloadKb(IQnAMakerClient client, string kbId)
228194
// </DownloadKB>
229195

230196
// <GenerateAnswer>
231-
private static async Task GenerateAnswer(QnAMakerRuntimeClient runtimeClient, string kbId)
197+
private static async Task GenerateAnswer(IQnAMakerClient client, string kbId)
232198
{
233-
var response = await runtimeClient.Runtime.GenerateAnswerAsync(kbId, new QueryDTO { Question = "How do I manage my knowledgebase?" });
234-
Console.WriteLine("Endpoint Response: {0}.", response.Answers[0].Answer);
235-
236-
// Do something meaningful with answer
237-
}
238-
// </GenerateAnswer>
239-
240-
// <GenerateAnswerPreview>
241-
private static async Task GenerateAnswerPreview(IQnAMakerClient client, string kbId)
242-
{
243-
var response = await client.Knowledgebase.GenerateAnswerAsync(kbId,
244-
new QueryDTO {
199+
var response = await client.Knowledgebase.GenerateAnswerAsync(kbId,
200+
new QueryDTO
201+
{
245202
Question = "Deleted accidentally. how to recover? ",
246203

247204
// This can be used to query for short answers
@@ -254,7 +211,7 @@ private static async Task GenerateAnswerPreview(IQnAMakerClient client, string k
254211
},
255212
IsTest = true,
256213
Top = 3,
257-
214+
258215
// By providing context of previous user question and qna id,
259216
// get contextually relevant answer for current question
260217

@@ -263,22 +220,22 @@ private static async Task GenerateAnswerPreview(IQnAMakerClient client, string k
263220
// PreviousQnaId = 2,
264221
// PreviousUserQuery = "where is my qnamaker resource?"
265222
//},
266-
223+
267224
StrictFilters = new List<MetadataDTO>(),
268225

269226
// RankerType = "QuestionOnly",
270227

271228
ScoreThreshold = 10,
272229
UserId = "SDKUser",
273-
230+
274231
});
275232

276-
Console.WriteLine("Endpoint Response -- Answer: {0}.", response.Answers[0].Answer);
233+
Console.WriteLine("Endpoint Response -- Answer: {0}.", response.Answers[0].Answer);
277234
Console.WriteLine("Endpoint Response -- Short Answer: {0}.", response.Answers[0]?.AnswerSpan?.Text);
278235

279236
// Do something meaningful with answer
280237
}
281-
// </GenerateAnswerPreview>
238+
// </GenerateAnswer>
282239

283240
// <DeleteKB>
284241
private static async Task DeleteKB(IQnAMakerClient client, string kbId)

0 commit comments

Comments
 (0)