Tables preparation notebook (creating MySQL Database from Excel tables) - data_prep_tables.ipynb
Text preparation notebook (chunking text and pushing embeddings to ChromaDB) - data_prep_text.ipynb
Main project code (Langchain chains) - project.ipynb
Бот настроен отвечать только на вопросы по существу, чтобы не отнимать рабочее время персонала и деньги компании за пользование ботом:
![](https://private-user-images.githubusercontent.com/77928025/248784753-389407ef-9d28-4a91-8dac-acf0ed7553a8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1NzMyNTUsIm5iZiI6MTcxOTU3Mjk1NSwicGF0aCI6Ii83NzkyODAyNS8yNDg3ODQ3NTMtMzg5NDA3ZWYtOWQyOC00YTkxLThkYWMtYWNmMGVkNzU1M2E4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDExMDkxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFlOWY0YjYzMGFjOTAzMDE1ZGZiMTQzOTY2Nzk1NWY2YmI4Yjc3MzFhNWRkZGExMjFmNTQ3YWQ1Y2M5MzBhOTEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ngi-giN3V6kBMExHSsOMbFhrru2uResuiGWpdUjI1lA)
Бот предоставляет информацию из документа и запоминает предыдущий разговор, поэтому понимает, о чём пользователь спрашивает, когда задаёт неявный вопрос:
![](https://private-user-images.githubusercontent.com/77928025/248785290-f30b5fba-20c4-4bfa-811f-bfcfab6b04ff.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1NzMyNTUsIm5iZiI6MTcxOTU3Mjk1NSwicGF0aCI6Ii83NzkyODAyNS8yNDg3ODUyOTAtZjMwYjVmYmEtMjBjNC00YmZhLTgxMWYtYmZjZmFiNmIwNGZmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDExMDkxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkyNTEwMDE3MTNiNTI4YzgzMDRlODZiZjM4ZDdhMWIxOWUzYTNkYTRhY2I3ZGNkNGM3YWU4ZmQwZDQxNjE3M2UmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.bEoTsXjEyPlj1Z2C2g-1GcyEIPXkEdPpyC40KyvCkxA)
Также бот может отвечать на более конкретные вопросы из документа, используя эмбеддинги и векторную базу данных:
![](https://private-user-images.githubusercontent.com/77928025/248785661-a5d9de3d-d0bf-4898-8f1b-3005a914f660.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1NzMyNTUsIm5iZiI6MTcxOTU3Mjk1NSwicGF0aCI6Ii83NzkyODAyNS8yNDg3ODU2NjEtYTVkOWRlM2QtZDBiZi00ODk4LThmMWItMzAwNWE5MTRmNjYwLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDExMDkxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkyZmRlM2E5MTk1MTRiYmFhMWNiOTRlZmI0MDAxNDIyNTc5MWIwMWMwODIwMGIyZjRlNmE4ZDc2YmY0N2MzMWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.voqZPhhhrwW0gA5tL8eCyr98w8ary5mnEABQIkCjtcM)
На вопросы по данным из таблиц документа, бот делает SQL-запрос к базе данных и возвращает ответ:
![](https://private-user-images.githubusercontent.com/77928025/248786118-6dc596d2-1ed4-4f5e-a1db-b0588a64497c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk1NzMyNTUsIm5iZiI6MTcxOTU3Mjk1NSwicGF0aCI6Ii83NzkyODAyNS8yNDg3ODYxMTgtNmRjNTk2ZDItMWVkNC00ZjVlLWExZGItYjA1ODhhNjQ0OTdjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjI4VDExMDkxNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZiOTUwMzdlZjI2ZGFmNmIzYzE0NjA3MjdkZDU4YmYxY2ZlMmNlM2QzMmRhODAyM2JhNTFlNzI4YThhZjU4ZWUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-ZmHtaPcvnfyb0DrhdyMaGX6fZ_QQpKdYmJKLoQM6Y4)