Files

1 line
5.1 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "aununo/antifraud-agent", "files": {"README.md": {"bc4afb3d4d83efff1bf7cfb4387423b40fd07f4d": {"t": 1785747276.869605, "n": 1794, "h": "ac8aa42deaf3d72f", "c": "# 多 Agent 反欺诈识别系统 MVP\n\n这是基于 `docs/plan.md` 搭建的初始 MVP,包含 FastAPI 后端、Vite React 前端,以及从 `AntiFraud/AntiFraud_Frontend` 迁移过来的 Vue 演示前端。\n\n## 启动后端\n\n```bash\ncd backend\npython3 -m venv .venv\n.venv/bin/pip install -r requirements.txt\n.venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000\n```\n\n## LLM 真实能力配置\n\n后端会自动读取项目根目录 `.env`。阶段 5 已接入文本风险识别和总控报告生成的 LLM 能力:\n\n```bash\n# 通用 OpenAI-compatible 配置,优先级最高\nLLM_API_KEY=your_api_key\nLLM_API_BASE=https://api.deepseek.com/chat/completions\nLLM_MODEL=deepseek-chat\nLLM_TIMEOUT_SECONDS=25\n\n# 临时关闭 LLM,回退规则引擎\nLLM_DISABLED=1\n```\n\n如果没有配置 `LLM_API_KEY`,后端会兼容读取现有的 `DEEPSEEK_API_KEY`。当 LLM 调用失败或超时时,系统会自动回退到阶段 3 的规则化 Agent,前端流程不会中断。\n\n图片 Agent 已接入 DashScope Qwen-OCR:\n\n```bash\nDASHSCOPE_API_KEY=your_api_key\nDASHSCOPE_OCR_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions\nDASHSCOPE_OCR_MODEL=qwen-vl-ocr-2025-11-20\n\n# 临时关闭真实 OCR,回退 mock OCR\nOCR_DISABLED=1\n```\n\n音频 Agent 已接入科大讯飞语音听写(流式版)WebAPI:\n\n```bash\nIFLYTEK_APPID=your_app_id\nIFLYTEK_API_KEY=your_api_key\nIFLYTEK_API_SECRET=your_api_secret\nIFLYTEK_IAT_WEBSOCKET_URL=wss://iat-api.xfyun.cn/v2/iat\nASR_TIMEOUT_SECONDS=45\nASR_CHUNK_SIZE=32000\n\n# 临时关闭真实 ASR,使用 demo mock ASR\nASR_DISABLED=1\n```\n\n上传音频会先通过 `ffmpeg` 转为 16kHz、16bit、单声道 PCM,再发送给讯飞。真实 ASR 调用失败时不会使用高风险 mock 文本参与评分,避免误报;仅在显式关闭 ASR 或没有真实文件路径时使用 demo mock ASR。\n\n## 启动前端\n\nReact MVP 前端:\n\n```bash\ncd frontend\nnpm install\nnpm run dev -- --port 5173\n```\n\nVue 演示前端:\n\n```bash\ncd AntiFraud/AntiFraud_Frontend\nnpm install\nnpm run dev -- --port 5175\n```\n\nVue 版保留了原 AntiFraud 前端路由:\n\n- `/`\n- `/demo`\n- `/test`\n- `/free-test`\n- `/message/:id`\n- `/call/video/:id`\n- `/call/voice/:id`\n\n## 已实现接口\n\n- `POST /api/analysis`\n- `GET /api/analysis/{task_id}`\n- `GET /api/analysis/{task_id}/events`\n- `GET /api/analysis/{task_id}/report`\n- `GET /api/alerts`\n"}, "f9764939833bf7efe7e4a3931bfaad2e08629ccc": {"t": 1785772092.6318316, "n": 1794, "h": "ac8aa42deaf3d72f", "c": "# 多 Agent 反欺诈识别系统 MVP\n\n这是基于 `docs/plan.md` 搭建的初始 MVP,包含 FastAPI 后端、Vite React 前端,以及从 `AntiFraud/AntiFraud_Frontend` 迁移过来的 Vue 演示前端。\n\n## 启动后端\n\n```bash\ncd backend\npython3 -m venv .venv\n.venv/bin/pip install -r requirements.txt\n.venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8000\n```\n\n## LLM 真实能力配置\n\n后端会自动读取项目根目录 `.env`。阶段 5 已接入文本风险识别和总控报告生成的 LLM 能力:\n\n```bash\n# 通用 OpenAI-compatible 配置,优先级最高\nLLM_API_KEY=your_api_key\nLLM_API_BASE=https://api.deepseek.com/chat/completions\nLLM_MODEL=deepseek-chat\nLLM_TIMEOUT_SECONDS=25\n\n# 临时关闭 LLM,回退规则引擎\nLLM_DISABLED=1\n```\n\n如果没有配置 `LLM_API_KEY`,后端会兼容读取现有的 `DEEPSEEK_API_KEY`。当 LLM 调用失败或超时时,系统会自动回退到阶段 3 的规则化 Agent,前端流程不会中断。\n\n图片 Agent 已接入 DashScope Qwen-OCR:\n\n```bash\nDASHSCOPE_API_KEY=your_api_key\nDASHSCOPE_OCR_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions\nDASHSCOPE_OCR_MODEL=qwen-vl-ocr-2025-11-20\n\n# 临时关闭真实 OCR,回退 mock OCR\nOCR_DISABLED=1\n```\n\n音频 Agent 已接入科大讯飞语音听写(流式版)WebAPI:\n\n```bash\nIFLYTEK_APPID=your_app_id\nIFLYTEK_API_KEY=your_api_key\nIFLYTEK_API_SECRET=your_api_secret\nIFLYTEK_IAT_WEBSOCKET_URL=wss://iat-api.xfyun.cn/v2/iat\nASR_TIMEOUT_SECONDS=45\nASR_CHUNK_SIZE=32000\n\n# 临时关闭真实 ASR,使用 demo mock ASR\nASR_DISABLED=1\n```\n\n上传音频会先通过 `ffmpeg` 转为 16kHz、16bit、单声道 PCM,再发送给讯飞。真实 ASR 调用失败时不会使用高风险 mock 文本参与评分,避免误报;仅在显式关闭 ASR 或没有真实文件路径时使用 demo mock ASR。\n\n## 启动前端\n\nReact MVP 前端:\n\n```bash\ncd frontend\nnpm install\nnpm run dev -- --port 5173\n```\n\nVue 演示前端:\n\n```bash\ncd AntiFraud/AntiFraud_Frontend\nnpm install\nnpm run dev -- --port 5175\n```\n\nVue 版保留了原 AntiFraud 前端路由:\n\n- `/`\n- `/demo`\n- `/test`\n- `/free-test`\n- `/message/:id`\n- `/call/video/:id`\n- `/call/voice/:id`\n\n## 已实现接口\n\n- `POST /api/analysis`\n- `GET /api/analysis/{task_id}`\n- `GET /api/analysis/{task_id}/events`\n- `GET /api/analysis/{task_id}/report`\n- `GET /api/alerts`\n"}}}}