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.15.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

promptweaver-0.1.15-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: promptweaver-0.1.15.tar.gz
  • Upload date:
  • Size: 13.5 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.15.tar.gz
Algorithm Hash digest
SHA256 df3f80887358c0eaa00bb06c1e96c4a49cb922947ac34309037e8aab87722eb2
MD5 d1fc3452651459fad0672e6ceaa098f4
BLAKE2b-256 e863dd71d36b83361e424fdea945a980f813a6c417a407f24a9709fc3d840539

See more details on using hashes here.

File details

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

File metadata

  • Download URL: promptweaver-0.1.15-py3-none-any.whl
  • Upload date:
  • Size: 20.4 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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 66d4b409265a7d38c1f2ae8f2569b7a2ffe1fc35f5bbb2687d0a03137de17d26
MD5 7102754973019be2adaddac2f934d7d0
BLAKE2b-256 0a16198acd128e9048ff0701117f17fc2cacee0b9137ba43401208ca9e200da0

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