AmineCodes1/LLM-Security

GitHub: AmineCodes1/LLM-Security

一个专注于安全实验的本地 RAG 脚手架,解决在受限资源下安全可控地构建 LLM 问答与护栏的问题。

Stars: 0 | Forks: 0

# LLM-Security Project Aegis-RAG 是一个专注于安全实验的本地检索增强生成(RAG)脚手架。 ## 为何采用此结构 - `src/aegis_rag`:核心业务逻辑(配置、摄入、检索/生成、安全护栏)。将逻辑保留在 `src` 中可使导入显式化并便于测试。 - `scripts`:运维命令,与核心逻辑分离以保持包的可复用性。 - `streamlit_app.py`:轻量 UI 层,便于前端变更不影响后端服务。 - `data/raw`:用于摄入的原始文档。 - `data/chroma`:持久化本地向量存储。 ## 项目布局 ``` LLM-Security/ data/ chroma/ raw/ scripts/ ingest_documents.py src/ aegis_rag/ __init__.py config.py guardrails.py ingestion.py logging_config.py rag_pipeline.py .env.example requirements.txt streamlit_app.py ``` ## 快速开始 1. 创建并激活虚拟环境。 2. 安装依赖: `pip install -r requirements.txt` 3. 确保本地运行 Ollama 并拉取模型: `ollama pull mistral:7b` 4. 将 `.env.example` 复制为 `.env`,如需调整则修改对应值。 5. 将 PDF/TXT 文件添加到 `data/raw`。 6. 摄入文档: `python scripts/ingest_documents.py --input-dir data/raw` 7. 启动 UI: `streamlit run streamlit_app.py` ## 16GB 内存本地运行的注意事项 - 默认模型为 `mistral:7b`,以降低内存压力。 - 嵌入使用 `sentence-transformers/all-MiniLM-L6-v2`,以保持较小的体积。 - 检索默认采用 top-k=3,以控制上下文大小与延迟。
标签:AI安全, AI风险缓解, all-MiniLM-L6-v2, Apex, API密钥扫描, Chat Copilot, Chroma, DNS解析, ETW劫持, Guardrails, Kubernetes, LLM评估, Mistral, Ollama, PDF处理, Python, RAG, Streamlit, 企业安全, 依赖管理, 句子变换模型, 可测试性, 向量存储, 安全实验, 安全防护, 开源项目, 数据摄入, 文本处理, 文档摄入, 无后门, 日志记录, 本地化, 本地部署, 机器学习, 检索增强生成, 网络资产管理, 虚拟环境, 访问控制, 逆向工具, 项目脚手架