irthomasthomas / llm-plugin-generator

LLM plugin to generate plugins for LLM
MIT License
1 stars 0 forks source link

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:

--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
  2. 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
  3. 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.

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.