Skip to main content

Git-native prompt management library for LLM applications

Project description

prompt-vcs

Git-native prompt management library for LLM applications

一个轻量级、代码优先的 Python 库,基于 Git 和文件系统管理 LLM Prompts,无需外部数据库。

安装

pip install prompt-vcs

快速开始

1. 初始化项目

pvcs init

2. 内联模式

from prompt_vcs import p

# 默认使用代码中的字符串,lockfile 锁定后使用对应版本
msg = p("user_greeting", "你好 {name}", name="开发者")

3. 装饰器模式

from prompt_vcs import prompt

@prompt(id="system_core", default_version="v1")
def get_system_prompt(role: str):
    """
    你是一个乐于助人的助手,扮演的角色是 {role}。
    """
    pass

4. 提取 Prompt 为 YAML

pvcs scaffold src/

5. 切换版本

pvcs switch user_greeting v2

6. 自动迁移现有代码

将硬编码的 prompt 字符串自动转换为 p() 调用:

# 预览变更
pvcs migrate src/ --dry-run

# 交互式迁移(逐个确认)
pvcs migrate src/

# 自动应用所有变更
pvcs migrate src/ --yes

支持的转换:

# 转换前
prompt = f"Hello {user.name}, 价格: {price:.2f}"

# 转换后
from prompt_vcs import p
prompt = p("demo_prompt", "Hello {user_name}, 价格: {price:.2f}", 
           user_name=user.name, price=price)

特性:

  • ✅ f-string 变量提取
  • ✅ 格式化符号保留 (:.2f)
  • ✅ 属性/字典访问自动清洗 (user.nameuser_name)
  • ✅ 自动添加导入语句
  • ✅ 智能跳过短字符串和复杂表达式

核心理念

  • 无数据库: 文件系统就是数据库
  • Git 原生: 版本控制依赖文件命名规范和 Git 提交
  • 代码优先: 开发者首先在代码中定义 Prompt
  • 零延迟开发: 开发模式使用代码中的字符串,生产模式读取 Lockfile

License

MIT

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

prompt_vcs-0.1.0.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

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

prompt_vcs-0.1.0-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file prompt_vcs-0.1.0.tar.gz.

File metadata

  • Download URL: prompt_vcs-0.1.0.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for prompt_vcs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 49670df0c0f2c775df21114deeba0a0e914dfab0536e2932158f27865a15c4cf
MD5 0fc0b73751095b656f1bfd7fc8ffaccb
BLAKE2b-256 f2dc18a0ac12d2a52c1091b39168f30c9482dbe7c1cbc9eef489406bd2c4a141

See more details on using hashes here.

File details

Details for the file prompt_vcs-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: prompt_vcs-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for prompt_vcs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb2689affee50eabda39d8e480451eaeede900a98b1a131d00df304b2104e483
MD5 06903723b071a82c975e9297dfbbe247
BLAKE2b-256 cf77005a62e480ee54ff4c1492b11cbeb2911534a4b71370c074cad16dbf50a3

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