¡Hola a todos! Bienvenidos a otro tutorial en el que os voy a contar cómo construí otro chatbot usando uno de los frameworks más populares: Microsoft Bot framework
Tabla de contenidos
¿Qué es Microsoft bot framework?
Un marco para crear experiencias de IA conversacional de nivel empresarial. El Microsoft Bot Framework es una colección de SDKs que se utiliza para desarrollar chatbots. Esta tecnología se emplea para integrar bots con muchas plataformas como Slack, Kik, Line, Skype y muchas más.
¿Cómo desarrollar un chatbot utilizando el framework de Microsoft?
Es muy sencillo, primero, debes instalar algunos paquetes. En primer lugar, tienes que instalar Node js, si no tienes uno entonces instálalo usando este enlace.
Abre tu cmd prompt e instala npm.
npm install -g windows-build-tools
Déjalo por unos minutos ya que algunos paquetes pueden tardar en instalarse.
Ahora tienes que instalar un bot builder para crear un chatbot. Para ello, escribe el siguiente comando en el símbolo del sistema cmd.
npm install -g yo generator-botbuilder
yo botbuilder
Después de la instalación, crea un nombre para tu bot y dale una descripción, por último selecciona el lenguaje de programación, ¡como a continuación!
Si has terminado, a continuación, abre tu código de Visual studio escribiendo el cmd:
code .
Entonces tu código Vs sería:
Abre index.js, y pon el siguiente código.
const path = require('path');
const dotenv = require('dotenv');
// Import required bot configuration.
const ENV_FILE = path.join(__dirname, '.env');
dotenv.config({ path: ENV_FILE });
const restify = require('restify');
// Import required bot services.
// See https://aka.ms/bot-services to learn more about the different parts of a bot.
const {
CloudAdapter,
ConfigurationServiceClientCredentialFactory,
createBotFrameworkAuthenticationFromConfiguration
} = require('botbuilder');
// This bot's main dialog.
const { EchoBot } = require('./bot');
// Create HTTP server
const server = restify.createServer();
server.use(restify.plugins.bodyParser());
server.listen(process.env.port || process.env.PORT || 3978, () => {
console.log(`\n${ server.name } listening to ${ server.url }`);
console.log('\nGet Bot Framework Emulator: https://aka.ms/botframework-emulator');
console.log('\nTo talk to your bot, open the emulator select "Open Bot"');
});
const credentialsFactory = new ConfigurationServiceClientCredentialFactory({
MicrosoftAppId: process.env.MicrosoftAppId,
MicrosoftAppPassword: process.env.MicrosoftAppPassword,
MicrosoftAppType: process.env.MicrosoftAppType,
MicrosoftAppTenantId: process.env.MicrosoftAppTenantId
});
const botFrameworkAuthentication = createBotFrameworkAuthenticationFromConfiguration(null, credentialsFactory);
// Create adapter.
// See https://aka.ms/about-bot-adapter to learn more about adapters.
const adapter = new CloudAdapter(botFrameworkAuthentication);
// Catch-all for errors.
const onTurnErrorHandler = async (context, error) => {
// This check writes out errors to console log .vs. app insights.
// NOTE: In production environment, you should consider logging this to Azure
// application insights.
console.error(`\n [onTurnError] unhandled error: ${ error }`);
// Send a trace activity, which will be displayed in Bot Framework Emulator
await context.sendTraceActivity(
'OnTurnError Trace',
`${ error }`,
'https://www.botframework.com/schemas/error',
'TurnError'
);
// Send a message to the user
await context.sendActivity('The bot encountered an error or bug.');
await context.sendActivity('To continue to run this bot, please fix the bot source code.');
};
// Set the onTurnError for the singleton CloudAdapter.
adapter.onTurnError = onTurnErrorHandler;
// Create the main dialog.
const myBot = new EchoBot();
// Listen for incoming requests.
server.post('/api/messages', async (req, res) => {
// Route received a request to adapter for processing
await adapter.process(req, res, (context) => myBot.run(context));
});
// Listen for Upgrade requests for Streaming.
server.on('upgrade', async (req, socket, head) => {
// Create an adapter scoped to this WebSocket connection to allow storing session data.
const streamingAdapter = new CloudAdapter(botFrameworkAuthentication);
// Set onTurnError for the CloudAdapter created for each connection.
streamingAdapter.onTurnError = onTurnErrorHandler;
await streamingAdapter.process(req, socket, head, (context) => myBot.run(context));
});
Install restify by , npm install restify -g Install dotenv by , npm install dotenv --save
Ejecuta tu index.js nodo de código:
Después de eso, obtendrás un HTTP como localhost:3978 y cópialo y pégalo en la URL del bot.
Ahora es el momento de instalar el emulador bot.
¿Qué es el emulador de bots?
Bot Framework Emulator es una aplicación de escritorio que permite a los desarrolladores de bots probar y depurar bots, ya sea de forma local o remota.
Se instala haciendo clic en este enlace:
Pega el enlace en la URL del bot, y Haz clic en conectar. Ya está. Tu bot está listo, vamos a comprobarlo. Comparto el resultado en estas fotografías.
Esto es en realidad un bot echo. Voy a proporcionar un enlace GitHub donde se puede obtener el código bot echo.
Proporciono mi perfil de GitHub aquí. Gracias por leer mi blog, eso es todo por ahora.
Estate atento, seguiré compartiendo más artículos relacionados con AI, ML, Chatbot & RPA 🙂