letter-generator/AI_triage_GigaChat
GitHub: letter-generator/AI_triage_GigaChat
AI辅助的GigaChat安全响应评估工具
Stars: 0 | Forks: 1
AI-агентная система red teaming и контроль ответов LLM «ГигаЧат»
:book: 导航
:small_orange_diamond: 关于项目
该软件套件旨在自动评估GigaChat神经网络模型的安全响应。系统分析对话,识别违反审查要求的回答,并提供手动验证的工具。
随着GigaChat发布频率的增加,手动检查回答是否符合规范既昂贵又无法扩展。开发出的解决方案可以自动化可疑回答的检测,并组织由专家参与的三级分类。
:small_orange_diamond: 功能特性
- 与GigaChat模型进行聊天,并流式传输响应。
- 对响应进行分类,分配“好”(0)或“坏”(1)标签。
- 逐行解释分类原因。
- 使用Tinkoff本地模型进行毒性分析。
- 从标记数据集中查找相关示例(RAG)。
- 查找包含审查要求的文档片段。
- 支持多个独立对话(会话)。
- 将对话历史保存到SQLite数据库中。
- 将历史记录导出为CSV、JSON、TXT、XLSX格式。
:small_orange_diamond: 架构
系统采用模块化设计。组件之间的交互通过中央模块app.py组织。所有依赖项都放在requirements.txt文件中。配置参数存储在config.py中。
组件组成
app.py– 用户界面管理,处理对GigaChat的请求,协调分类器的工作。database.py– 创建和维护SQLite表,操作会话和消息。classifier/retrieval.py– 在FAISS索引中查找最近邻。classifier/model_vm.py– 向远程LLM(Ollama)发送请求并解析响应。classifier/model_toxicity.py– 本地毒性分析。classifier/build_index.py– 为标记数据集构建FAISS索引。classifier/build_index_doc.py– 为审查规则文档构建FAISS索引。style.css– 级联样式表。
工作逻辑
- 用户在Web界面中输入查询。
- 应用程序将查询传递给GigaChat API并获取响应。
model_toxicity.py模块分析响应。retrieval.py模块从索引中提取三个类似示例和两个相关规则片段。model_vm.py模块创建包含示例、规则和毒性分析结果的提示,并将其发送到LLM。- LLM返回标签和解释。
- 结果保存到数据库并显示给用户。
:small_orange_diamond: 技术栈
- Python 3.10+ – 主要开发语言
- Streamlit – 网页界面和交互式聊天
- GigaChat API – LLM生成响应
- Sentence Transformers – RAG的嵌入
- FAISS – 相似示例和审查规则的索引搜索
- Hugging Face Transformers – 本地毒性分析模型
- SQLite – 存储对话历史和会话
- Pandas / NumPy – 数据处理和CSV/Excel导出
- Requests / JSON – 与外部API交互
- Ollama – 本地LLM启动
:small_orange_diamond: 项目结构
``` AI_triage_GigaChat/ ├── app.py # Главное приложение Streamlit ├── database.py # Модели SQLite (сессии, сообщения) ├── config.py # Конфигурационные пути ├── style.css # Кастомные CSS-стили ├── requirements.txt # Зависимости ├── README.md ├── classifier/ │ ├── retrieval.py # RAG: поиск по индексам │ ├── build_index.py # Построение индекса датасета │ ├── build_index_doc.py # Построение индекса правил │ ├── model_toxicity.py # Локальная токсичность (Tinkoff) │ ├── model_vm.py # Классификатор через Ollama │ ├── model_or.py # Классификатор через OpenRouter │ └── data/ │ ├── labeled_data.csv │ ├── goal_index.faiss │ ├── censorship_rules.txt │ ├── doc_index.faiss │ └── doc_chunks.csv └── chat_history.db # База данных (создаётся при первом запуске) ``` :small_orange_diamond: 安装和启动
环境要求
- 操作系统 Windows、Linux 或 macOS。
- Python 版本 3.10 或更高。
- 已安装的pip包管理器。
- 运行Ollama服务器和已安装模型的虚拟机。
- 有效的GigaChat API密钥。
安装说明
- 克隆仓库:
git clone https://github.com/letter-generator/AI_triage_GigaChat.git cd AI_triage_GigaChat - 创建和激活虚拟环境:
python -m venv .venv source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows - 安装依赖项:
pip install -r requirements.txt - 准备数据:
- 将文件
labeled_data.csv(列Goal、Target、Label)放入目录classifier/data/。 - 将文件
censorship_rules.txt以UTF-8编码放入同一目录。
- 将文件
- 构建搜索索引:
python classifier/build_index.py python classifier/build_index_doc.py - 配置LLM连接:
- 在文件
classifier/qwen.py中指定QWEN_VM_URL和QWEN_MODEL_NAME的值。 - 确保Ollama服务器在虚拟机上的指定地址和端口11434上可用。
- 在文件
- 启动应用程序:
streamlit run app.py --server.port 8501 - 在浏览器中打开地址
http://localhost:8501,输入GigaChat API密钥并开始对话。
:small_orange_diamond: 配置
主要设置位于文件config.py中:
BASE_DIR– 项目根目录。DATA_DIR– 数据存储目录。DB_PATH– SQLite数据库文件路径。DATASET_PATH– 标记数据集路径。FAISS_DIR– FAISS索引目录。
LLM连接参数直接在classifier/qwen.py中设置:
VM_URL– Ollama虚拟机地址。MODEL_NAME– 模型标识符。
:small_orange_diamond: 使用模型
- RAG嵌入器:
sergeyzh/rubert-mini-frida。允许替换为ai-forever/FRIDA。 - 毒性分析:
tinkoff-ai/response-toxicity-classifier-base。 - LLM分类器:
akdengi/saiga-llama3-8b/ 通过Ollama安装。可选huihui_ai/qwen2.5-abliterate:7b。
:small_orange_diamond: 贡献者
该项目由乌拉尔联邦大学无线电电子与信息技术学院的学生完成。
- 阿利莫娃 斯维特拉娜·奥列格诺夫娜
- 利亚平 塞梅恩·尼古拉耶维奇
- 莫尔恰诺娃 波利娜·阿列克谢耶夫娜
- 普拉斯特耶娃 克谢尼娅·叶夫根尼耶夫娜
- 斯图帕琴科 叶卡捷琳娜·叶夫根尼耶夫娜
- 捷捷尼金娜 叶卡捷琳娜·弗拉基米罗夫娜
- 菲利波维奇 伊利亚·安德烈耶维奇
项目负责人: 多莫霍夫斯基 尼古拉·阿纳托利耶维奇(俄罗斯联邦储蓄银行)
在“项目实践”课程框架内实现的学术项目。团队“字母生成器”。
2026年6月。
标签:AI 代理系统, AI风险缓解, Apex, CodeQL, CSP, GigaChat, Homebrew安装, Kubernetes, Red Teaming, 人工智能, 分布式搜索, 反取证, 字符串匹配, 安全产品, 安全产品评估, 安全合规, 安全合规性检查, 安全咨询, 安全咨询评估, 安全培训, 安全培训评估, 安全威胁, 安全威胁情报, 安全实践, 安全审计工具, 安全意识, 安全措施, 安全措施有效性, 安全教育, 安全服务, 安全服务评估, 安全标准, 安全标准符合性, 安全测试, 安全漏洞, 安全漏洞扫描, 安全监控工具, 安全策略, 安全策略评估, 安全解决方案, 安全解决方案评估, 安全评估, 安全评估工具, 安全防护, 安全防护工具, 安全风险, 安全风险评估, 安全验证工具, 对话系统, 恶意样本开发, 技术栈, 提示词设计, 攻击性安全, 数据管道, 机器学习, 架构设计, 用户模式Hook绕过, 系统开发, 系统调用监控, 网络代理, 软件工程, 逆向工具