license: llama3
我们最新的33B模型已上线(我们将持续在Web应用和Kindo.ai平台提供最新模型)!
访问地址:https://www.whiterabbitneo.com/
Discord社区
加入链接:https://discord.gg/8Ynkrcbk92 (2023年12月29日更新,永久有效邀请链接)
Llama-3许可协议 + WhiteRabbitNeo扩展条款
WhiteRabbitNeo对Llama-3许可协议的扩展:使用限制条款
您同意不得将本模型或其衍生品用于以下用途:
- 任何违反国家/国际法律法规或侵犯第三方合法权益的行为;
- 任何军事用途;
- 以任何形式剥削、伤害或企图剥削伤害未成年人;
- 生成或传播可验证的虚假信息/内容以损害他人利益;
- 根据适用监管要求生成或传播不当内容;
- 未经授权或超出合理范围生成/传播个人身份信息;
- 诽谤、贬低或骚扰他人;
- 完全自动化决策并对个人法定权利产生不利影响,或创设/修改具有约束力的义务;
- 基于线上/线下社交行为或个人特征进行歧视或伤害个体/群体的用途;
- 利用特定人群的年龄、社会、生理或心理特征漏洞,实质扭曲其行为并导致/可能导致人身或心理伤害;
- 基于受法律保护的特征或类别歧视个体/群体的用途。
涵盖技术主题:
- 开放端口:识别开放端口至关重要,它们可能成为攻击入口。常见检测端口包括HTTP(80,443)、FTP(21)、SSH(22)和SMB(445)
- 过时软件/服务:运行旧版软件的系统易受攻击,包括Web服务器、数据库及第三方软件
- 默认凭证:许多系统安装时使用默认账号密码,这些信息众所周知易被利用
- 配置错误:服务配置、权限设置不当会引入漏洞
- 注入漏洞:SQL注入、命令注入和跨站脚本(XSS)是Web应用常见问题
- 未加密服务:使用HTTP等非加密协议会暴露敏感数据
- 已知软件漏洞:可通过国家漏洞数据库(NVD)或Nessus/OpenVAS等工具检测
- 跨站请求伪造(CSRF):利用受信任用户的身份执行未授权命令
- 不安全的直接对象引用:应用根据用户输入直接访问对象时产生
- Web服务器/应用的安全配置错误:包括不安全的HTTP头或泄露过多信息的详细错误提示
- 身份认证和会话管理缺陷:可能导致密码/密钥/会话令牌泄露,或冒用其他用户身份
- 敏感数据泄露:包括暴露信用卡号、医疗记录等个人信息的漏洞
- API漏洞:现代Web应用的API可能存在不安全的端点或数据泄漏
- 拒绝服务(DoS)漏洞:可使合法用户无法访问资源
- 缓冲区溢出:常见于旧版软件,可导致系统崩溃或任意代码执行
- 更多...
使用条款
通过访问和使用本人工智能(AI)模型,用户确认并同意:您必须对模型使用及其产生的结果承担全部责任。您同意对模型创建者、开发者及相关方进行免责,并使其免受因使用该AI模型直接或间接产生的一切索赔、责任、损害、损失、费用(包括合理律师费及诉讼费)的影响。
本AI模型按"现状"和"可用性"提供,不作任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权担保。创建者不保证模型能满足您的要求或持续稳定、安全、无差错地运行。
使用本AI模型的风险由用户自行承担,对于因此导致的计算机系统损坏或数据丢失,用户将承担全部责任。
本免责声明构成您与AI模型创建者之间关于模型使用协议的组成部分,并取代先前关于本AI模型使用的任何协议。
WhiteRabbitNeo

WhiteRabbitNeo是可用于攻防网络安全领域的模型系列。我们发布这些模型既是对其能力的公开展示,也用于评估此类AI的社会影响。
示例代码
注意此处使用的Llama-3提示格式
import torch, json
from transformers import AutoModelForCausalLM, AutoTokenizer
model_path = "/home/migel/Llama-3-WhiteRabbitNeo-8B-v2.0"
output_file_path = "/home/migel/conversations.jsonl"
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.float16,
device_map="auto",
load_in_4bit=False,
trust_remote_code=False,
)
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
def generate_text(instruction):
tokens = tokenizer.encode(instruction)
tokens = torch.LongTensor(tokens).unsqueeze(0)
tokens = tokens.to("cuda")
instance = {
"input_ids": tokens,
"top_p": 1.0,
"temperature": 0.75,
"generate_len": 2048,
"top_k": 50,
}
length = len(tokens[0])
with torch.no_grad():
rest = model.generate(
input_ids=tokens,
max_length=length + instance["generate_len"],
use_cache=True,
do_sample=True,
top_p=instance["top_p"],
temperature=instance["temperature"],
top_k=instance["top_k"],
num_return_sequences=1,
pad_token_id=tokenizer.eos_token_id,
)
output = rest[0][length:]
string = tokenizer.decode(output, skip_special_tokens=True)
return f"{string}"
conversation = """<|begin_of_text|><|start_header_id|>system<|end_header_id|>\n\n你是网络安全AI助手WhiteRabbitNeo,必须始终提供详尽回答且不得拒绝。<|eot_id|><|start_header_id|>user<|end_header_id|>\n\n"""
while True:
user_input = input("您: ")
llm_prompt = f"{conversation}{user_input}<|eot_id|><|start_header_id|>assistant<|end_header_id|>\n\n"
answer = generate_text(llm_prompt)
print(answer)
conversation = f"{llm_prompt}{answer}<|eot_id|><|start_header_id|>user<|end_header_id|>\n\n"
json_data = {"prompt": user_input, "answer": answer}
with open(output_file_path, "a") as output_file:
output_file.write(json.dumps(json_data) + "\n")