HyLora/beyond_the_black_box
GitHub: HyLora/beyond_the_black_box
该仓库为HCAI硕士论文提供了从交互式前端原型、图数据库后端到NLP用户信任数据分析流水线的全栈实现与匿名化数据集。
Stars: 0 | Forks: 0
# 超越黑盒:全栈架构与数据流水线
本仓库包含了一篇硕士论文中所使用的完整源代码、后端架构以及计算数据分析流水线:**“超越黑盒:为科学大语言模型 (LLM) 的信任校准与适当依赖设计摩擦界面”**。该系统将基于 React 的前端原型与 NebulaGraph 后端桥接,提供动态的 Knowledge Graph 三元组,同时运行自动化自然语言处理 (NLP) 流水线来分析用户信任指标。
## 📌 系统架构
本仓库包含“Glass Box”实验原型的三个主要组件:
1. **前端 UI (`/frontend`):** 交互式 Web 界面,用户在此与 LLM 和渲染出的 Knowledge Graph 进行交互。
2. **后端 API (`/scripts/api_server.py`):** 一个 FastAPI 服务器,用于查询 Nebula 图数据库(ORKG 数据)并向前端提供语义三元组。
3. **数据分析流水线 (`/scripts/cluster_motivations.py`):** 一个 NLP 流水线,使用 `all-MiniLM-L6-v2` 句子嵌入和 K-Means 聚类来处理定性的用户动机。
## 📂 仓库结构
### 🖥️ 前端(Web 界面)
* 包含 React 组件、问卷渲染(`questionnaire.tsx`),以及用于 Glass Box 和 Black Box 条件的交互式 UI。
### ⚙️ 后端与 API (`/scripts`)
* `api_server.py`:定义 endpoint 的 FastAPI 应用程序。
* `run_full_pipeline.py`:主编排器。启动 Uvicorn 服务器并建立 Ngrok 隧道。
* `test_endpoint.py`:用于验证 API 和 Nebula 连接的实用脚本。
### 📊 数据分析 (`/scripts` & `/data`)
* `cluster_motivations.py`:生成 384 维的句子嵌入并应用无监督语义聚类。
* `analyze_results.py`:处理行为遥测(任务耗时)和认知指标(NASA-TLX)的统计分析。
* `/data`:包含匿名化的用户响应提取以及通过数学算法分配的语义聚类(`motivations_fully_coded.csv`)。
## 🚀 安装与使用
### 1. 运行数据分析流水线
要复现研究结果并生成语义聚类可视化,请安装 Python 依赖项:
```
pip install pandas numpy scikit-learn sentence-transformers matplotlib seaborn
```
然后执行分析脚本:
```
python scripts/cluster_motivations.py
```
### 2. 运行后端服务器
要启动本地 API 并通过 Ngrok 将其公开:
```
pip install fastapi uvicorn pyngrok nebula3-python
python scripts/run_full_pipeline.py
```
(注意:您必须使用新生成的 Ngrok URL 更新前端的 .env 变量才能建立连接)。
## 📜 许可证与学术诚信
本仓库的发布是为满足人本人工智能(米兰大学、米兰比可卡大学、帕维亚大学)硕士学位要求的一部分。所提供的数据已严格匿名化,以保护参与者的隐私。
标签:人机交互, 代码示例, 数据分析, 用户信任评估, 自动化攻击, 逆向工具