Skip to main content

A package for simplified and reproducible LLM prompting.

Project description

RadPrompter

RadPrompter

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

Installation

You can install RadPrompter using pip:

pip install radprompter

Note: RadPrompter works with Python 3.7+. However, for maximum compatilibity we recommend using Python 3.11+.

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="http://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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

radprompter-1.1.15.tar.gz (132.5 kB view hashes)

Uploaded Source

Built Distribution

radprompter-1.1.15-py3-none-any.whl (23.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page