JoySafety
随着生成式人工智能应用的广泛落地,内容安全、数据泄露、提示词攻击等风险也日益凸显。如何保障大模型输出符合法规要求、避免安全漏洞,已成为企业必须面对的关键挑战。为此,京东正式开源大模型安全框架——JoySafety,该框架在京东内部广泛应用,覆盖AI导购、物流客服、销售助手、医疗问诊、商家工作台、法务咨询、安全问答等场景,支持日均亿级调用、95%+攻击拦截率,致力于为企业提供一套成熟、可靠、免费的大模型安全防护方案。
企业级实战验证
高可靠性保障
灵活的架构设计
智能负载均衡
开箱即用
请确保已安装以下软件:
#1.
git clone https://github.com/jd-opensource/JoySafety.git
#2. 进入项目路径
cd JoySafety
#3. 设置环境变量(建议复制执行,后续脚本/服务均可自动识别)
export SAFETY_ROOT_PATH=`pwd`
#正常为JoySafety 根路径
echo ${SAFETY_ROOT_PATH}
=======
#进入项目路径
cd $SAFETY_ROOT_PATH
#
git lfs install
#方案1
git clone https://huggingface.co/jdopensource/JoySafety ${SAFETY_ROOT_PATH}/data/models
#方案2
#因网络问题,您也可以从[ModelScope](https://modelscope.cn/models/syf20240814/joysafety/files)下载)
.env.example 或手动创建 .env: # 注:切换Shell窗口, 重新设置SAFETY_ROOT_PATH
cd $SAFETY_ROOT_PATH
cp -f .env.example .env
# 测试只需修改.env文件中变量:SAFETY_MODEL_DIR,路径需与模型实际下载路径一致【绝对路径】
SAFETY_MODEL_DIR=
docker-compose --env-file .env up
详细 API 测试案例及使用说明移步到 quickstart/README.md。
请参考 quickstart 目录下的文档,获取最新的 API 测试脚本和案例说明。
该项目可以同时支持多个业务,每个业务都可以动态增加,分钟级生效。
一个完整的代码实例:example.py
识别策略整体是DAG,从rootId对应的node开始,逐层执行识别策略;策略的每个node分为两部分,function和router;function为当前结点执行的具体能力,router为基于当前结点的识别结果决定需要执行的下一个结点。
function类别包含single_label_pred(支持现成的两种开箱即用的实现)、keyword、kb_search、rag_answer、multi_turn_detect,配置方式和含义见上节如何接入一个业务中的完整实例,另外,还支持一个虚拟的类别parallel,以支持在单个node内多个function并行执行。
常用的router类别包括stupid_end和groovy,前者表示直接结束,后续是groovy脚本基于识别结果来返回一下步的node_id。groovy脚本中的内置变量是ctx,其结构见对象SessionContext.java。
比较典型的策略编排示例见:README.md
支持按分组+业务来管理敏感词,另外all业务下的敏感词对所有业务生效。
对敏感词的管理方式可以参考:sensitive_words_api.md
本项目对知识的管理是分两层的;第一层: 使用mysql数据库用于数据持久化以;第二层:使用safety_knowledge+vearch实现知识的向量化及语义检索。
知识在数据库的管理方式可以参考:knowledge_api.md;知识向量化及存储至vearch可以参考:[index_all.py](example/safety-skills/safety-knowledge/index_all.py)
参考 API 文档
多语言调用:
常见问题与解决方案见 FAQ
基于产品特性,项目中的示例仅用于产品功能说明使用,不得用于其他领域,非项目开发者观点。
最佳实践见best_practice.md
…
仅涉及后台管理、原子能力注册、策略/业务场景配置、数据写入。用户/业务系统不参与,所有配置数据最终写入数据库,供执行时期加载。
…
用户/业务系统发起请求,API服务加载数据库配置和策略,调用各 Skill 服务完成检测/处理。safety-admin 不参与执行链路,仅在配置时期写入数据。
…
模块依赖关系说明:
模块依赖关系说明:
参考各个模块中的README文档
我们欢迎所有好想法和建议!如果您想成为项目的共建者,可随时提交 Pull Request,同时签署贡献者许可协议(CLA)。 有任何事宜可邮箱联系:[email protected]。
本项目采用 Apache License 2.0 开源协议,欢迎企业和个人自由使用、修改和二次开发。
JoySafety旨在构建完整大模型安全解决方案,此次开源主要为大模型安全防护能力,后续将陆续推出:
安全审核大模型 在Huggingface平台开源部分安全审核大模型,后续Joysafety集成此系列模型实现大模型风险合规的审计能力
大模型安全评测:针对大模型应用上线前的安全风险检测,覆盖《生成式人工智能服务安全基本要求》中5大类31小类风险类型。
Agent安全防护:包括身份与权限管理、数据与记忆防护、工具与执行安全、MCP代码安全检测、供应链与协议安全等能力。
欢迎加入JoySafety官方微信交流群:
No open issues yet, or sync has not completed.