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.3.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.3-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prival-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 e3ef4fcccc5365c4689266777dfbc436f0049447eeaeb26123ba759bae54f0f1
MD5 97dd165a0d68f0fddcdf251fd90e9fd5
BLAKE2b-256 00c68d2454c1d0207280759fb320f97ae348d5a62c44085ed2418e2a1ba4f643

See more details on using hashes here.

File details

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

File metadata

  • Download URL: prival-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 aed6e507537385b52e20c5e38b6859ddbdd72f9741f23fe2cd650b2489ccab80
MD5 bdf3e041e69046553b73211f4f189285
BLAKE2b-256 c1ce930248c72ba331bdd9eefa6c98b2cacd4702b5decd634e6fd8d4e41a6b3f

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