1 line
5.1 KiB
JSON
1 line
5.1 KiB
JSON
{"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"}}}} |