Skip to main content

Write dynamic LLM prompts as natural language

Project description

Promptu

Write dynamic LLM prompts as natural language

Promptu provides a suite of natural language generation utilities for prompt engineers, such as truncation, pluralization and natural language list formatting.

Project Status

:warning: This project is currently in its infancy. Please report bugs and expect breaking changes.

Installation

pip install promptu

Example

from promptu import join

def find_matching_color(existing_colors):
    return f'What color goes well with {join(items=existing_colors, conjunction="and")}?'

# Prints "What color goes well with blue, purple and white?"
print(find_matching_color(['blue', 'purple', 'white']))

Using in Langchain

runnable = (
    {'prompt': RunnableLambda(find_matching_color)}
    | PromptTemplate.from_template('{prompt}')
    | model
)
runnable.invoke(['blue', 'purple', 'white'])

Prompting Utilities

join()

Formats a list of items as a natural language list.

Syntax:

join(items: Iterable, conjunction: str) -> str

pluralize()

Selects the singular or plural form of a word based on the number of items.

Syntax:

pluralize(singular: str, plural: str, items: Iterable) -> str

truncate()

Truncates a string to a maximum length. If the text is longer than the maximum length, all characters after the maximum length are replaced with the suffix.

Syntax:

truncate(
    text: str, max_length: int, mode=TruncateMode.CHARACTER, suffix="..."
) -> str

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

promptu-0.1.0.tar.gz (3.1 kB view hashes)

Uploaded Source

Built Distribution

promptu-0.1.0-py3-none-any.whl (4.2 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