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 details)

Uploaded Source

Built Distribution

promptxml-0.1.1-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file promptxml-0.1.1.tar.gz.

File metadata

  • Download URL: promptxml-0.1.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.4 Linux/6.5.0-1023-azure

File hashes

Hashes for promptxml-0.1.1.tar.gz
Algorithm Hash digest
SHA256 63e2bb8dc2d0070219bf57d0ceceda907e1be7b6cdba11abed03f2863f8364af
MD5 9da40af7ecf551e4550fac91c94683d3
BLAKE2b-256 e26b0d0c379e9a0c47a4230fa9eee4f32b6b9727bcc0bd0d7c7a76c40f6ad351

See more details on using hashes here.

File details

Details for the file promptxml-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: promptxml-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.4 Linux/6.5.0-1023-azure

File hashes

Hashes for promptxml-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 66069c1eee9469f86b9f7bc71b4bdea2283d55ed454755b64cc7f162b4763639
MD5 67cf0a72c3e09323c5fa3569a3d298d7
BLAKE2b-256 3f408db2688509a0d357219a11d44ad34953174c2875197f900cd8d411fda70a

See more details on using hashes here.

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