Skip to main content

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


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.4.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

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

prival-0.1.4-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file prival-0.1.4.tar.gz.

File metadata

  • Download URL: prival-0.1.4.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for prival-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0af226a5e914531b1944968e1aca65d7101aa7b8dc1c94b919310a38a23dab9b
MD5 2755357930f1dcd3f716c801320afd82
BLAKE2b-256 95608d8932f23acd24df501f3a4bcae0aefd3565829877c90c4bd1f5b8d413fe

See more details on using hashes here.

File details

Details for the file prival-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: prival-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 3.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for prival-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cc65e7986931d788163299f930e7a0f4ecc5c37edac2537148e0751c8b55e756
MD5 d6b421904954ce710779c1bef3665d38
BLAKE2b-256 a4b8e927df39b86e3df69b9bd812bf7648297cac3555f85150715bf17ee54d3d

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