Можно ли создать чат-бот (используя платформу ботов Microsoft и Luis) без платформы Azure - PullRequest
0 голосов
/ 04 сентября 2018

Я хочу создать бот-сервис без использования платформы Azure. Приложение бота, использующее платформу ботов Microsoft и luis.

есть ли решение ??

Ответы [ 4 ]

0 голосов
/ 01 декабря 2018

Невозможно иметь MS Bot без подписки Azure, потому что вы должны зарегистрировать бота в Azure, что не стоит ни копейки. Если говорить о затратах, вопрос в том, можете ли вы использовать другого хостера.

У меня есть botbuilder@4.0.0-preview1.2, который без проблем работает на DigitalOcean. К сожалению, то же самое в настоящее время не относится к выпуску @ 4.1.2. Я склонен сказать, что нет решения для официального релиза, хотя он работает в эмуляторе. Попытка внести нижележащие изменения с помощью botbuilder@4.1.7 приводит к: «При отправке этого сообщения вашему боту произошла ошибка: код состояния HTTP ServiceUnavailable»

Чтобы заставить "botbuilder@4.0.0-preview1.2" работать, я внес следующие изменения в index.ts и bot.ts из этого примера https://github.com/Microsoft/BotBuilder-Samples/blob/master/samples/javascript_typescript/13.basic-bot/src/index.ts.

1) Удалить этот импорт (index.ts)

// import { BotConfiguration, IEndpointService } from 'botframework-config';

2) Удалить эту конфигурацию (index.ts)

// const BOT_FILE = path.join(__dirname, '..', (process.env.botFilePath || ''));
// let botConfig: BotConfiguration;
// try {
//     // Read bot configuration from .bot file.
//     botConfig = BotConfiguration.loadSync(BOT_FILE, process.env.botFileSecret);
// } catch (err) {
//     console.error(`\nError reading bot file. Please ensure you have valid botFilePath and botFileSecret set for your environment.`);
//     console.error(`\n - The botFileSecret is available under appsettings for your Azure Bot Service bot.`);
//     console.error(`\n - If you are running this bot locally, consider adding a .env file with botFilePath and botFileSecret.`);
//     console.error(`\n - See https://aka.ms/about-bot-file to learn more about .bot     file its use and bot configuration.\n\n`);
//     process.exit();
// }

3) избавиться от этого (index.ts)

// const BOT_CONFIGURATION = (process.env.NODE_ENV || DEV_ENVIRONMENT);
// const endpointConfig = <IEndpointService>botConfig.findServiceByNameOrId(BOT_CONFIGURATION);

4) ЗАМЕНИТЬ (index.ts)

// const adapter : BotFrameworkAdapter = new BotFrameworkAdapter({
//     appId: endpointConfig.appId || process.env.microsoftAppID,
//     appPassword: endpointConfig.appPassword || process.env.microsoftAppPassword
// });

С

const adapter : BotFrameworkAdapter = new BotFrameworkAdapter({
    appId: process.env.microsoftAppID,
    appPassword: process.env.microsoftAppPassword
});

5) ЗАМЕНИТЬ (index.ts)

// let bot: BasicBot;
// try {
//     bot = new BasicBot(conversationState, userState, botConfig);
// } catch (err) {
//     console.error(`[botInitializationError]: ${ err }`);
//     process.exit();
// }

С

let bot: BasicBot;
try {
    bot = new BasicBot(conversationState, userState);
} catch (err) {
    console.error(`[botInitializationError]: ${ err }`);
    // process.exit();
}

6) Теперь в bot.ts измените сигнатуру Bot-конструктора, удалив 3-й параметр "botConfig" https://github.com/Microsoft/BotBuilder-Samples/blob/master/samples/javascript_typescript/13.basic-bot/src/bot.ts.

REPLACE

// constructor(conversationState: ConversationState, userState: UserState, botConfig: BotConfiguration) {...

С

constructor(conversationState: ConversationState, userState: UserState) {...

7) Удалите все ссылки на botConfig в bot.ts, поскольку, похоже, это будет использоваться только для дополнительных служб Azure

// if (!botConfig) throw ('Missing parameter.  botConfig is required');
//
// add the LUIS recognizer
// let luisConfig: LuisService;
// luisConfig = <LuisService>botConfig.findServiceByNameOrId(LUIS_CONFIGURATION);
// if (!luisConfig || !luisConfig.appId) throw ('Missing LUIS configuration. Please follow README.MD to create required LUIS applications.\n\n');
// this.luisRecognizer = new LuisRecognizer({
//     applicationId: luisConfig.appId,
//
// CAUTION: Its better to assign and use a subscription key instead of authoring key here.
//     endpointKey: luisConfig.authoringKey,
//     endpoint: luisConfig.getEndpoint()
// });

8) Не забудьте удалить всю логику на основе удаленных переменных из шага 7 в bot.ts.

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

Тот же вывод - вам нужно создать учетную запись в Azure - Подписаться на нее - Дайте свою кредитную карту и, наконец, вы сможете опубликовать своего бота (онлайн).

Странно публиковать проект на GitHub, чтобы наконец сделать его свободным. Надеюсь госпожа сделает это возможным в рамках V4.

0 голосов
/ 09 ноября 2018

Вы можете создать чат-бота, используя Luis и Visual Studio, а затем эмулятор бота. Вы можете создавать намерения и сущности в Luis, а также добавлять их в код на c #. Но для публикации бота у вас должна быть подписка на Azure.

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

Нет. Чтобы использовать Bot Service или LUIS, вам нужен Azure (для обоих это требование).

...