LangPrompt Python SDK 是 LangPrompt 的 Python 客户端库,提供简洁易用的 API 来管理和使用 AI Prompt。
励志为开发者打造的 AI 友好型提示词管理一站式解决方案
提供提示词的版本管理、创建、迭代、批量测试与对比等完整工具链,让提示词工程像代码开发一样规范高效。
- 🔄 类 Git 版本控制 - 完整的提示词版本管理机制,每次修改可追溯
- 🔐 企业级权限体系 - 多层级角色权限控制(Owner/Admin/Editor/Viewer)
- 🚀 高性能 API - 异步架构,支持大规模并发请求
- 📊 灵活元数据管理 - 支持自定义配置和标签系统
- 🏷️ 多环境标签 - 内置 production/staging/development 环境管理
- 🤖 AI 原生设计 - 为 AI 工作流深度优化
结合大模型与 AI 编程工具(Claude Code、Codex 等),实现:
- ✨ 自动化提示词优化建议
- 📈 帮助模型以数据驱动的迭代决策
- 🔍 每次改进有迹可循、有理可依
- 🛠️ MCP 协议支持,无缝集成测试与创建工作流
项目 (Project)
└── 提示词 (Prompt)
└── 版本 (Version)
LangPrompt 采用类似 Git 的版本管理机制:
- 不可变字段:
content、version、commit_message、created_at一旦创建不可修改 - 可变字段:
labels、metadata可以动态更新 - 标签唯一性:同一提示词下,每个标签只能标记一个版本
- 版本递增:自动管理版本号,确保历史完整性
| 角色 | 权限范围 |
|---|---|
| Owner | 项目所有者,拥有所有权限包括项目删除 |
| Admin | 项目管理员,可管理成员和所有读写操作 |
| Editor | 编辑者,可创建和编辑提示词及版本 |
| Viewer | 查看者,仅可查看项目和提示词 |
# 使用 pip 安装
pip install langprompt-python
# 使用 uv 安装(推荐)
uv pip install langprompt-pythonfrom langprompt import LangPrompt
# 初始化客户端
client = LangPrompt(
project_name="my-project",
api_key="your-api-key"
)
# 获取提示词内容
content = client.prompts.get_prompt(
prompt_name="greeting",
label="production"
)
print(content)from langprompt import AsyncLangPrompt
import asyncio
async def main():
# 直接创建客户端,无需 async with
client = AsyncLangPrompt(
project_name="my-project",
api_key="your-api-key"
)
content = await client.prompts.get_prompt(
prompt_name="greeting",
label="production"
)
print(content)
# 可选:显式关闭(自动清理会在程序退出时处理)
# await client.close()
asyncio.run(main())export LANGPROMPT_PROJECT_NAME=my-project
export LANGPROMPT_API_KEY=your-api-key然后无需参数初始化:
client = LangPrompt() # 自动从环境变量读取配置project = client.projects.get()
print(f"项目名称: {project.name}")# 列出所有提示词(分页)
prompts = client.prompts.list(limit=20, offset=0)
print(f"总共 {prompts.total} 个提示词")
for prompt in prompts.items:
print(f"- {prompt.name}")# 获取生产版本
version = client.prompts.get(
prompt_name="greeting",
label="production"
)
print(f"版本号: {version.version}")
print(f"内容: {version.content}")version = client.prompts.get(
prompt_name="greeting",
version=5
)from langprompt.exceptions import (
NotFoundError,
AuthenticationError,
PermissionError,
)
try:
content = client.prompts.get_prompt("greeting", label="production")
except NotFoundError:
print("提示词不存在")
except AuthenticationError:
print("认证失败")
except PermissionError:
print("权限不足")client = LangPrompt(
project_name="my-project",
api_key="your-api-key",
enable_cache=True, # 启用缓存(默认:False)
cache_ttl=3600 # 缓存时间(秒)
)# 克隆项目
git clone https://github.com/langprompt/langprompt-python.git
cd langprompt-python
# 安装依赖(使用 uv)
uv sync
# 或使用 pip
pip install -e ".[dev]"# 运行所有测试
pytest
# 运行特定测试
pytest tests/test_projects.py
# 查看覆盖率
pytest --cov=langprompt --cov-report=html# 格式化代码
ruff format .
# 代码检查
ruff check .
# 类型检查
mypy langprompt欢迎贡献!请查看 CONTRIBUTING.md 了解详情。
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 提交 Pull Request
本项目采用 MIT 许可证 - 详见 LICENSE 文件
本项目是源于探索Vibe Coding的产物,超过99%的代码由AI编写。
此项目存在非常早期的阶段,请勿用于生产环境。
如有问题或建议,欢迎提交 Issue 或 Pull Request。