В этой модели я создал базовый AI-интерфейс с возможностями внешнего плагина; Интерфейс AI_Contracts обеспечивает взаимодействие с ИИ; Реализация интерфейса и размещение скомпилированной DLL в папке APPPlugins позволяет AI_Interface обнаруживать и вызывать плагин, получая ответ, возвращаемый пользователю; Проект был разработан в 4 этапа; Каждый этап или этап позволяет развитию и расширению чат-бота стать усовершенствованным продуктом, достойным публичного выпуска;
Здесь интерфейс имеет базовый дизайн для ввода и вывода текста; Ведение истории ЧАТа; этот интерфейс позволяет провести базовое тестирование интерфейса; Аватар не добавлен; это также связано с тем, что аватар не важен, а косметический; На первом этапе мы фокусируемся в основном на создании функционального интерфейса;
Это механизм, позволяющий ПОЛЬЗОВАТЕЛЮ создавать сценарии, которые могут выполняться ИИ; На начальном этапе; Ключевым моментом является предоставление меканистических средств. используемый первоначальный интерфейс предоставляет только структуру класса, которую необходимо реализовать; пользовательская функция будет вызываться основным скриптом для всех объектов этого типа, найденных в указанном месте. это обеспечивает широкие возможности расширения. Здесь также можно предоставить пользователю расширения и внутренние функции или структуру искусственного интеллекта для использования в качестве вспомогательных сценариев.
В первой версии AI также будет создан образец плагина для тестирования интерфейса. SAMPLE_PLUGIN также предоставит шаблон для дальнейшего создания плагина; ###Примечание: небольшая ошибка!!!!! AI_Contracts.Dll необходимо развернуть в папке плагинов вместе с плагином? Относительная ссылка для разделения плагина. Когда плагин находился в той же папке, что и приложение, приложение пыталось продолжить чтение и аварийно завершало работу, поэтому требовался отдельный каталог; MAN EXE также должен получить доступ к DLL AI_Contacts ТАК...
Двойное развертывание!.
На этом этапе мы создаем функцию внутренней памяти, предоставляя базу данных вопросов и ответов. здесь можно создать простые ответы в стиле вопросов и ответов, которые станут отправной точкой для пользователей приложения. Хотя есть реализации, где каждый Ход сохраняется в базу данных. в этой итерации выбрано более ориентированное на КОНТРОЛИРУЕМЫЙ метод. Необходимо будет предоставить редактор базы данных. Однако это будет предоставлено на более позднем этапе; Порядок выполнения будет следующим: сначала ПЛАГИНЫ, затем вопросы и ответы, что позволяет определить приоритетность обнаружения ответов. Резервный ответ также потребуется для обработки случаев, когда ИИ не отвечает;
Конечный автомат может обеспечить механизм поддержания эмоциональных состояний; В этой итерации интерфейс использовался для обеспечения структуры объектов эмоционального состояния; Каждое состояние загружается в обработчик; Эмоции обнаруживаются на каждом этапе Сценария, корректируя текущие эмоции в положительную и отрицательную сторону, позволяя усилить эмоции. Здесь дается общий ответ при изменении эмоционального состояния. другие формы государства также могут передаваться от шага к шагу с помощью государственной машины; Предыдущий метод программирования часто использовал «путешествующие переменные», но часто заменял состояние за состоянием конечными значениями частных для эмоционального перекоса. IE счастлив = 0,78, SAD 0,23; эта техника не допускает интенсивности эмоций; интенсивность эмоций увеличивается, т.е.: счастье увеличивается, если счастье обнаруживается на следующем ходу; но снижается, если следующая эмоция просто нейтральна. до тех пор, пока уровень интенсивности не снизится до значения 0, что может изменить состояние на нейтральное.
Возможность кодирования и компиляции плагина может быть предоставлена интерфейсом чат-бота; здесь я предоставил интерфейс с вкладками для создания плагинов, шаблон, который мы реализовали на этапе 1, используется для предоставления пользователю стартового примера сценария, который пользователь может редактировать и расширять. СОХРАНЕНИЕ СЦЕНАРИЯ И КОМПИЛЯЦИЯ СКРИПТА предоставляются;
Для каждой таблицы также создается редактор данных для редактирования файлов вопросов и ответов.
Здесь мы проведем рефакторинг кода, упорядочив и расширив функциональность среды UserScripting. Процесс рефакторинга и комментирования позволяют позднее редактировать и дорабатывать приложение; а также обеспечить понимание пользователя;
Речь также потребуется для предоставления расширенного пользовательского интерфейса, хотя распознавание речи со временем улучшилось; Он будет добавлен в основном для выступления.
В приложение будут добавлены некоторые графические улучшения и темы: (возможно, LCARS _ Star trek Design!)
Для развертывания и централизованного доступа к компоненту AI_Contracts: также было решено централизовать библиотеку с помощью NUGET как SpydazWb.AI.Contracts; Это позволяет централизовать дальнейшие обновления для создания плагинов и их оптимальной доставки: на этом этапе исходный код AI_Contracts также был удален из проекта и ДОБАВЛЕН как ссылочная сборка NUGET; Проект AI_Contracts теперь можно разрабатывать отдельно от пользовательского интерфейса и плагинов; Плагины также можно развертывать как пакеты Nuget в централизованном источнике отдельно от Nuget; т.е. централизованный сайт!