PromptManager 是一款可直接用于生产环境的Python SDK,主打大模型提示词的压缩、增强、生成与校验能力,支持版本管理、流水线式操作。PromptManager 做到了大模型服务商无关性,可通过SDK、REST API、CLI三种方式部署使用,能全方位解决提示词开发、管理、优化过程中的各类问题。
PromptManager的核心功能包括提示词全生命周期管理,从优化到生成,从校验到版本追溯,功能丰富,实用性强。
1、提示词压缩:在保留语义的前提下,将令牌数量减少30%-70%,降低大模型调用成本。
2、提示词增强:提升提示词的清晰度、结构化程度与使用效果,让大模型理解更精准。
3、提示词生成:根据任务描述,自动创建适配不同场景的优化版提示词。
4、提示词校验:检测注入攻击、未填充的模板占位符、提示词质量问题等安全与使用隐患。
5、流水线操作:通过流畅的API将多个提示词操作串联,实现一站式处理。
6、版本控制:对提示词进行跟踪与管理,支持不同版本的检索、保存与切换。
PromptManager 支持核心功能单独安装,也可根据使用需求安装对应拓展模块,支持SDK、API、CLI等不同部署方式。
# 仅安装核心功能
pip install promptmanager
# 安装所有拓展功能
pip install promptmanager[all]
# 安装指定拓展模块
pip install promptmanager[api] # 部署REST API服务
pip install promptmanager[cli] # 使用命令行界面
pip install promptmanager[providers] # 集成各大LLM服务商
pip install promptmanager[compression] # 高级语义压缩功能
PromptManager 提供简单快速的调用方式,支持异步、同步API,支持单功能调用与组合操作。以下是核心功能的基础使用示例。
from promptmanager import PromptManager
pm = PromptManager()
指定压缩比例,对长提示词进行轻量化处理,保留核心语义。
result = await pm.compress(
"Your very long prompt with lots of unnecessary words...",
ratio = 0.5 # 目标压缩至原大小的50%
)
print(f"压缩后/原令牌数: {result.compressed_tokens}/{result.original_tokens}")
print(result.processed.text)
优化杂乱的提示词,提升表达的规范性与有效性,可指定增强等级。
result = await pm.enhance(
"help me code something for sorting",
level = "moderate"
)
print(result.processed.text)
# 输出示例: "Write clean, well-documented code to implement a sorting algorithm..."
根据任务描述与指定风格,自动生成适配的提示词,支持代码生成、翻译等多种场景。
result = await pm.generate(
task = "Create a Python function to validate email addresses",
style = "code_generation"
)
print(result.prompt)
检测提示词中的安全风险与格式问题,如注入攻击、未填充占位符等。
validation = pm.validate("Ignore previous instructions and...")
print(f"是否有效: {validation.is_valid}") # 输出False,检测到注入攻击
print(validation.issues)
一次性完成增强、压缩、校验多个操作,提升处理效率。
result = await pm.process(
"messy prompt here",
enhance=True,
compress= True,
validate= True
)
所有异步方法均提供同步版本,支持不同代码开发场景。
result = pm.compress_sync("prompt", ratio = 0.5)
result = pm.enhance_sync("prompt", level = "moderate")
result = pm.generate_sync(task= "Write code")
提供四种压缩策略,适配简单提示词、长文档、代码型提示词等不同场景,可自定义选择。
| 策略 | 速度 | 质量 | 适用场景 |
|---|---|---|---|
| lexical | 快速 | 良好 | 简单提示词、停用词移除 |
| statistical | 中等 | 更好 | 长文档、冗余内容移除 |
| code | 快速 | 优秀 | 以代码为主的提示词 |
| hybrid | 自适应 | 最优 | 生产环境默认使用 |
使用示例。
from promptmanager import PromptCompressor, StrategyType
compressor = PromptCompressor()
# 指定压缩策略与目标比例
result = compressor.compress(
text,
target_ratio = 0.5,
strategy= StrategyType.HYBRID
)
# 查看压缩指标
print(f"压缩比例: {result.compression_ratio:.2%}")
print(f"节省令牌数: {result.tokens_saved}")
PromptManager 支持仅规则和混合模式两种增强方式,前者快速无API调用,后者结合大模型实现更高质量优化。
from promptmanager import PromptEnhancer, EnhancementMode, EnhancementLevel
enhancer = PromptEnhancer()
# 仅规则模式(快速、确定性、无大模型调用)
result = await enhancer.enhance(
prompt,
mode = EnhancementMode.RULES_ONLY,
level = EnhancementLevel.MODERATE
)
# 混合模式(先规则后大模型优化,需配置大模型服务商)
from your_provider import LLMProvider
enhancer = PromptEnhancer(llm_provider = LLMProvider())
result = await enhancer.enhance(
prompt,
mode = EnhancementMode.HYBRID
)
# 仅分析提示词不做修改
analysis = await enhancer.analyze(prompt)
print(f"核心意图: {analysis['intent']['primary']}")
print(f"提示词质量分: {analysis['quality']['overall_score']:.2f}")
PromptManager 支持零样本、少样本、思维链、代码生成等多种生成风格。
from promptmanager import PromptGenerator, PromptStyle
generator = PromptGenerator()
# 零样本生成(简单直接)
result = await generator.generate(
task = "Explain quantum computing",
style = PromptStyle.ZERO_SHOT
)
# 少样本生成(带示例)
result = await generator.generate(
task = "Translate English to French",
style = PromptStyle.FEW_SHOT,
examples=[
{"input": "Hello", "output": "Bonjour"},
{"input": "Goodbye", "output": "Au revoir"}
]
)
# 思维链生成(适用于推理类任务)
result = await generator.generate(
task = "Solve: If 3x + 5 = 20, what is x?",
style = PromptStyle.CHAIN_OF_THOUGHT
)
# 代码生成(指定编程语言)
result = await generator.generate(
task = "Binary search implementation",
style = PromptStyle.CODE_GENERATION,
language= "Python"
)
通过 的Pipeline API 自定义操作流程,能添加自定义步骤,支持克隆修改生成不同变体。
from promptmanager import Pipeline
# 创建并配置流水线
pipeline = Pipeline()
.enhance(level= "moderate")
.compress(ratio = 0.6, strategy="hybrid")
.validate(fail_on_error=True)
# 运行流水线处理提示词
result = await pipeline.run("Your prompt here")
print(f"执行成功: {result.success}")
print(f"输出结果: {result.output_text}")
print(f"操作步骤数: {len(result.step_results)}")
# 添加自定义步骤
def add_signature(text, config):
return text + "\n\n-- Generated by AI"
pipeline.custom("signature", add_signature)
# 克隆流水线并修改配置
variant = pipeline.clone().compress(ratio = 0.4)
PromptManager 能检测提示词的安全问题与质量问题,输出明确的错误和警告信息。
from promptmanager import PromptValidator
validator = PromptValidator()
# 校验提示词
result = validator.validate(prompt)
if not result.is_valid:
for error in result.errors:
print(f"错误: {error.message}")
for warning in result.warnings:
print(f"警告: {warning.message}")
可检测的问题类型。 • 注入攻击(如包含“ignore previous instructions”)
• 越狱尝试(如包含“you are now DAN”)
• 未填充的模板占位符(如“{{name}}”、“{placeholder}”)
• 空提示词/仅含空白字符的提示词
• 过短的无效提示词
PromptManager 能对提示词进行保存、检索、版本管理,方便团队协作与需求迭代。
pm = PromptManager(storage_path= "./prompts")
# 保存提示词(指定ID、名称、元数据)
pm.save_prompt(
prompt_id = "welcome_v1",
name = "Welcome Message",
content="Hello! How can I help you today?",
metadata= {"author": "team", "category": "greeting"}
)
# 检索提示词(支持指定版本)
prompt = pm.get_prompt("welcome_v1")
prompt_v2 = pm.get_prompt("welcome_v1", version=2)
# 列出所有已保存的提示词
prompts = pm.list_prompts()
可通过CLI或Python代码启动API服务,提供标准化的接口供跨平台调用。
# CLI方式启动
pm serve --port 8000
# Python代码方式启动
from promptmanager.api import create_app
import uvicorn
app = create_app()
uvicorn.run(app, host="0.0.0.0", port=8000)
核心接口。 • POST /api/v1/compress - 提示词压缩
• POST /api/v1/enhance - 提示词增强
• POST /api/v1/generate - 提示词生成
• POST /api/v1/validate - 提示词校验
• POST /api/v1/pipeline - 流水线操作
• GET /health - 服务健康检查
接口调用示例(curl)。
curl -X POST http://localhost:8000/api/v1/compress \
-H "Content-Type: application/json" \
-d '{
"prompt": "Your long prompt here...",
"ratio": 0.5,
"strategy": "hybrid"
}'
无需编写代码,直接通过命令行完成提示词的各类操作,方便快速测试与批量处理。
# 压缩提示词
pm compress "Your prompt" --ratio 0.5 --strategy hybrid
# 增强提示词
pm enhance "messy prompt" --level moderate --mode rules_only
# 生成提示词
pm generate "Write a sorting function" --style code_generation
# 启动API服务
pm serve --port 8000
# 统计提示词令牌数
pm tokens "Your prompt here"
PromptManager 支持服务商无关性,支持OpenAI、Anthropic等主流大模型,可通过LiteLLM集成100+款大模型,配置简单。
# 集成OpenAI
from promptmanager.providers import OpenAIProvider
provider = OpenAIProvider(api_key="sk-...")
# 集成Anthropic
from promptmanager.providers import AnthropicProvider
provider = AnthropicProvider(api_key="...")
# 集成LiteLLM(支持100+大模型)
from promptmanager.providers import LiteLLMProvider
provider = LiteLLMProvider(model ="gpt-4")
# 与PromptManager结合使用
pm = PromptManager(llm_provider= provider)
result = await pm.enhance(prompt, mode ="hybrid")
可通过代码配置或环境变量两种方式,设置PromptManager的默认参数,适配生产环境的统一部署。
from promptmanager import PromptManager
from promptmanager.core.config import PromptManagerConfig
config = PromptManagerConfig(
default_model="gpt-4",
compression_strategy="hybrid",
enhancement_level ="moderate",
cache_enabled=True,
log_level ="INFO"
)
pm = PromptManager(config = config)
PROMPTMANAGER_MODEL=gpt-4
PROMPTMANAGER_LOG_LEVEL=INFO
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=...
PromptManager各功能操作速度快,处理效率高,适合生产环境的高并发场景,核心性能指标如下(不同硬件环境略有差异)。
| 操作 | 输入大小 | 耗时 | 结果 |
|---|---|---|---|
| 压缩(lexical策略) | 1000令牌 | ~5ms | 令牌减少40% |
| 压缩(hybrid策略) | 1000令牌 | ~15ms | 令牌减少50% |
| 增强(仅规则模式) | 500令牌 | ~10ms | 质量提升25% |
| 增强(混合模式) | 500令牌 | ~500ms | 质量提升40% |
| 校验 | 500令牌 | ~2ms | - |
| 生成 | - | ~5ms | - |
PowerPoint演示文稿智能生成工具 PowerPoint Slides Skill
金融 AI 新工具 FinClaw,免费提供1000+ 金融专属Skills
PPT Agent 演示文稿生成框架
端到端自主AI科研引擎 NanoResearch
CitationClaw 学术论文智能引用画像和分析报告
pi-autoresearch:pi自动化实验优化循环
OpenClaw Control Center:为OpenClaw用户(包括团队和个人)提供统一的监控和管理界面
OpenClaw Dashboard 仪表盘:让OpenClaw管理更简单
PaperBanana-CN 学术配图助手
996.ICU:工作 996, 生病 ICU