# Создание Агента в Excel

### Импорт из файла Excel

Посредством импорта Сценарий агента Агента из файла Excel возможно создавать FAQ-Агентов со структурой “вопрос-ответ”, в т.ч. ответ Агента может состоять из нескольких подряд идущих сообщений.

#### Допустимые расширения файлов

На данный момент к загрузке доступны файлы Excel следующих расширений:

* .xlsx

#### Формат файла Excel

Загружаемый файл Excel должен иметь следующие характеристики:

1. Структура файла:\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-S1KUxbfaZ5/ee8fb3670de246331a1824b0ab569350a0a39991c5736d7acd96d65a8ccbf7ab8c4bd03bf9f49a623d9208770600712df673b866bc872249ca8ab37e239658c437aa023b645989a31e8f56c47b0820aa59f03f003ec8e5cbed034b9e543708958a83ee03)
2.
   1. 1-я строка:
   2.
      1. значение ячейки А1 — текст language;
      2. значение ячейки B1 — код языка для NLU-модели Агента (язык, который будет распознаваться Слотом NLU ). Код может быть прописан в любом регистре. Подробнее в таблице Доступные для распознавания языки и их код).
   3. 2-я строка обязательно пустая. В ином случае произойдет ошибка импорта: будут выведены сообщения об ошибке и Агент не будет импортирован в Платформа.\
      ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-YRcgKdOh3V/8bdf2b0f684513d1ecb7ed5cc61b3ab3551d6d4bd537bf5664b38f2382bb702492d73c851f10eb8d1e618a1904ea5220c0e8a7555a4085a07517efab5312bf4b4cb50b239b0bda599f4540f64700e7909b2e06ef1717c64fcc296d0bd393c6faf379954a)
   4. Начиная с 3-ей строки располагается таблица с данными для создания FAQ-Бота: Обучающая выборка для Интентов, которые будут включены Сценарий агента Агента, названия Интентов и ответы на них:
   5.
      1. Столбец A:
      2.
         1. название: intent в ячейке А3;
         2. содержимое: названия Интентов, которые будут включены в Сценарий агента Агента.
      3. Столбец B:
      4.
         1. название: examples в ячейке B3;
         2. содержимое: Обучающая выборка для Интентов. Обучающая фраза прописываются начиная с ячейки напротив названия Интента и ниже.\
            ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-s0qQsB7NUH/1ffebbdcfd6293ff9ec99dcd07c2351102228c0d1e7f20d6d70396199847cfe5c36b82b9c041d58fff5ebc8bef5266973cbf3efd68802a479c9c5b87f60543761f7839f4b6ff92b5997e39a8e1bd9198fc141cbbdd2e9b5fc5c0e9c1326c84499f03b5c4)
      5. Столбец C:
      6.
         1. название: message в ячейке C3;
         2. содержимое: ответы Агента на Интенты. Содержит любые текстовые данные, включая ссылки на файлы, которые служат контентом для ответов Агента, также поддерживается рандомизация ответов Агента (подробнее: [Логика создания ветки подслота Intent](obzor-konstruktora-scenariya-agenta-i-vkladok/vkladka-intentov-intents)).\
            ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-mVSuD1hvZC/2f43b5ed7f30e3dceef346786057aae55c6c5ac3ab9e0ce91c338e5eb520d76b401c13e109fbcdd4c967fe18503e9dc56f9435b8daf0a28db8654676b0833b49c1eb4f216edaa8e394f68fc259772226c75bfb0e29ea2e39923eefae08317c94bd19483d)
      7. Столбцы D и E:
      8.
         1. опциональные поля. Если Агент должен давать ответ в нескольких сообщениях, а не в одном, то можно указать от 1 до 3х последовательных сообщений.
         2. заполняются аналогично столбцу C.\
            ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-NKvVmLQ0gd/8e102666f826dc8b72cdfc49cf2593003d5f145dcd73a9e393a13332586dde95e04e0ff7981353482c2d8baf75ffa6f2f112d6f441f0cce16bf861eca474b084f7e168a747c382f05ccabdfcc76de138e4a1a448f2c27b72ba155b1bb4a7d121b6a1b2a5)
      9. Для указания ответа Агента на fallback (в случае, если не распознан ни один из Интентов. Подробнее: [Распознавание намерений | Слот NLU и под-слоты Intent и Fallback](kak-postroit-scenarii-agenta/kak-sozdavat-i-nastraivat-sloty/raspoznavanie-namerenii-or-slot-nlu-i-pod-sloty-intent-i-fallback))\
         ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-uS8U3iWasU/be1a148dba98d6bb2df1bb0d5dce5354e5f10cb6bde34333f3f58e3bac79b96425efa4675dbdb47baff7db74adda1525fc5a264bd33a413d7d0d8e46cbcfd11afa42ae37727e1fe23c20345e50a09c94239e8841e0bc562b5ed8f7e0e6d7bc3b918dc580)
      10.
          1. в столбце intent прописывается значение ячейки fallback;
          2. ячейки в столбце examples остаются пустыми. В случае, если ячейки заполнены, при импорте файла их значения игнорируются;
          3. в столбце/столбцах message указывается ответ Агента на fallback.

| Язык                | Код языка для создания Агента через Excel |
| ------------------- | ----------------------------------------- |
| Русский             | ru                                        |
| Английский          | en                                        |
| Португальский       | pt                                        |
| Украинский          | uk                                        |
| Испанский           | es                                        |
| Вьетнамский         | vi                                        |
| Тайский             | th                                        |
| Индонезийский       | id                                        |
| Малайский           | ms                                        |
| Филиппинский        | tl                                        |
| Сербский            | sr                                        |
| Немецкий            | de                                        |
| Польский            | pl                                        |
| Французский         | fr                                        |
| Пакистанский (урду) | ur                                        |
| Киргизский          | ky                                        |
| Арабский            | ar                                        |

#### Содержание импортированного Агента

Общий принцип построения СценарияПри импорте файла в Платформа создается Агент со следующей структурой Сценарий агента:\
![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-G_1TBuCc0A/2dab0a7bf6bb77192c0773377887057944c29755007c26e859c159663242786ce225b93d973906e62952a7453641aa73f51977b15b3ab7bed53d065f60ac404450f380b6b592e7851fd469757d93bb744a5515248126915da5bf27f5bf34049e2dcb9e78)

1. Слот Start;
2. Затем Слот NLU с Подслотами intent для каждого Интента из загружаемого файла и Подслотом fallback;
3. После Подслотов intent и fallback следуют Слоты с сообщениями/ответами Агента, если они указаны в загружаемом файле в колонке message. В ином случае Слоты с сообщениями/ответами Агента не будут созданы;
4. На конце каждой Ветка сценария стоит Слот Wait For Reaction.

Логика создания ветки подслота intentДля каждого Интента из загружаемого файла:

1. Создается Интент в Ресурсы Компании с прописанной в файле Обучающая выборка;
2.
   1. Интенты создаются с соответствии с правилами импорта Интентов.
   2. Интенты, содержащие менее 2х строк в Обучающая выборка, при импорте будут игнорироваться: они не появятся в Ресурсы Компании и для них не будут созданы соответствующие Подслоты с Ветка сценария.
3. В Подслоте intent устанавливается данный Интент;
4. Создаются от 1 до 3х Слотов Text или Attachment с сообщениями/ответами Агента, следующих за данным Подслотом intent. Контент данных Слотов Text или Attachment соответствует контенту столбцов message (C,D,E колонки) для данного Интента:\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-OnUB22HteN/c2c161ffab78d3c8c35831aba38f0fe673d194dfdccea09297f58e4229b3950970d91d6935aace8ad710c90b78d767e156f3349e6e32b5498fbbf5cbcb0885463ee79119373b01b2215ddc4737927b3dbfcced69c47d8634ce59509dddacc4d3e1e13e46)\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-BknEXOMj_5/6a7c250364ef5048ce4424b39924de94685f2ac6a6667db44d50ed0518dfb7795380a543e496fd4f82cfc379a246fb96f35c8cc99fcbe891260065fad9096cc39a42861fe0ee1a0388a34e55e8a4ae3387a098e8c6d1bd16226178a2d96fe05b12755f64)
5.
   1. если ячейки в столбцах message пустые, то Слоты Text или Attachment не создаются после Подслота intent;
   2. если напротив одного Интента в файле заполнено несколько ячеек в одном столбце message, то создается Слот Text и содержимое каждой ячейки импортируется в качестве одного из рандомных ответов Агента (подробнее про рандомизацию ответов: [Текстовые ответы бота | Слот Text](kak-postroit-scenarii-agenta/kak-sozdavat-i-nastraivat-sloty/tekstovye-otvety-bota-or-slot-text)).\
      ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-oclNskJJma/07eee0aa4aeb3370040d7e7cc81cba2c4e7942a9fffbfee2c1cbd80d32b7d8a7db42904ed411ac40a435d5d1b32dd212e3b5484f6a254a37b554d4153c6f659d8c4f131872ac134b87f0a746b219470a632e1ef7094bc265408ac708183133689bd91429)
   3.
      1. в Слоте по умолчанию выключен Markdown, опция Точка сохранения выключена.
   4. ячейки в столбцах message, содержащие текст, соответствующий шаблону <ссылка на файл> + текст или текст + <ссылка на файл>, будут импортированы в виде Слотов Attachment, поля которых заполнены следующим образом:\
      ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-Hum3mq__BM/0088e1228dcbdefb3760abb94595d1ddefb145c46e3171a1c3744b3af17a8fd96e149c8c55cb1b6add178fd430db78da400f4b44c17a0334c10cc5f3b917b7b354429ddd26555ba99f6e284a086af8260d55070b0575ed4d24828a9ec9fdc31d4bd0da33)
   5.
      1. поле Name — заполняется первыми 40 символами текста из ячейки, сопровождающим ссылку
      2. поле Source — заполняется ссылкой из ячейки
      3. поле Caption — заполняется текстом из ячейки, сопровождающим ссылку
      4. поле Primary type — тип файла устанавливается согласно расширению в ссылке:
      5.
         1. Image — jpg, jpeg, png, gif, bmp
         2. Audio — mp3, wav, wma, aac, ogg
         3. Video — mp4, mov, avi, wmv, flv, mkv
      6. Примеры:
      7.
         1. ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-GpuQ2peYF1/34d34de64b94c359561c6a06ea243290290cbc542f892d839c74e64b9529dd7a576435920985ccdd0fa4174e570fdf60a2a91943b5e0572fbade1e28a62a612a64be264e9cb3ada95546f84423aef18e29a663a4cd001b10bbe950b6604516b7e0ed8498)![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-KNd0eZoW4a/901c66dad7fd758388d7d231f60d38040cfb762600f6a40e45a3101c28e89bc8a6c26f0332a03ed086c60914dfb5d98b9d6b0213d93fc18bb748e303407d59929628547f12be2fb88a5adf59855e266046b15782ec0d561edf8017afd782be130dc212a2)
         2. ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-ZToDXH7KJA/b30cbed7f9e03feba4239898a879e55952c1be6c6532eb8f648f478f864b6768b97240a551336a9af4ae3d418d64728100dc38891bb0833092a79c807d588ced1f9941a51e8ffbc8e0ff1de5fe2a87df3f343557bacb274cddb5cb274136047147bf80f0)![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-QyDqf_s4M_/9f08192ffa4c9adb387f27cbe8105cfa76454772828871a065975cb17af15bc21df8918bf06ba805ad2396e4498df027f4f035a48a00eb9871b635ef3f1c4514894ce7f5d518d70e6e6b7e550903f555cc7fe446e172556e34dddeb028c7432ee9184361)
         3. ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-5wnq-JDx1L/0c862c2cedde644e6254e33fc1ab979c482806b6957178baf9f950915f8ece8668ec8b1a9f2c796b2092c96319d27954ef9f9442a13317c7a689e200b4131f6bd8030e5b27f7206338baccba4d52016565e0a05b3a403e05084732c5aad7c62fa0367d48)![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-RvGkSLGLmR/f3add6f5b54f9bcd75aedac552fc9e3a3d81920c5782e6135863b643637a2c0fbae71c81db587ec249c886033aa0018dccfd9f66f8793fde46728bae137aac7112a74621e914e43cc6d8513710b2c9139d62fdfb335dcde0be87ae1e49afa9a53ecb73f8)
         4. ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-80L8owQart/c129025730f913d489c412ea94c58b17b67246525d99f8ac4fd59bafdeab9959de0958453b94c05ffb91553265e5ebcbfdaae4e2da9be2564262de61e5858de447ea739a0126c804dc5d65358ee8a7fc093aace0db7918357fad6848cffd5039a114cd7e)![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-q3bPRan1E9/703ef285b22a125d2ea8c5e4c8b80e35e1ea734525279fcbf924503401ad22a62ce586ab685bcd4d5000e0ce38424a40fe65cda34aa964d03441a046972531de42913e2d64f04ac32cd02ad87ea71b1bacd3fe5e51dafb7ee79ebbb7e3204588da418dfd)
      8. в Слоте по умолчанию выключен Markdown, опция Точка сохранения выключена.
   6. остальные ячейки в столбцах message импортируются в качестве Слотов Text.

Логика создания ветки подслота fallbackСоздается Подслот fallback;

1. Если файл содержит ответ на fallback, за Подслотом fallback создаются Слоты Text или Attachment в соответствии с порядком от столбца С к столбцу Е в таблице;\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-sAwgEluac_/7e938c9a2af91c82e1a6cebac756c6a1ca0cd66ec1ec277b386153c98af4de0de9626801d456297af05c6f495ff832b6f5c77737ece79308dbbc78b3bec1f44e29f03ef005cbf42a67f749a661410203fa26ddbed88f72ceddf97a322f411390dbdc9c82)![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-3wCExr0KTh/c08359235a717a4c4af348c0dd0390ac28ed4bd0df5dffca91bc9e4b68e71b3b5f7d70589ee5a208aeceeb52d1c6992d3037872759abc661bd522df6f0f10756d785e0a5764d236a3a37458d4b156e41baa093a5fae0b3db84d4ecdae702bfafd0bd5238)
2. Если файл содержит несколько строк fallbackа, то при импорте файла текст для ответа переносится из первого из них, остальные строки fallback игнорируются;\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-iAR7Uq4PW4/08ecb46b6cee034fe925698132e3dcbc29e110034d1438aa15221c26d9a8df6e20cdc024afde6af3d8725538ca3381fd92d12c3e9f24bd29526119f034e14a6471874834281edb6b0cb35511609b26a2ec641db87df24131c66e881e67d1d3b7964d7d28)\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-wKRoDEj5uf/3c27d6238d9e7427738b1ccdcd1cf4c67731a5ef8b482979a4158ba9e04481705bbdd5fe4fb276571cbf183f8f829110b4babfe4ac02a68d3e7cc24171273469bb9571183b51587bb9716ba722a5cce2672c147852c4a1c36474e20f15a95f86632e1517)
3. Если в файле нет fallback или не заполнены соответствующие ему ячейки в столбце message, то при импорте создается Подслот fallback со следующим за ним Слотом Wait For Reaction.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-f9us_32h9N/7dd3b8c370ff4e0a1fe2b719be79a9a8ee75177d45d78bbc2f2f91717d4c4af3743683a28f68c3dc083c2181c8a6716bfa1e109ba89f3b2ed7d6cc48e2cb00dad02788da8336083226ada401c3d1e413ee9f62ba9ac42312e2ca17e579a4d1fd46315e7e)
