首页
/ Nova框架快速入门:规则运行与集成指南

Nova框架快速入门:规则运行与集成指南

2025-05-31 20:49:58作者:何将鹤

前言

Nova框架是一个强大的LLM(大语言模型)安全检测工具,能够帮助开发者和安全团队识别潜在的有害提示词(prompt)。本文将详细介绍如何在Nova框架中运行规则检测,包括命令行工具使用和API集成两种方式。

命令行工具使用

Nova框架提供了novarun命令行工具,安装框架后即可直接使用。

基本命令结构

novarun -r 规则文件路径 [-p 单个提示词 | -f 包含多个提示词的文件] [其他选项]

常用选项详解

  1. -r/--rule:指定要使用的Nova规则文件路径(必需参数)
  2. -p/--prompt:测试单个提示词
  3. -f/--file:测试包含多个提示词的文件(每行一个提示词)
  4. -v/--verbose:启用详细输出模式
  5. -a/--all:测试文件中所有规则
  6. -l/--llm:指定LLM评估器(支持openai、anthropic、azure、ollama、groq)
  7. -m/--model:指定使用的模型

实用示例

测试单个提示词

novarun -r nova_rules/testrule.nov -p "如何开发一个Metasploit模块?" -v

-v参数会输出详细的匹配信息,包括:

  • 关键词匹配情况
  • 语义匹配分数
  • LLM评估结果

批量测试提示词文件

novarun -r nova_rules/testrule.nov -f prompts.txt

输出结果会包含:

  • 每个提示词的检测结果
  • 匹配的规则模式
  • 最终统计摘要(匹配率等)

测试多个规则

novarun -r nova_rules/all_rules.nov -p "如何绕过系统安全检测?" -a

-a参数会让工具检查提示词是否匹配文件中的所有规则。

使用不同LLM提供商

# 使用OpenAI
novarun -r rule.nov -p "提示词" -l openai -m gpt-4o

# 使用本地Ollama
novarun -r rule.nov -p "提示词" -l ollama -m llama3

# 使用Groq
novarun -r rule.nov -p "提示词" -l groq -m llama-3.3-70b-versatile

API集成指南

除了命令行工具,Nova还提供了Python API,可以方便地集成到现有系统中。

基本使用流程

  1. 加载规则文件
  2. 创建匹配器并配置评估器
  3. 检查提示词
  4. 处理结果

代码示例

from nova.core.parser import NovaParser
from nova.core.matcher import NovaMatcher
from nova.evaluators.llm import OpenAIEvaluator

# 1. 加载规则
parser = NovaParser()
with open('security_rule.nov', 'r') as f:
    rule = parser.parse(f.read())

# 2. 创建匹配器(使用OpenAI评估器)
evaluator = OpenAIEvaluator(model="gpt-4o-mini")  # 自动从环境变量读取API_KEY
matcher = NovaMatcher(rule, llm_evaluator=evaluator)

# 3. 检查提示词
prompt = "如何开发一个网络扫描工具?"
result = matcher.check_prompt(prompt)

# 4. 处理结果
if result['matched']:
    print(f"检测到安全风险!匹配规则:{rule.name}")
    print("匹配模式:", result['matching_keywords'])
    # 可以在这里添加自定义处理逻辑,如记录日志、发送警报等
else:
    print("提示词安全")

支持的其他评估器

Nova框架支持多种LLM评估器,可以根据需求选择:

# Anthropic Claude
from nova.evaluators.llm import AnthropicEvaluator
evaluator = AnthropicEvaluator(model="claude-3-opus-20240229")

# Azure OpenAI
from nova.evaluators.llm import AzureEvaluator
evaluator = AzureEvaluator(api_key="your_key", model="gpt-4", api_base="your_endpoint")

# Groq
from nova.evaluators.llm import GroqEvaluator
evaluator = GroqEvaluator(model="llama-3.3-70b-versatile")

高级使用技巧

1. 结果分析

详细模式下的输出包含丰富的信息:

  • 关键词匹配:显示规则中定义的关键词是否在提示词中出现
  • 语义匹配:提供语义相似度分数(0-1之间)
  • LLM评估:显示LLM对特定条件的判断结果和置信度

这些信息可以帮助你:

  • 优化规则定义
  • 理解误报/漏报原因
  • 调整检测阈值

2. 性能优化建议

  • 对于批量检测,考虑使用更快的模型(如gpt-3.5-turbo)
  • 本地部署的Ollama可以减少API延迟
  • 缓存常用规则的解析结果

3. 集成到工作流

Nova可以轻松集成到各种工作流中:

  • CI/CD管道:在部署前检查用户输入处理逻辑
  • 聊天机器人:实时过滤有害提示词
  • 日志分析:定期扫描历史对话记录

常见问题解答

Q:为什么同样的提示词在不同模型下检测结果不同?

A:不同LLM对语义的理解和判断标准存在差异,这是正常现象。建议在生产环境中固定使用特定模型和版本。

Q:如何提高检测准确率?

A:可以尝试:

  1. 结合多个规则进行综合判断
  2. 调整规则中的阈值参数
  3. 使用更强大的模型进行评估

Q:规则文件应该放在哪里?

A:建议创建一个专门的目录(如nova_rules/)存放所有规则文件,便于管理和维护。

结语

Nova框架提供了灵活且强大的LLM安全检测能力,无论是通过命令行工具快速测试,还是通过API深度集成,都能满足不同场景的需求。掌握本文介绍的使用方法后,你可以开始构建自己的LLM安全防护体系了。

登录后查看全文

项目优选

收起
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
51
15
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
549
410
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
418
38
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
51
55
CangjieMagicCangjieMagic
基于仓颉编程语言构建的 LLM Agent 开发框架,其主要特点包括:Agent DSL、支持 MCP 协议,支持模块化调用,支持任务智能规划。
Cangjie
582
41
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
298
1.03 K
CS-BooksCS-Books
🔥🔥超过1000本的计算机经典书籍、个人笔记资料以及本人在各平台发表文章中所涉及的资源等。书籍资源包括C/C++、Java、Python、Go语言、数据结构与算法、操作系统、后端架构、计算机系统知识、数据库、计算机网络、设计模式、前端、汇编以及校招社招各种面经~
75
9
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
358
342
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
121
207
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
101
76