Клиентская библиотека .NET для Watson Assistant что такое объект _assistant?

Я пытаюсь связаться со своим чат-ботом через приложение 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.

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

****************ОБНОВИТЬ*****************

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.

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


person Harry Stuart    schedule 05.09.2018    source источник


Ответы (1)


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

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

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

using IBM.WatsonDeveloperCloud.Assistant.v1.Model

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

  • IamApiKey
  • IamAccessToken
  • ServiceUrl

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

person data_henrik    schedule 06.09.2018
comment
Спасибо! Я больше не получаю ошибки пространства имен. Вы ответили на мой вопрос, однако я получаю новую ошибку, которая, как мне кажется, достаточно связана с моими первоначальными проблемами с объектом AssistantService, поэтому я не считал необходимым создавать новый вопрос :) Если у вас будет возможность, Я обновил свой исходный вопрос. Ваше здоровье - person Harry Stuart; 06.09.2018
comment
см. мой добавленный ответ, все остальное должно быть новым вопросом - person data_henrik; 06.09.2018