Prompt Input Validation toolkit
Project description
PRIVAL 项目文档
一、项目简介
PRIVAL(Prompt Input VALidation)是一个轻量级的 Prompt 质量检测框架,提供多维度自动化评分和建议,帮助用户优化输入给大模型的 Prompt,提升模型执行效果。
核心特点
- 多维度评分:自定义清晰度、歧义性、注入风险等 12+ 维度检测,支持启用/禁用及权重配置。
- 插件化设计:每个维度由独立 detector 模块实现,方便扩展和替换。
- 低代码接口:一行
evaluate_prompt(prompt)即可获取详细评分和改进建议。 - 报告输出:支持 JSON、Markdown、HTML 报告,便于可视化和分享。
二、安装和使用
pip install prival
from prival import evaluate_prompt
prompt = "请帮我写一封求职邮件,针对 AI 工程师岗位。"
result = evaluate_prompt(prompt)
# result = {
# "total_score": 0.78,
# "details": {
# "clarity": {"score": 0.9, "suggestions": [...]},
# ...
# }
# }
或在命令行中使用 CLI:
prival-cli evaluate "你的 prompt 文本"
三、项目结构
prival/
├── config.yaml # 全局配置:维度开关、权重、阈值等
├── __init__.py # 包初始化,导出 evaluate_prompt 接口
├── detectors/ # 独立维度检测器模块
│ ├ clarity.py # 清晰度检测
│ ├ ambiguity.py # 歧义性检测
│ ├ step_guidance.py # 步骤指引检测
│ ├ verbosity.py # 冗余度检测
│ ├ injection_risk.py # Injection 风险检测
│ ├ context_completeness.py # 上下文完整性检测
│ ├ ethic_compliance.py # 伦理合规检测
│ ├ structural_cleanness.py # 结构简洁度检测
│ ├ relevance.py # 关联度检测
│ ├ feasibility.py # 可行性检测
│ ├ grammar_spelling.py # 语法拼写检测
│ ├ length_appropriateness.py # 长度适宜性检测
│ └ diversity.py # 多样性检测
├── utils/ # 通用 NLP 辅助工具
│ └ nlp_helpers.py # 句法解析、关键词抽取、相似度计算等
├── core.py # 核心流程:加载配置,调度 detectors 并发执行
├── scoring.py # 总分计算与格式化输出
├── report.py # 报告生成:HTML/Markdown
└── tests/ # 单元测试和基准 prompt 样本
四、配置示例(config.yaml)
# 启用和权重配置
enabled_dimensions:
- clarity
- ambiguity
- step_guidance
- verbosity
- injection_risk
- context_completeness
- ethic_compliance
- structural_cleanness
- relevance
- feasibility
- grammar_spelling
- length_appropriateness
- diversity
# politeness 可选,默认关闭
# - politeness
# 各维度权重(加权得分用)
weights:
clarity: 0.15
ambiguity: 0.10
step_guidance: 0.10
verbosity: 0.10
injection_risk: 0.15
context_completeness: 0.10
ethic_compliance: 0.10
structural_cleanness: 0.05
relevance: 0.05
feasibility: 0.05
grammar_spelling: 0.05
length_appropriateness: 0.05
diversity: 0.05
# 各维度阈值设置(可选)
thresholds:
clarity: 0.6
injection_risk: 0.5
# 等...
五、测试和报告
- 单元测试:在
tests/目录下编写pytest测试用例,确保各 detector 规则正确。 - 报告生成:调用
prival.report.generate_html(result, "report.html")一键输出可分享的 HTML 报告,支持图表和建议列表。
Happy prompting! 欢迎提交 issue 或 PR,共同完善 PRIVAL。
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
prival-0.1.8.tar.gz
(11.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
prival-0.1.8-py3-none-any.whl
(13.6 kB
view details)
File details
Details for the file prival-0.1.8.tar.gz.
File metadata
- Download URL: prival-0.1.8.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94d6cda7484b2e3400122cfdec8aed300be132dcfc4bbb1b13f53ab1e95136f0
|
|
| MD5 |
3f94f4338e220b89bb631dbd9a931974
|
|
| BLAKE2b-256 |
cdb975a4520e456fb44563349f005c4ac52b89c3e2d5892e991e5449f758fe9e
|
File details
Details for the file prival-0.1.8-py3-none-any.whl.
File metadata
- Download URL: prival-0.1.8-py3-none-any.whl
- Upload date:
- Size: 13.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2dbe4f783ccd30d9500b572b373c4486eec09a1913be5f70f3107f20268ff337
|
|
| MD5 |
8c54b9dc823a72192ce14db9bb194823
|
|
| BLAKE2b-256 |
8c5c06613dc2798c54dcba6d26a5e86df80293db5dbc2071a87352371da4ed97
|