{"id":28855982,"url":"https://github.com/rasahq/rasalit","last_synced_at":"2025-10-24T01:17:28.848Z","repository":{"id":43083301,"uuid":"256514676","full_name":"RasaHQ/rasalit","owner":"RasaHQ","description":"Visualizations and helpers to improve and debug machine learning models for Rasa Open Source","archived":false,"fork":false,"pushed_at":"2022-02-10T10:35:38.000Z","size":9789,"stargazers_count":307,"open_issues_count":12,"forks_count":63,"subscribers_count":16,"default_branch":"main","last_synced_at":"2025-03-26T03:33:28.260Z","etag":null,"topics":["machine-learning","rasa","research","visualization"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RasaHQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-17T13:44:48.000Z","updated_at":"2025-02-19T08:35:49.000Z","dependencies_parsed_at":"2022-09-19T20:49:01.139Z","dependency_job_id":null,"html_url":"https://github.com/RasaHQ/rasalit","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/RasaHQ/rasalit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasaHQ%2Frasalit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasaHQ%2Frasalit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasaHQ%2Frasalit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasaHQ%2Frasalit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RasaHQ","download_url":"https://codeload.github.com/RasaHQ/rasalit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RasaHQ%2Frasalit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260852154,"owners_count":23072605,"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","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":["machine-learning","rasa","research","visualization"],"created_at":"2025-06-20T00:09:46.912Z","updated_at":"2025-10-24T01:17:23.826Z","avatar_url":"https://github.com/RasaHQ.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e **Note!** The code for this project is meant for Rasa Open Source 2.x. \n\n\u003cimg src=\"docs/logo.png\" width=300 align=\"right\"\u003e\n\n# RasaLit\n\nA collection of helpful viewers that help with understand Rasa NLU components.\nSome of these views are made using\n[streamlit](https://github.com/streamlit/streamlit), hence the wink in the name.\n\nFeedback is welcome.\n\n## Installation\n\nYou can install via pip by linking to this github repository.\n\n```\npython -m pip install git+https://github.com/RasaHQ/rasalit\n```\n\n### Compatibility\n\nThe focus is to support the most recent version of Rasa. Current we target 2.x. \nWe keep older versions around though. You can find rasalit for Rasa 1.10 [here](https://github.com/RasaHQ/rasalit/tree/r1.10).\n\n## Usage\n\nYou can directly access the command line app.\n\n```\n\u003e python -m rasalit --help\nUsage: rasalit [OPTIONS] COMMAND [ARGS]...\n\n  Helper Views for Rasa NLU\n\nOptions:\n  --help  Show this message and exit.\n\nCommands:\n  diet-explorer  Allows you to explore the DIET settings.\n  live-nlu       Select a trained Rasa model and interact with it.\n  nlu-cluster    Cluster a text file to look for clusters of intents.\n  overview       Gives an overview of all `rasa train nlu` results.\n  spelling       Check the effect of spelling on NLU predictions.\n  version        Prints the current version of rasalit.\n```\n\n## Features\n\nThe app contains a collection of viewers that each specialize in a seperate task.\n\n### `nlu-cluster`\n\nThis command allows you to cluster similar utterances in a text file.\n\n![](docs/cluster.gif)\n\nNote that this app has some extra dependencies. You can install them via;\n\n```\npython -m pip install \"whatlies[umap]\"\n```\n\nExample Usage:\n\n```\npython -m rasalit nlu-cluster --port 8501\n```\n\nThis will start a server locally. Internally it is using the [whatlies]() package to\nhandle the embeddings. This means that while the demo is only in English, you can extend\nthe code to work for Non-English scenarios too! For more details, as well as a labelling tool,\ncheck out the notebook found [here](https://github.com/RasaHQ/rasalit/blob/main/notebooks/bulk-labelling/bulk-labelling-ui.ipynb).\n\n### `overview`\n\nThis command shows an summary of the intent/entity scores from a `rasa train nlu` run.\n\n![](docs/overview.gif)\n\nExample Usage:\n\n```\n\u003e python -m rasalit overview --folder gridresults --port 8501\n```\n\nThis will start a server locally on port that will displace an interactive\ndashboard of all your NLU gridsearch data.\n\nTo fully benefit from this feature you'll need to run some models first.\nYou can run cross validation of models in Rasa via the command line:\n\n```\nrasa test nlu --config configs/config-light.yml \\\n              --cross-validation --runs 1 --folds 2 \\\n              --out gridresults/config-light\nrasa test nlu --config configs/config-heavy.yml \\\n              --cross-validation --runs 1 --folds 2 \\\n              --out gridresults/config-heavy\n```\n\nThen Rasa, in this case, will save the results in `gridresults/config-light` and\n`gridresults/config-heavy` respectively.\n\nTo get an overview of all the results in subfolders of  `gridresults`,\nyou can run the `rasalit overview --folder gridresults` command from the same\nfolder where you ran the `rasa test` command. You'll get some simple charts\n that summarise the intent/entity performance.\n\n### `spelling`\n\nThis command let's you predict text with augmented spelling errors to check for robustness.\n\n![](docs/spelling.gif)\n\n```\n\u003e python -m rasalit spelling --help\n\u003e python -m rasalit spelling --port 8501\n```\n\nThis will start a server locally on port 8501 that will displace an interactive\nplayground for your trained Rasa NLU model. You can see the confidence levels change\nas you allow for more or less spelling errors.\n\nIt's assumed that you run this command from the root of your Rasa project but you\ncan also make it point to other projects via the command line settings.\n\n### `live-nlu`\n\nThis command gives you an interactive gui that lets you see the output of a trained modelling pipeline.\n\n![](docs/nlu-playground.gif)\n\nExample Usage:\n\n```\n\u003e python -m rasalit live-nlu --help\n\u003e python -m rasalit live-nlu --port 8501\n```\n\nThis will start a server locally on port 8501 that will displace an interactive\nplayground for your trained Rasa NLU model. You can see the confidence levels as\nwell as the detected entities. We also show some shapes of internal featurization\nsteps.\n\nIt's assumed that you run this command from the root of your Rasa project but you\ncan also make it point to other projects via the command line settings.\n\n#### Attention Charts\n\nIf you're using the `DIETClassifier` you'll be able to also use this app to debug\nthe internals. The app also allows you to inspect all the pipeline settings as well\nas the internal attention mechanism.\n\n![](docs/attention.gif)\n\n### `diet-explorer`\n\nThis command gives you an interactive visualisation of DIET that allows you to see the available hyperparameters from all the layers in the algorithm.\n\n![](docs/diet-gif.gif)\n\nExample Usage:\n\n```\n\u003e rasalit diet-explorer --port 8501\n```\n\nThis will start a server locally on port 8501 that will display an interactive\nvisualisation of the DIET architecture.\n\n## Notebooks\n\nThis project also hosts a few jupyter notebooks that contain interactive tools.\n\n### Bulk Labelling\n\nThe bulk labelling demo found in [this video](https://www.youtube.com/watch?v=YsMoGd7sYMQ)\nand [this video](https://www.youtube.com/watch?v=T0dDetqgra4\u0026ab_channel=Rasa) can be found\n[here](https://github.com/RasaHQ/rasalit/blob/main/notebooks/bulk-labelling/bulk-labelling-ui.ipynb).\n\n![](docs/bulk.gif)\n\nThis notebook allows you to use embeddings and a drawing tool to do some bulk-labelling.\n\n## Contribute\n\nThere are many ways you can contribute to this project.\n\n- You can suggest new features.\n- You can help review new features.\n- You can submit new components.\n- You can let us know if there are bugs.\n- You can let us know if the components in this library help you.\n\nFeel free to start the discussion by opening an issue on this repository.\nBefore submitting code to the repository it would help if you first create\nan issue so that we can disucss the changes you would like\nto contribute. You can ping the maintainer (Github alias: **koaning**) both in\nthe issues here as well as on the [Rasa forum](https://forum.rasa.com)\nif you have any questions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frasahq%2Frasalit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frasahq%2Frasalit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frasahq%2Frasalit/lists"}