Skip to main content

LLM plugin to generate few-shot prompts for plugin creation

Project description

llm-plugin-generator

PyPI Changelog Tests License

LLM plugin to generate plugins for LLM

Installation

Install this plugin in the same environment as LLM:

llm install llm-plugin-generator

Usage

To generate a new LLM plugin, use the generate-plugin command:

llm generate-plugin "Description of your plugin"

Options:

  • PROMPT: Description of your plugin (optional)
  • INPUT_FILES: Path(s) to input README or prompt file(s) (optional, multiple allowed)
  • --output-dir: Directory to save generated plugin files (default: current directory)
  • --type: Type of plugin to generate (default, model, or utility)
  • --model, -m: Model to use for generation

--type

--type model will use a few-shot prompt focused on llm model plugins. --type utility focuses on utilities. leaving off --type will use a default prompt that combines all off them. I suggest picking one of the focused options which should be faster.

Examples:

  1. Basic usage:
llm generate-plugin "Create a plugin that translates text to emoji" --output-dir ./my-new-plugin --type utility --model gpt-4
  1. Using a prompt and input files - Generating plugin from a README.md
llm generate-plugin "Few-shot Prompt Generator. Call it llm-few-shot-generator" \
'files/README.md' --output-dir plugins/Utilities/few-shot-generator \
--type utility -m claude-3.5-sonnet
  1. Using websites or remote files:
llm generate-plugin "Write an llm-cerebras plugin from these docs: $(curl -s https://raw.githubusercontent.com/irthomasthomas/llm-cerebras/refs/heads/main/.artefacts/cerebras-api-notes.txt)" \
--output-dir llm-cerebras  --type model -m sonnet-3.5 

This will generate a new LLM plugin based on the provided description and/or input files. The files will be saved in the specified output directory.

Features

New: Requests are now logged to the llm db.

  • Generates fully functional LLM plugins based on descriptions or input files
  • Supports different plugin types: default, model, and utility
  • Uses few-shot learning with predefined examples for better generation
  • Allows specifying custom output directory
  • Compatible with various LLM models
  • Generates main plugin file, README.md, and pyproject.toml
  • Extracts plugin name from generated pyproject.toml for consistent naming

Development

To set up this plugin locally, first checkout the code. Then create a new virtual environment:

cd llm-plugin-generator
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

Contributing

Contributions to llm-plugin-generator are welcome! Please refer to the GitHub repository for more information on how to contribute.

License

This project is licensed under the Apache License 2.0. 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

llm_plugin_generator-0.6.tar.gz (124.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_plugin_generator-0.6-py3-none-any.whl (130.8 kB view details)

Uploaded Python 3

File details

Details for the file llm_plugin_generator-0.6.tar.gz.

File metadata

  • Download URL: llm_plugin_generator-0.6.tar.gz
  • Upload date:
  • Size: 124.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for llm_plugin_generator-0.6.tar.gz
Algorithm Hash digest
SHA256 c822b33b7872ffa7062bc85d196ac9adade2da4303b7b9a1a27dd7b69ae78ce5
MD5 5d1cbb921bbae3bb4455c858141082bf
BLAKE2b-256 05c3741a1706c42cf6ad84a6f13cf15923c0509e8c8946ac75f6ee799483eb73

See more details on using hashes here.

File details

Details for the file llm_plugin_generator-0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for llm_plugin_generator-0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 452c6914c5c87dd8a60b3e17bdb252267214e3d71a42d989be1c8749798e2f94
MD5 5458f853716677a82fee8fd6c356c13c
BLAKE2b-256 02faf80e78dd53ab93a76663e3774eb2b606bac568f34e2bd24d0ff914ea036b

See more details on using hashes here.

Supported by

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