Skip to content

lesmesrafa/medical_llm_app

Repository files navigation

LLM-based Application for Medical Terminology

Python version pre-commit Ruff Checked with mypy Code style: black Documentation with jupyterbook

Overview

The LLM-based Application for Medical Terminology is a cutting-edge software tool designed to enhance the comprehension and utilization of medical terminology by students🎓. By using the capabilities of Large Language Models (LLMs), this application aims to provide real-time insights🕛, translations🈳🔤, and explanations🧑‍🏫 of complex medical terms and concepts. By integrating advanced natural language processing (NLP) techniques, the application facilitates a more intuitive understanding of medical language🏥🔤, thereby improving the educational outcomes in the medical field.

Discharge of responsibility: Do not use this if you are sick, better go to a doctor :)

Objective

The primary aim of the LLM-based Application for Medical Terminology is to significantly enhance understanding by assisting healthcare professionals and students in deciphering and comprehending complex medical terminology without the reliance on extensive manual research. It serves as an invaluable educational tool, enabling medical students and professionals to expand their medical vocabulary and grasp medical concepts in a more user-friendly manner. Furthermore, the application seeks to improve accessibility of medical terminology for non-medical professionals, such as patients and their families, by simplifying medical language into terms that are easier to understand. Through these efforts, the application strives to bridge the knowledge gap in medical terminology, ensuring that both medical and non-medical individuals can communicate more effectively and with greater confidence.

How to install dependencies

Declare any dependencies in src/requirements.txt for pip installation and src/environment.yml for conda installation.

To install them, run:

pip install -r src/requirements.txt

How to run your Kedro pipeline

You can run your Kedro project with:

kedro run

How to test your Kedro project

Have a look at the file src/tests/test_run.py for instructions on how to write your tests. You can run your tests as follows:

kedro test

To configure the coverage threshold, go to the .coveragerc file.

Project dependencies

To generate or update the dependency requirements for your project:

python -m piptools compile --upgrade --resolver backtracking -o src/requirements.lock src/requirements.txt -v
pip install -r src/requirements.lock

This will pip-compile the contents of src/requirements.txt into a new file src/requirements.lock. You can see the output of the resolution by opening src/requirements.lock.

After this, if you'd like to update your project requirements, please update src/requirements.txt and re-run kedro build-reqs.

How to work with Kedro and notebooks

Note: Using kedro jupyter or kedro ipython to run your notebook provides these variables in scope: catalog, context, pipelines and session.

Jupyter, JupyterLab, and IPython are already included in the project requirements by default, so once you have run pip install -r src/requirements.txt you will not need to take any extra steps before you use them.

Jupyter

To use Jupyter notebooks in your Kedro project, you need to install Jupyter:

pip install jupyter

After installing Jupyter, you can start a local notebook server:

kedro jupyter notebook

JupyterLab

To use JupyterLab, you need to install it:

pip install jupyterlab

You can also start JupyterLab:

kedro jupyter lab

IPython

And if you want to run an IPython session:

kedro ipython

How to convert notebook cells to nodes in a Kedro project

You can move notebook code over into a Kedro project structure using a mixture of cell tagging and Kedro CLI commands.

By adding the node tag to a cell and running the command below, the cell's source code will be copied over to a Python file within src/<package_name>/nodes/:

kedro jupyter convert <filepath_to_my_notebook>

Note: The name of the Python file matches the name of the original notebook.

Alternatively, you may want to transform all your notebooks in one go. Run the following command to convert all notebook files found in the project root directory and under any of its sub-folders:

kedro jupyter convert --all

How to ignore notebook output cells in git

To automatically strip out all output cell contents before committing to git, you can run kedro activate-nbstripout. This will add a hook in .git/config which will run nbstripout before anything is committed to git.

Note: Your output cells will be retained locally.

About

LLM to explain🧑‍🏫 some medical concepts 🏥

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages