Skip to main content

A tool designed to create prompt instructions for neural networks in XML format.

Project description

promptxml

License: MIT GitHub stars PyPI version code style: black formatted with: isort formatted with: isort

About

promptxml is a tool designed to create prompt instructions for neural networks in XML format. This tool helps structure and manage complex prompts, making it easier to feed instructions to neural networks in a well-organized XML format.

Installation

To install promptxml, simply use pip:

pip install promptxml

Usage

Using PromptItem

from promptxml import PromptItem

# Create a new PromptItem
item = PromptItem(label="guideline", value="Do something once")

# Print the XML representation
print(item.to_xml())

Using PromptSection

from promptxml import PromptSection, PromptItem

# Create a new PromptSection
section = PromptSection(label="guidelines")

# Add items to the section
section.add(
    PromptItem(label="guideline", value="Do something once"),
    PromptItem(label="guideline", value="Do something twice")
)

# Print the XML representation
print(section.to_xml())

Nested PromptSection and PromptItem

from promptxml import PromptItem, PromptSection

# Create a new section with nested items and sections
section = PromptSection(label="guidelines")

section.add(
    PromptItem(label="guideline", value="Do something once"),
    PromptItem(label="guideline", value="Do something twice"),
    PromptSection(
        label="guideline",
        items=[
            PromptItem(label="instruction", value="This is a complex instruction with nested list."),
            PromptSection(
                label="some_items",
                items=[
                    PromptItem(label="some_item", value="This is item 1"),
                    PromptItem(label="some_item", value="This is item 2"),
                    PromptItem(label="some_item", value="This is item 3"),
                ],
                instruction="instructions can also be in attributes!, and it can contain some \"quotes\" and 'other quotes'",
                second_attr="qwerty",
            ),
        ],
    ),
    PromptSection(
        label="guideline",
        items=[
            PromptItem(
                label="instruction",
                value="This is a second complex instruction with nested list built with build_multiple.",
            ),
            PromptSection(
                label="some_items",
                items=PromptItem.build_multiple(
                    label="some_item",
                    values=[
                        "This is item 1",
                        "This is item 2",
                        "This is item 3",
                    ],
                ),
            ),
        ],
    ),
)

# Print the XML representation and pretty-print it
print(section.to_xml())
print(section.make_pretty())

Troubleshooting

If you encounter any issues, please visit the issues section on GitHub to report a problem or seek assistance.

Contribution

Contributions are welcome. Please fork the repository, make your changes, and submit a pull request. For detailed contribution guidelines, please refer to the CONTRIBUTION.md file.

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

promptxml-0.1.1.tar.gz (3.8 kB view hashes)

Uploaded Source

Built Distribution

promptxml-0.1.1-py3-none-any.whl (4.5 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