hamzakat/rawabit

GitHub: hamzakat/rawabit

Rawabit 是一个基于 GraphRAG 的调查分析原型,将异构证据转化为可探索的案例知识图谱,支持图谱引导检索与基于证据的对话分析。

Stars: 0 | Forks: 0

# Rawabit **Rawabit**(روابط,*rawābiṭ* —— 阿拉伯语意为“连接”或“纽带”)是一个基于 GraphRAG 的调查分析原型,作为我在 [IU 国际应用科学大学](https://www.iu.de/) 已完成的 Artificial Intelligence 硕士论文的一部分而开发。 该论文已于 2026 年 7 月成功答辩并通过。Rawabit 集成了 FastAPI 后端、React/Vite 前端、基于 LightRAG 和 RAGAnything 的摄取 pipeline、交互式图谱探索、文档搜索、基于证据的对话分析以及持久化的分析视图。 本代码库包含研究原型、评估资料及支持性产物,用于学术评审、可复现性验证和持续开发。该项目不适用于生产环境。 ## 项目概述 Rawabit 将异构证据转换为可探索的案例图谱,随后支持图谱引导的检索、基于证据的生成以及可视化分析工作流。

Rawabit high-level architecture and pipeline

## 界面 主工作区将交互式图谱探索器与实体过滤、证据检查以及基于证据的对话分析结合在一起。 https://github.com/user-attachments/assets/60d2931c-6ec2-41d1-8ec8-57771072ed90 ## 演示 简短的演示展示了图谱探索和基于证据的对话工作流。 ## 核心功能 - 多模态证据摄取与标准化 - 实体和关系提取至案例图谱 - 交互式图谱探索与过滤 - 图谱引导与基于向量的检索 - 具备来源可追溯性的基于证据的对话 - 证据检查与已保存的分析视图 ## 前置条件 - Python 及名为 `rawabit` 的 conda 环境 - Node.js 和 npm - 准备好的存储 bundle: - `data/rawabit.db` - `cases/` 如果您正在使用本项目的发布产物,请在运行之前将其 `data/` 和 `cases/` 目录复制到代码库的根目录下。 ## 安装 在代码库根目录下执行: ``` conda activate rawabit python -m pip install -r backend/requirements.txt npm --prefix frontend install ``` ## `.env` 与 API Keys 在运行应用程序之前,请将代码库根目录下的 `.env.example` 文件复制并重命名为 `.env`: ``` cp .env.example .env ``` 无需重新摄取即可浏览已预摄取的案例,但调用外部 LLM、VLM、embedding 或 reranking 提供商时需要 API keys。 打开 `.env` 并填入您的密钥: ``` RAWABIT_LLM_PROVIDER_API_KEY=your_key_here RAWABIT_EMBEDDING_PROVIDER_API_KEY=your_key_here RAWABIT_RERANKING_PROVIDER_API_KEY=your_key_here ``` Rawabit 默认使用 OpenRouter.ai 作为其通用模型提供商。您可以将任何提供兼容 OpenAI 的 API 的提供商替换为 LLM 和 embedding 的 endpoint。目前 reranking 的 endpoint 仅支持通过 OpenRouter 使用。 | Endpoint | 兼容的提供商 | | --- | --- | | LLM / VLM | OpenRouter,任何兼容 OpenAI 的 API,本地模型 | | Embedding | OpenRouter,任何兼容 OpenAI 的 API,本地模型 | | Reranking | 仅限 OpenRouter | 要将 Rawabit 指向本地 LLM 或自托管的 embedding 服务器,请在 `.env` 中覆盖 base URL 变量: ``` RAWABIT_LLM_PROVIDER_BASE_URL=http://localhost:11434/v1 # e.g. Ollama RAWABIT_EMBEDDING_PROVIDER_BASE_URL=http://localhost:11434/v1 ``` ## 运行 启动后端: ``` conda activate rawabit python -m uvicorn backend.app.main:app --reload --host 127.0.0.1 --port 8000 ``` 在第二个终端中,启动前端: ``` npm --prefix frontend run dev ``` 打开终端中显示的 Vite URL,通常为: ``` http://127.0.0.1:5173 ``` ## 存储路径 默认情况下,后端会读取: ``` data/rawabit.db cases/ ``` 要使用不同的存储位置: ``` $env:RAWABIT_DB_PATH="C:\path\to\rawabit.db" $env:RAWABIT_CASES_ROOT="C:\path\to\cases" python -m uvicorn backend.app.main:app --reload --host 127.0.0.1 --port 8000 ``` ## 可选检查 构建前端: ``` npm --prefix frontend run build ``` 运行后端测试: ``` conda activate rawabit python -m pytest backend/tests ``` ## 评估复现 DHS LLW 评估工作流有单独的文档说明: ``` evaluation/DHS LLW & Immigration Enforcement/README.md ``` 该 README 涵盖了 golden-query 生成与验证、casepack 设置、评估命令以及已发布的结果文件夹。 ## 注意事项 - 本项目专注于为硕士论文评估而开发的原型。 - 包含的存储内容预期包含预摄取的案例,以便进行可复现的审查。 ## 致谢 Rawabit 基于 [LightRAG](https://github.com/HKUDS/LightRAG) 构建图谱索引和检索。在此向 LightRAG 的作者 (HKUDS) 及贡献者致谢并表达敬意,感谢他们将其工作开源。
标签:AV绕过, FastAPI, React, Syscalls, 人工智能, 多模态, 检索增强生成, 用户模式Hook绕过, 调查分析, 逆向工具