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.name→user_name) - ✅ 自动添加导入语句
- ✅ 智能跳过短字符串和复杂表达式
核心理念
- 无数据库: 文件系统就是数据库
- Git 原生: 版本控制依赖文件命名规范和 Git 提交
- 代码优先: 开发者首先在代码中定义 Prompt
- 零延迟开发: 开发模式使用代码中的字符串,生产模式读取 Lockfile
License
MIT
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
prompt_vcs-0.1.0.tar.gz
(20.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
49670df0c0f2c775df21114deeba0a0e914dfab0536e2932158f27865a15c4cf
|
|
| MD5 |
0fc0b73751095b656f1bfd7fc8ffaccb
|
|
| BLAKE2b-256 |
f2dc18a0ac12d2a52c1091b39168f30c9482dbe7c1cbc9eef489406bd2c4a141
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb2689affee50eabda39d8e480451eaeede900a98b1a131d00df304b2104e483
|
|
| MD5 |
06903723b071a82c975e9297dfbbe247
|
|
| BLAKE2b-256 |
cf77005a62e480ee54ff4c1492b11cbeb2911534a4b71370c074cad16dbf50a3
|