Клиентская библиотека .NET для Watson Assistant, что такое объект _assistant? - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь связаться с моим чат-ботом через приложение Windows Form (с помощью C #). Я установил SDK в Visual Studio, но у меня возникли проблемы с его использованием. Я прочитал всю документацию, в том числе на GitHub, однако, поскольку я впервые использую SDK, я совершенно не понимаю, как заставить его работать. На данный момент, я просто хочу иметь возможность отправить «Сообщение» и прочитать ответ чатбота. Какие пространства имен я должен включить (т. Е. "using IBM.Watson...")? Потому что я пытался пройти проверку подлинности, но получаю сообщение об ошибке: "namespace AssistantService could not be found" в соответствии с руководством по проверке подлинности IAM в dotnet на GitHub. Кроме того, что такое "_assistant" объект и как его создать, документы не объясняют этого, поэтому я получаю сообщение об ошибке "_assistant does not exist in the current context..."

Это ссылка, по которой я следую в SDK: https://github.com/watson-developer-cloud/dotnet-standard-sdk

Я пытаюсь пройти проверку по инструкциям по этой ссылке, но мне это не удается. Я пытаюсь использовать эти инструкции для вызова помощника Ватсона: https://github.com/watson-developer-cloud/dotnet-standard-sdk/tree/development/src/IBM.WatsonDeveloperCloud.Assistant.v1

**************** UPDATE *****************

using System.Windows.Forms;
using IBM.WatsonDeveloperCloud.Assistant.v1.Model;
using IBM.WatsonDeveloperCloud.Assistant.v1;
using IBM.WatsonDeveloperCloud.Util;

namespace Watson_Assistant_Test
{
public partial class Form1 : Form
{
    AssistantService _assistant;
    string[] _questionArray = { "Hello there" };

    public Form1()
    {
        TokenOptions iamAssistantTokenOptions = new TokenOptions()
        {
            IamApiKey = "Y....H",
            IamUrl = "https://gateway-syd.watsonplatform.net/assistant/api"
        };
        _assistant = new AssistantService(iamAssistantTokenOptions, "2018-07-10");
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MessageRequest messageRequest = new MessageRequest()
        {
            Input = new InputData()
            {
                Text = _questionArray[0]
            }
        };
        var result = _assistant.Message("d...5", messageRequest);
        label1.Text = result.ResponseJson.ToString();
    }
}
}

Я думаю, что я все еще не создаю AssistantObject правильно. Я получаю эту ошибку: ServiceResponseException: The API query failed with status code NotFound: Not Found.

Спасибо, Гарри

1 Ответ

0 голосов
/ 06 сентября 2018

[Я не разработчик C # и не использовал этот SDK, но ...:)]

Существует небольшой образец в составе SDK , который работает с примером приборной панели автомобиля. Из-за переименования Watson Conversation в Watson Assistant он по-прежнему использует старые имена объектов (оба работают).

Код использует это пространство имен:

using IBM.WatsonDeveloperCloud.Assistant.v1.Model

На основе самого кода он проверяет следующие части TokenOptions:

  • IamApiKey
  • IamAccessToken
  • ServiceUrl

Я предполагаю, что вы должны переименовать IamUrl в ServiceUrl в вашем коде.

...