DOI: 10.37943/15XNDZ6667
Разработка вопросно-ответного чат-бота для блокчейн-домена
Мансурова А., Нугуманова А., Махамбетова Ж.
Astana IT University, Казахстан
E-mail: 222215@astanait.edu.kz, a.nugumanova@astanait.edu.kz, zhansaya.makhambetova@astanait.edu.kz
Аннотация
Мансурова А., Нугуманова А., Махамбетова Ж. Разработка вопросно-ответного чат-бота для блокчейн-домена. Большие языковые модели (LLM), такие как ChatGPT, трансформировали область обработки естественного языка благодаря своей способности к пониманию языка и генерации человекоподобных, связных ответов для многих прикладных задач. Несмотря на их впечатляющие возможности, они часто оказываются недостаточными в предметно-ориентированных и наукоемких областях из-за отсутствия доступа к актуальным данным. Более того, большинству современных LLM не хватает прозрачности, поскольку они часто доступны только через API. Кроме того, их применение в критических реальных сценариях затруднено их склонностью генерировать галлюцинации (ложную информацию) и неспособностью использовать внешние источники знаний. Для устранения этих ограничений мы предлагаем инновационную систему, которая расширяет возможности LLM путем их интеграции с внешним модулем управления знаниями. Система позволяет LLM использовать данные, хранящиеся в векторных базах данных, предоставляя им релевантную информацию для ответов. Дополнительно она позволяет извлекать информацию из Интернета, еще больше расширяя их базу знаний. Исследовательский подход позволяет избежать необходимости переобучения LLM, что является ресурсоемким процессом. Вместо этого он фокусируется на более эффективном использовании существующих моделей. Предварительные результаты показывают, что система перспективна для улучшения производительности LLM в предметно-ориентированных и наукоемких задачах. Оснащая LLM доступом к внешним данным в реальном времени, можно более эффективно использовать их возможности генерации языка без необходимости постоянно стремиться к созданию более крупных моделей.
Ключевые слова: Чат-бот, LLM, LangChain, RAG, NLP, ChatGPT.
Введение
В последние годы финтех-индустрия Казахстана претерпела значительные изменения благодаря внедрению новых технологий. Например, приложение Kaspi позволяет совершать мобильные платежи и пользоваться банковскими услугами более чем 12 миллионам пользователей в 2022 году [1]. В данный момент развитие блокчейн-технологий, в частности разработка и внедрение цифровой валюты, становится неотъемлемой частью стратегий развития финансовых систем. В этом контексте Национальный банк Республики Казахстан (НБРК) рассматривает возможность внедрения цифрового тенге.
Внедрение цифрового тенге направлено на улучшение финансовой инфраструктуры, обеспечение прозрачности и эффективности платежных операций, стимулирование инноваций и поддержку экономического роста в Казахстане. Финтех-компании и правительство активно изучают возможности использования технологии блокчейн для улучшения финансовых услуг. Однако важно помнить о гражданах, которые также являются участниками цифровой экономики, так как успешная цифровая трансформация зависит от уровня доверия и принятия гражданами [2], [3].
Проблема заключается в том, что, несмотря на то, что цифровые валюты существуют уже более десяти лет, обычные граждане все еще недостаточно осведомлены о том, как они работают и какие последствия могут возникнуть при их использовании. Это может привести к неполному пониманию рисков и преимуществ использования цифровых валют, а также потенциального влияния, которое технология блокчейн может оказать на финансовую индустрию. Другими словами, для полной реализации потенциала цифровых финансовых технологий важной задачей становится повышение осведомленности граждан в этом аспекте.
Таким образом, разработка инновационных подходов к повышению осведомленности граждан является ключом к успешной реализации проектов в области блокчейна. Одним из таких решений является разработка чат-бота, способного отвечать на вопросы, связанные с блокчейн-технологиями.
Обзор литературы
Чат-бот – это компьютерная программа, использующая текст для ведения бесед через Интернет [4]. Он разработан таким образом, чтобы максимально напоминать взаимодействие человека с собеседником и помогать находить необходимую информацию без участия человека [5]. Таким образом, чат-боты предлагают интерфейс на естественном языке, который позволяет пользователям выполнять действия без прямого контакта с людьми через встречи, электронные письма или телефонные звонки [6].
В 1950 году Алан Тьюринг представил тест Тьюринга, поставив вопрос о том, могут ли машины мыслить, что ознаменовало популяризацию концепции чат-ботов [7]. Самый ранний известный чат-бот, Eliza, был создан в 1966 году с целью функционирования в качестве психотерапевта, отвечая на вводы пользователя вопросами [8]. Значительным улучшением по сравнению с Eliza стал PARRY, чат-бот, основанный на личности, разработанный в 1972 году [10]. В 1995 году был создан ALICE, чат-бот, использующий простой алгоритм сопоставления шаблонов и работающий на языке разметки искусственного интеллекта (AIML) [11]. Впоследствии, в 2001 году, появились чат-боты, такие как SmarterChild [12], ставшие доступными через мессенджеры. Эволюция продолжилась с развитием виртуальных персональных помощников, таких как Apple Siri, Microsoft Cortana и Google Assistant. Рисунок 1, основанный на данных Scopus [13], иллюстрирует значительный всплеск интереса к чат-ботам, особенно после 2016 года.
Рисунок 1 – Рост исследований в области чат-ботов (данные Scopus, 2003-2023)
Текущим технологическим прорывом является ChatGPT, чат-бот, основанный на больших языковых моделях (LLM). Исследовательское сообщество использует термин «Большие языковые модели» для крупномасштабных предварительно обученных языковых моделей (PLM) [14]-[15], таких как PaLM с параметрами 540B и GPT-3 с параметрами 175B. Основная идея PLM заключается в предварительном обучении моделей на больших неразмеченных данных с последующей тонкой настройкой (fine-tuning) для улучшения производительности в контролируемых задачах.
Хотя чат-боты на основе LLM достигли значительного прогресса, они сталкиваются с двумя основными проблемами:
- Галлюцинации. При генерации фактического текста сложной проблемой является генерация галлюцинаций [23] – уверенной, но вводящей в заблуждение информации.
- Отсутствие новизны знаний. LLM «застыли во времени» и не содержат актуальной информации, особенно в конкретной предметной области. Например, ChatGPT не знает о событиях, произошедших после 2021 года [25].
В литературе [26] выделяются три основных способа преодоления вышеуказанных проблем:
- Создание базовой модели (Foundation model). Создание большой языковой модели – это значительное предприятие, стоимость которого может превышать 100 миллионов долларов [27].
- Тонкая настройка (Fine-tuning). Включает адаптацию базовой модели к данным конкретного домена. Это требует специализированной экспертизы и постоянных затрат на обновление данных.
- Инжиниринг промптов (Prompt engineering). Включает корректировку инструкций, даваемых модели. Это экономичный способ повысить точность, но он имеет ограничения, так как не может предоставить новый или динамический контекст модели.
Недавние достижения сосредоточены на совместной настройке компонентов поиска и генерации систем генерации с дополненной выборкой (RAG) [28], [29]. В нашей работе мы извлекаем внешнюю релевантную информацию из векторной базы данных и включаем ее в промпт. Другое отличие этой работы заключается в предлагаемой архитектуре, которая открывает возможность использования машинного перевода вместо создания моделей на родном языке для языков с ограниченными ресурсами [32].
Методология
Наша исследовательская работа проводилась в соответствии с процессом проектирования, называемым «двойной алмаз» (double diamond) [33].
Общая архитектура предлагаемого нами решения показана на Рисунке 2. Она состоит из frontend-слоя, реализующего пользовательский интерфейс, и backend-слоя. Backend-слой, в свою очередь, состоит из базы данных, модуля загрузки данных, модуля логики приложения, доступа к фреймворку LangChain и OpenAI. Агент – это гибкий компонент на основе LLM, который принимает решения о выборе инструментов.
Рисунок 2 – Общая архитектура предлагаемого решения
Использование Python в качестве языка программирования обеспечивает универсальность и мощные возможности [34]. Выбор модели GPT-3.5 от OpenAI является стратегическим решением, основанным на её доказанных возможностях.
Более того, удобное использование различных источников данных, интеграция с OpenAI и другими компонентами системы была достигнута с помощью LangChain [35]. Это фреймворк для разработки приложений, использующих большие языковые модели.
Шаблон промпта (Prompt Template) – это предопределенная структура, используемая в LangChain. Основные компоненты шаблона промпта приведены в Таблице 1.
Таблица 1 – Основные компоненты шаблона промпта
| Компонент | Описание | Пример |
|---|---|---|
| Текстовая строка (Шаблон) | Базовая структура для промптов с заполнителями | "Расскажи мне о [тема]." |
| Параметры | Переменные, заполняемые конкретной информацией | [тема] = "Технология распределенного реестра" |
| Ввод пользователя (Вопрос) | Представляет запрос пользователя | "Что ты можешь рассказать мне о Технологии распределенного реестра?" |
| Примеры (Few-Shot) | Короткие примеры ввода для контекста | "query": "Что такое криптовалюта?", "answer": "Криптовалюта — это виртуальная форма валюты..." |
| Инструкция | Руководство по обработке ввода | "Ниже приведены выдержки из разговоров с ИИ-ассистентом. Ассистент должен давать только правильные ответы..." |
Память в контексте диалоговой системы относится к способности системы сохранять и вызывать информацию из предыдущих взаимодействий, как показано на Рисунке 3.
Рисунок 3 – Представление работы памяти
Pinecone – это следующий использованный инструмент. Это облачная векторная база данных, разработанная специально для приложений машинного обучения. Наконец, для создания десктопного приложения с интерактивным графическим интерфейсом мы использовали Streamlit.
Ключевые этапы разработки приложения включают:
-
Проектирование RAG (Retrieval-Augmented Generation).
RAG объединяет модели поиска и генеративные модели.
- Декомпозиция и загрузка документов. Документы разбиваются на фрагменты (chunks).
- Создание эмбеддингов. Генерируются векторные представления фрагментов текста.
- Поддержка векторной базы данных. Создается база Pinecone для хранения векторов.
- Веб-поиск. Объединяя модели OpenAI с поиском Google (через SerpApi), наш чат-бот может предоставлять точную и актуальную информацию в реальном времени.
Оценка и Результаты
Для эксперимента мы сузили область документов до темы проекта «Цифровой тенге». Мы также провели опрос среди 20 участников для оценки эффективности чат-бота.
Всего было получено 1143 вектора из 381 страницы текста. Приложение готово принимать вопросы и предоставлять ответы с использованием модели «gpt-3.5-turbo».
Рисунок 4 – Память чат-бота
Если информации нет во внутренней базе, приложение предоставляет информацию, полученную из поисковых сервисов (Рисунок 5).
Рисунок 5 – Предоставление надежных ответов через поисковые сервисы
Заметно, что наш чат-бот предоставляет точные ответы, в то время как стандартный ChatGPT 3.5 может давать сомнительную информацию (Рисунок 6), если он не узнал о конкретной теме из своих обучающих данных.
Рисунок 6 – Иллюстрация ограничений знаний ChatGPT
Скриншот полностью реализованного диалогового чат-бота представлен на Рисунке 7.
Рисунок 7 – Скриншот полностью реализованного чат-бота
В результате опроса были выявлены следующие ключевые аспекты:
- 80% респондентов ответили утвердительно на вопрос о получении новых знаний о проекте «Цифровой тенге» (Рисунок 8).
- 70% согласились с необходимостью подобных систем для информационной поддержки населения (Рисунок 9).
- Средняя оценка интерфейса составила 3.45 из 5 баллов (Рисунок 10).
Рисунок 8 – Результаты опроса: Повышение уровня знаний
Рисунок 9 – Результаты опроса: Необходимость подобных систем
Рисунок 10 – Результаты опроса: Восприятие интерфейса
Заключение
В целом, исследование представляет перспективный подход к разработке чат-бота на основе технологии LLM. Разработанная архитектура интегрирует передовые технологии для повышения фактичности и релевантности ответов. Эмпирические данные подтверждают существенное положительное влияние системы на приобретение знаний о проекте «Цифровой тенге». Будущие исследования будут сосредоточены на адаптации этой архитектуры для казахского языка.
Благодарности
Данное исследование было профинансировано Министерством науки и высшего образования Республики Казахстан, номер гранта AP19677756 «Unsupervised term extraction: a set of models and datasets for high-tech domains and low-resource languages».
Список литературы
- Okasov, B. (2022, September 30). Dlja cifrovizacii vseh gosuslug v Kazahstane ispol’zujut opyt Kaspi.kz [The experience of Kaspi.kz is used to digitalize all public services in Kazakhstan]. KTK. https://www.ktk.kz/ru/news/video/2022/09/30/223965/
- Alaklabi, S., & Kang, K. (2021). Perceptions towards cryptocurrency adoption: A case of Saudi Arabian citizens. Journal of Electronic Banking Systems, 1–17. https://doi.org/10.5171/2021.110411
- Mensah, I.K., & Mwakapesa, D.S. (2022). The drivers of the behavioral adoption intention of bitcoin payment from the perspective of Chinese citizens. Security and Communication Networks, 2022, 1–17. https://doi.org/10.1155/2022/7373658
- King, M.R. (2022). The future of AI in medicine: A perspective from a chatbot. Annals of Biomedical Engineering, 51(2), 291–295. https://doi.org/10.1007/s10439-022-03121-w
- Carayannopoulos, S. (2018). Using chatbots to aid transition. International Journal of Information and Learning Technology, 35(2), 118–129. https://doi.org/10.1108/ijilt-10-2017-0097
- Dale, R. (2016). The return of the chatbots. Natural Language Engineering, 22(05), 811–817. https://doi.org/10.1017/s1351324916000243
- Zem??k, M. T. (2019). A brief history of chatbots. Link
- Shum, H., He, X., & Li, D. (2018). From Eliza to XiaoIce: challenges and opportunities with social chatbots. Frontiers of Information Technology & Electronic Engineering, 19(1), 10–26. https://doi.org/10.1631/fitee.1700826
- Klopfenstein, L.C., Delpriori, S., Malatini, S., & Bogliolo, A. (2017). The rise of Bots. Proceedings of the 2017 Conference on Designing Interactive Systems. https://doi.org/10.1145/3064663.3064672
- Zem??k, T. (2019). A brief history of chatbots. DEStech Transactions on Computer Science and Engineering, aicae. https://doi.org/10.12783/dtcse/aicae2019/31439
- Marietto, M.D.G.B., et al. (2013). Artificial Intelligence Markup Language: A brief tutorial. International Journal of Computer Science & Engineering Survey, 4(3), 1–20. https://doi.org/10.5121/ijcses.2013.4301
- Molnar, G., & Szuts, Z. (2018). The role of Chatbots in formal education. 2018 IEEE 16th International Symposium on Intelligent Systems and Informatics (SISY). https://doi.org/10.1109/sisy.2018.8524609
- Scopus preview – Scopus – Welcome to Scopus. (n.d.). Link
- Zhou, C., et al. (2023). A comprehensive survey on pretrained foundation models: A history from Bert to chatgpt. arXiv.org. https://arxiv.org/abs/2302.09419
- Y. Fu, H. Peng, and T. Khot. (2022). How does GPT Obtain its Ability? Notion. Link
- Vaswani, A., et al. (2023). Attention is all you need. arXiv.org. https://arxiv.org/abs/1706.03762
- Devlin, J., et al. (2019). Bert: Pre-training of deep bidirectional Transformers for language understanding. arXiv.org. https://arxiv.org/abs/1810.04805
- OpenAI. (2022). Introducing ChatGPT. https://openai.com/blog/chatgpt#OpenAI
- Liu, X., et al. (2021). GPT understands, too. arXiv. https://doi.org/10.48550/arxiv.2103.10385
- Alshater, M. (2022). Exploring the role of artificial intelligence in enhancing academic performance: A case study of chatgpt. https://doi.org/10.2139/ssrn.4312358
- Biswas, S. (2022). Role of CHATGPT in computer programming. Mesopotamian Journal of Computer Science, 20–28. https://doi.org/10.58496/mjcsc/2022/004
- Jeblick, K., et al. (2022). Chatgpt makes medicine easy to swallow. arXiv.org. https://arxiv.org/abs/2212.14882
- Bang, Y. (2023). A multitask, multilingual, multimodal evaluation of ChatGPT. arXiv.org. https://arxiv.org/abs/2302.04023
- OpenAI. (2023). GPT-4 Technical Report. arXiv.org. https://arxiv.org/abs/2303.08774
- Natalie. (2023). What is ChatGPT? OpenAI Help Center. Link
- Zhao, W.X., et al. (2023). A survey of large language models. arXiv.org. https://arxiv.org/abs/2303.18223
- Knight, W. (2023). OpenAI’s CEO says the age of giant AI models is already over. WIRED. Link
- Lewis, P., et al. (2021). Retrieval-augmented generation for knowledge-intensive NLP tasks. arXiv.org. https://arxiv.org/abs/2005.11401
- Zhang, Y., et al. (2022). RetGen: A joint framework for retrieval and grounded text generation modeling. https://doi.org/10.1609/aaai.v36i10.21429
- Lazaridou, A., et al. (2022). Internet-augmented language models. arXiv.org. https://arxiv.org/abs/2203.05115
- Madaan, A., et al. (2023). Memory-assisted prompt editing to improve GPT-3 after deployment. arXiv.org. https://arxiv.org/abs/2201.06009
- Isbister, T., et al. (2021). Should we Stop Training More Monolingual Models...? ACL Anthology. Link
- Liu, D., & Hsu, H. (2009). An international comparison of empirical generalized double diamond model approaches. https://doi.org/10.1108/10595420910962043
- Saabith, A. S., et al. (2019). Python current trend applications-an overview. Link
- Topsakal, O., & Akinci, T. C. (2023). Creating large language model applications utilizing LangChain. https://doi.org/10.59287/icaens.1127