Skip to main content

PromptWeaver streamlines prompt development and management in Generative AI workflows

Project description

PromptWeaver is a Python library that streamlines prompt development and management in Generative AI workflows. It decouples prompts from Python scripts, enhancing portability, maintainability, and scalability for developers working with multiple LLMs or complex prompting workflows.

This project is currently under active development and may undergo significant changes. We welcome your feedback and contributions!

Features

  • Separate prompts from code for better modularity.
  • Supports multimodal input (text, images, audio, video).
  • Integration with large language models such as Gemini.
  • YAML-based prompt configuration with sample and default values.
  • Extensible to support other LLM APIs.

Installation

PromptWeaver can be easily installed using pip:

pip install promptweaver

Note: PromptWeaver requires Python 3.8 or higher.

Usage

First, you need to start by creating a .yml.j2 promptweaver template.

You will find template examples in our promptweaver gallery.

name: Hello World
description: A quickstart prompt showcasing how to answer a simple user message using gemini.
model:
  model_name: gemini-1.5-flash-001
  generation_config:
    temperature: 0.3
    max_output_tokens: 250
  system_instruction: You are an AI model trained to answer questions. Be kind and objective in your answers.
# ---
variables:
  user_message:
    sample: Hi!
# ---
user:
  - text: {{ user_message }}

Now you can call one of the supported LLM clients using the promptweaver template.

from promptweaver.core.prompt_template import PromptConfig
from promptweaver.clients.gemini.gemini_client import GeminiClient

# Initialize the Gemini client
gemini_client = GeminiClient(project="project_id", location="project_location")

# Load the prompt configuration
example_prompt = PromptConfig.from_file_with_sample_values("samples/example.yml.j2")

# Generate content
generate_content = gemini_client.generate_content(example_prompt)
print(generate_content.text)

Contributing

We welcome contributions! Please read our contributing guide for details on how to get started. The project can be found on GitHub.

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

promptweaver-0.1.14.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

promptweaver-0.1.14-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file promptweaver-0.1.14.tar.gz.

File metadata

  • Download URL: promptweaver-0.1.14.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.19.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for promptweaver-0.1.14.tar.gz
Algorithm Hash digest
SHA256 6e6f8411cc33a05dc07f3b529a44bd380f9edcc19643a7d29ff2ebca9037adaa
MD5 6985b791421d3125c70b6f9d0dab9144
BLAKE2b-256 7597d63422a55bf4e0055daec3c17e54e808bc78423fbb421f47dec7c6fe7ca9

See more details on using hashes here.

File details

Details for the file promptweaver-0.1.14-py3-none-any.whl.

File metadata

  • Download URL: promptweaver-0.1.14-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.19.3 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for promptweaver-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 c435ebf169fbc62d1ab70ef8294c76d1ee333182833d85749b2fd1d909bb1ed0
MD5 4a8fe039c3ab72882bc4ada6cd1d2066
BLAKE2b-256 844d8f1487ed101ebacd2410fa9d8cc360059f5732ef29e70c3c5b196a701375

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