{"id":33169833,"url":"https://github.com/szegedai/hun-appointment-chatbot","last_synced_at":"2026-02-01T07:33:41.499Z","repository":{"id":42066544,"uuid":"308933533","full_name":"szegedai/hun-appointment-chatbot","owner":"szegedai","description":"A simple chatbot to schedule an appointment in Hungarian.","archived":false,"fork":false,"pushed_at":"2023-02-12T11:40:09.000Z","size":198319,"stargazers_count":6,"open_issues_count":5,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-07-15T14:17:45.839Z","etag":null,"topics":["chatbot","hungarian-language","nlp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/szegedai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-31T17:16:10.000Z","updated_at":"2024-04-30T13:45:00.000Z","dependencies_parsed_at":"2023-01-18T12:01:07.411Z","dependency_job_id":null,"html_url":"https://github.com/szegedai/hun-appointment-chatbot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/szegedai/hun-appointment-chatbot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szegedai%2Fhun-appointment-chatbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szegedai%2Fhun-appointment-chatbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szegedai%2Fhun-appointment-chatbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szegedai%2Fhun-appointment-chatbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/szegedai","download_url":"https://codeload.github.com/szegedai/hun-appointment-chatbot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/szegedai%2Fhun-appointment-chatbot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285494607,"owners_count":27181443,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-20T02:00:05.334Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","hungarian-language","nlp"],"created_at":"2025-11-16T01:00:35.513Z","updated_at":"2025-11-20T19:00:36.006Z","avatar_url":"https://github.com/szegedai.png","language":"Python","funding_links":[],"categories":["Tools"],"sub_categories":["Other"],"readme":"# Hun-appointment-chatbot\n\nA simple Hungarian chatbot for booking an appointment using the Rasa framework.\n\nThis repository contains the bot, backend and frontend for a site that can be deployed and used for hosting discussions with the bot.\n\n### Structure of the repository\n\nThe repository contains four separate submodules, as well as a few scripts for various smaller tasks.\n```\nhun-appointment-chatbot/\n├─ action_server/\n├─ rasa_server/\n├─ nodejs/\n├─ flask_tts/\n```\n\n- **action_server**: Action server module for the bot, the brain of the chatbot. All code that determines how the bot reacts and handles user interactions are implemented here.\n- **rasa_server**: Rasa server module. The bot structure (NLU and Core parts) is implemented here.\n- **nodejs**: Backend for the site where the bot is deployed.\n- **flask_tts**: Frontend for the bot's website.\n\n### Local development and usage\n\nThe easiest way to interact with the bot locally is through rasa CLI. This process describes how to set up the environment, train your custom NLU and Core models for the bot, and how to have discussions with the bot in the terminal.\n\nIf you're not looking for deploying the whole site, but only the development of the chatbot the relevant submodules  for this are the action server and the Rasa server.\n\n### Setup\n* Install dependencies with \u003ccode\u003epip install -r requirements.txt\u003c/code\u003e. Please note, that the two modules (rasa_server and action_server) have separate dependencies, you'll need to install both. (Two separate virtual environments for the two submodules are perfectly fine as well.)\n* Rasa will try to use NLP models linked to 'hu' in Spacy\n    * Link Hungarian models to Spacy: \u003ccode\u003epython3 -m spacy link hu_core_ud_lg hu\u003c/code\u003e\n * You can now train models with \u003ccode\u003erasa train\u003c/code\u003e, but the steps above are also required for having a conversation with the bot locally\n\n### Usage\nBefore using the bot, you'll have to specify a list of dates that the bot'll accept or suggest as free dates.\nYou can do this by adding new rows to the `action_server/test_data.json` file. Each row should correspond to an interval, like this:\n```json\n[\n  {\"start_date\":  \"2021-01-18T12:00\", \"end_date\": \"2021-01-18T18:00\"},\n  {\"start_date\":  \"2021-01-20T12:00\", \"end_date\": \"2021-01-20T18:00\"}\n]\n```\nThe chatbot will ignore all past intervals or the past part of any relevant intervals.\u003cbr\u003e\n\nA much simpler way for testing purposes to use the script in the project root to generate random intervals for the bot. To achieve this, simply run `python data_generator.py`. This will overwrite data in `action_server/test_data.json`.\n\nTo be able to interact with the bot, you'll need to get both the action and rasa servers running.\n\nFor the action server, run `rasa run actions` in the `action_server` submodule. This will start a local server that receives data from the quasi frontend of the bot (the rasa server).\n\nNow, run `rasa shell` in the `rasa_server` directory. \n\nThe program might take a few seconds to load, after which you can initiate a conversation with the chatbot.\n\nThe following is an example conversation, that shows the chatbot's capabilities.\n```\nUSER:   Szia                                                                                                                                                                                                                     \nBOT:    Szia! Miben segíthetek?\nUSER:   időpontot szertenék foglalni                                                                                                                                                                                             \nBOT:    Okés. Mikor lenne jó?\n        Esetleg holnap délután 2 óra és délután 4 óra között jó valamikor?\nUSER:   esetleg jövő héten inkább?                                                                                                                                                           \nBOT:    A kért időszakban több alkalom is megfelel, például jövő hét hétfőn, jövő hét csütörtökön és jövő hét pénteken. Megfelel esetleg valamikor ezek közül?\nUSER:   legyen a csütörtök                                                                                                                                                                                                        \nBOT:    A kért időszakban több alkalom is megfelel, például jövő hét csütörtökön reggel 9 óra-tól 12 óra-ig és jövő hét csütörtökön délután 2 óra-tól délután 5 óra-ig. Megfelel esetleg valamikor ezek közül?\nUSER:   délelőtt                                                                                                                                                                                                       \nBOT:    Szuper, reggel 9 óra és délelőtt 11 óra között jól hangzik. Ezen belül ráérsz?\nUSER:   legyen 9                                                                                                                                                                                                     \nBOT:    Rendben, Főnök úr számára tökéletes időpont reggel 9 óra. Köszönöm!\n```\n\n## License\nThis project is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0) license. Feel free to use it in your own projects.\n\n## Contribute\nAny help or feedback in further developing the library is welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszegedai%2Fhun-appointment-chatbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fszegedai%2Fhun-appointment-chatbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fszegedai%2Fhun-appointment-chatbot/lists"}