Files
security-platform/LLM_INTEGRATION_GUIDE.md
brunoandClaude 842fa8dbe5 feat: 完整AI SOC分析师平台 - LLM集成与前后端优化
本次提交包含完整的AI SOC(Security Operations Center)分析师平台,支持本地大模型和Claude API集成,实现端到端的安全威胁分析。

## 🚀 主要功能

### 后端架构 (FastAPI)
- **多源数据接入**: 支持JSON/CSV格式安全告警数据上传
- **智能预处理**: 基于YAML配置的字段映射和实体提取
- **图分析引擎**: NetworkX驱动的攻击链图构建和分析
- **评分系统**: 实体和子图的多维度风险评分算法
- **LLM集成**: 支持多提供商(Claude、OpenAI、本地模型)的智能报告生成
- **API接口**: 完整的RESTful API (Swagger文档: /docs)

### 前端界面 (Vue 3 + TypeScript)
- **拖拽上传**: 支持拖拽上传和实时预览
- **管道分析**: 可视化的数据处理管道状态
- **智能报告**: 动态生成的威胁分析报告和可视化
- **响应式设计**: 适配桌面和移动端的现代UI

### LLM智能分析
- **多模型支持**: qwen3(8B/32B)、deepseek-r1(70B)、Claude 4等
- **超时优化**: 分层超时配置(120s-600s)适配不同模型规模
- **内容清理**: 自动过滤模型思考过程,输出专业分析报告
- **中文优化**: 针对中文安全分析场景的prompt工程

## 🛠️ 技术栈

**后端**: FastAPI + SQLAlchemy + NetworkX + 多LLM提供商
**前端**: Vue 3 + TypeScript + Naive UI + Tailwind CSS + Vite
**数据处理**: YAML配置 + JSONPath表达式
**部署**: Docker支持 + 环境变量配置

## 🐛 修复的关键问题

1. **LLM超时问题**: 实现前后端分层超时配置,支持大模型长时间推理
2. **报告格式化**: 修复Markdown渲染和换行符显示问题
3. **数据映射**: 统一前后端字段命名和数据结构映射
4. **时间格式**: 修复时间戳解析和中文本地化显示
5. **思考标签清理**: 自动过滤qwen模型的<think>标签

## 📊 测试数据

包含完整的多阶段APT攻击场景测试数据:
- 钓鱼邮件 → 恶意软件执行 → C2通信
- 云凭证窃取 → 资源探测 → 横向渗透
- 后门用户创建 → 权限提升 → 容器控制

## 🔧 开发工具

- **模型切换**: switch_model.py 支持快速切换本地LLM模型
- **超时测试**: test_llm_timeout.py 验证不同模型性能
- **依赖安装**: install_llm_deps.py 自动安装LLM依赖

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 06:56:09 +08:00

4.6 KiB

LLM集成配置指南

本指南将帮助你配置AI SOC分析平台的大语言模型集成,支持Claude 4、本地模型和其他API。

🚀 快速开始

1. 安装依赖

# 安装LLM相关依赖
python install_llm_deps.py

# 或手动安装
pip install anthropic>=0.34.0 openai>=1.3.0 python-dotenv

2. 配置环境变量

# 复制环境变量模板
cp .env.example .env

# 编辑.env文件,添加你的API密钥
vim .env

3. 选择LLM提供商

编辑 configs/llm.yaml 中的 provider 字段。

📋 支持的LLM提供商

🎯 Claude 4 (推荐)

优势: 最佳的中文理解和安全分析能力

配置步骤:

  1. 获取Claude API Key: https://console.anthropic.com/
  2. 在 .env 中设置:
    CLAUDE_API_KEY=sk-ant-api03-your-key-here
    
  3. 在 configs/llm.yaml 中设置:
    provider: "claude"
    providers:
      claude:
        model: "claude-3-5-sonnet-20241022"  # 或 claude-3-haiku-20240307
    

🏠 本地模型

优势: 数据隐私、无API费用、离线可用

支持的本地方案:

  • Ollama (推荐): 易于安装和使用
  • LM Studio: 图形界面友好
  • vLLM: 高性能推理
  • 自建API服务: 兼容OpenAI API格式

Ollama配置示例:

  1. 安装Ollama: https://ollama.ai/
  2. 下载模型:
    # 中文能力强的模型
    ollama pull qwen2.5:7b
    ollama pull qwen2.5:14b
    
    # 代码能力强的模型  
    ollama pull deepseek-coder:6.7b
    
    # 综合能力模型
    ollama pull llama3.1:8b
    
  3. 启动服务:
    ollama serve
    
  4. 配置 configs/llm.yaml:
    provider: "local" 
    providers:
      local:
        api_base: "http://localhost:11434/v1"
        model: "qwen2.5:7b"
    

☁️ OpenAI

配置步骤:

  1. 在 .env 中设置:
    OPENAI_API_KEY=sk-proj-your-key-here
    
  2. 在 configs/llm.yaml 中设置:
    provider: "openai"
    providers:
      openai:
        model: "gpt-3.5-turbo"  # 或 gpt-4
    

🔧 自定义API

用于其他兼容OpenAI API的服务:

provider: "custom"
providers:
  custom:
    api_base: "http://your-server:8080/v1" 
    model: "your-model-name"

⚙️ 高级配置

模型参数调优

# 通用参数
temperature: 0.2        # 创造性 (0.0-2.0)
max_tokens: 800         # 最大输出长度
timeout: 60            # 超时时间(秒)

# 容错配置
fallback_on_error: true
retry_attempts: 2

多提供商自动切换

系统会按以下顺序尝试:

  1. 首选提供商 (由provider字段指定)
  2. 其他可用提供商 (自动切换)
  3. 模板生成 (兜底方案)

本地模型推荐

模型 大小 特点 推荐用途
qwen2.5:7b ~4.4GB 中文优秀 通用分析
qwen2.5:14b ~8.2GB 性能更强 复杂分析
llama3.1:8b ~4.7GB 英文强 国际环境
deepseek-coder:6.7b ~3.8GB 技术分析 代码相关威胁
mistral:7b ~4.1GB 轻量高效 资源受限

🧪 测试LLM集成

1. 检查配置

# 查看当前配置
curl "http://localhost:8000/api/debug/llm-config"

2. 测试分析生成

# 使用LLM生成报告
curl -X POST "http://localhost:8000/api/reports/generate?use_llm=true"

3. 查看日志

检查后端日志中的LLM初始化信息:

Claude client initialized successfully
# 或
qwen2.5 client initialized successfully  
# 或
Fallback to template generation

🔍 故障排除

常见问题

Q: "Claude API key not found" A: 检查 .env 文件中的 CLAUDE_API_KEY 是否设置正确

Q: "Connection timeout" A: 增加 timeout 参数或检查网络连接

Q: "Model not found" A: 确认模型名称正确,本地模型需要先下载

Q: 本地模型响应慢 A: 考虑使用更小的模型或增加硬件资源

调试模式

在 .env 中设置:

DEBUG=true

日志级别

import logging
logging.basicConfig(level=logging.DEBUG)

📊 性能对比

提供商 响应速度 中文质量 成本 隐私
Claude 4 快 优秀 付费 云端
本地模型 中等 良好 免费 最佳
OpenAI 快 良好 付费 云端

🎯 最佳实践

  1. 生产环境: 推荐Claude 4 + 本地模型双重配置
  2. 开发测试: 使用本地模型节省成本
  3. 离线环境: 只使用本地模型
  4. 高并发: 部署多个本地模型实例

📞 技术支持

如有问题,请检查:

  1. 环境变量配置
  2. 网络连接
  3. API密钥有效性
  4. 模型服务状态
  5. 系统日志输出