Skip to content

aaekay/RadPrompter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RadPrompter

RadPrompter

RadPrompter is a Python package for simplified and reproducible LLM prompting, particularly tailored for biomedical applications, including Radiology.

Installation

Upgrade your pyhton to >=3.11 You can install RadPrompter using pip:

pip install radprompter

Getting Started

The core of RadPrompter is the .toml configuration file which defines your prompts. Here's a minimal example:

[METADATA]
version = 0.1
description = "A sample prompt for RadPrompter"

[CONSTRUCTOR]
system = "You are an experienced radiologist that help users extract infromation from radiology reports."
user = """Does the following report indicate a normal or abnormal finding?
{{report}}

Just reply with "normal" or "abnormal" to indicate your answer, without any additional information.
"""

And here's how you would use it in Python:

from radprompter import Prompt, RadPrompter, vLLMClient

prompt = Prompt("sample.toml")

client = vLLMClient(
    model="meta-llama/Meta-Llama-3-8B-Instruct",
    base_url="https://localhost:9999/v1",
    temperature=0.0,
    seed=42
)

engine = RadPrompter(
    client=client,
    prompt=prompt, 
    output_file="output.csv",
)

reports = [{"report": "..."}]  # Your radiology reports
engine(reports)

For more details and advanced usage, check out our tutorials.

Tutorials

Tutorial Description Notebook
01_Basic-Usecase Covers the basic usage of RadPrompter 👁️ 📓
02_RDP-Templating Introduces the [PROMPTS] section and rdp operator 👁️ 📓
03_Multiturn-Prompting Demonstrates multi-turn prompting 👁️ 📓
04_Using-Schemas Shows how to use schemas for structured output 👁️ 📓
05_JSON-Prefill Covers using JSON prefills and sanitization 👁️ 📓
06_HuggingFace-Client Covers using the new HuggingFaceClient 👁️ 📓

Contributing

We welcome contributions! If you have any updates or improvements to the package, please open an issue or submit a pull request. We're happy to review and incorporate your changes.

Authors

RadPrompter is created and maintained by:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 83.4%
  • Python 16.6%