A framework for iterating on system prompts using evaluations
Project description
🌪️ Promptnado: Your AI-Powered Prompt Engineer
Meet Promptnado – your personal AI prompt engineer! 🚀 By harnessing the power of AI, Promptnado acts as your personal AI prompt engineer, automatically generating, testing, and refining prompts to meet your specific criteria. Say goodbye to manual prompt tweaking and hello to AI-driven prompting!
🌟 Features
- AI-powered iteration automatically generates and refines prompts.
- Use natural language instructions to define your prompt criteria.
- Automated evaluation tests each generated prompt against your specifications.
- Generate synthetic examples to boost your testing dataset.
- Choose your preferred models for prompt generation, evaluation, and testing.
- Evaluate not just text outputs, but also the model's ability to make correct function calls.
- Support for diverse input formats including strings, input-output pairs, Langchain messages, and interpolated dictionaries.
- Create new datasets on the fly or use your own for testing.
How Promptnado Works
- You provide a system prompt with the token to signify where our prompt changes will go.
- You provide example requests to test these changes, or promptnado will generate them for you.
- Promptnado's AI generates multiple prompt variations based on your instruction.
- Each prompt is tested against your examples and evaluated using AI.
- The process repeats, refining prompts until the evaluation results all pass.
- You get a finely-tuned prompt that meets your specific needs!
Installation
pip install promptnado
Quick Start
from promptnado import Promptnado
# The system prompt we want to optimize
# We set the <HERE> token to signify where our prompt changes will go
system_prompt = """You are a helpful assistant.
Rules:
- You are only allowed to talk about coding
- <HERE>
- Try to be concise"""
# The goal of the prompt changes
instruction = "The agent should only respond in English."
# Let's set 2 examples to start
examples = ["¿Cómo estás?", "How do typescript generics work?"]
pn = Promptnado(system_prompt, instruction, examples, max_attempts=5)
# Generate 2 more examples
pn.generate_examples(count=2)
# Run the optimization
pn.run()
Why Promptnado?
Prompt engineering is an art and a science. Promptnado brings the power of AI to this process, allowing you to save time on manual prompt tweaking, discover optimal prompts you might never have thought of, ensure consistency and quality in your AI interactions, and adapt quickly to new tasks and requirements.
Whether you're a seasoned AI engineer or just getting started with language models, Promptnado empowers you to create more effective, targeted prompts with ease. It's like having an AI prompt engineer right at your fingertips
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file promptnado-0.1.0.tar.gz
.
File metadata
- Download URL: promptnado-0.1.0.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4e3bfa47bc51e066ee0b5c58a6c35642c782a29f365b74e887190c0ec2922a0 |
|
MD5 | 8294f114e12898bc6265adee9485c0ad |
|
BLAKE2b-256 | a55735b206aeaeeb7ee6e2ed7044eacd0ad29ff47fed614eb2b679f874a5c6d5 |
File details
Details for the file promptnado-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: promptnado-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 516b3720f5fa87029b2935b74240a0c723055ce1722d40a536f1f1fd87b2948d |
|
MD5 | 0be6fd9395d63e3583f000397a91dc0f |
|
BLAKE2b-256 | 12cb5e7090cbd867723d20c9561ae6dcd7bcdee9448ed959c6d7fa0171da52f8 |