A package for simplified and reproducible LLM prompting.
Project description
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:
- Bardia Khosravi (bardiakhosravi95@gmail.com)
- Theo Dapamede (theo.dapamede@emory.edu)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for radprompter-1.1.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 315bdde6280346c4b8fdad961dcc0ad42e980570d697a1c68ac043b7dd8817fe |
|
MD5 | 93f9719c2adf5756ed4e340c66f31e32 |
|
BLAKE2b-256 | f04269fd16ce4250e52368639045076580bfa19e333058634943825098a5f2ca |