Qifan Zhang
Add Qwen3 embedding support with last-token pooling
b91a6bd
|
Raw
History Blame Contribute Delete
2.69 kB
---
title: TransDis-CreativityAutoAssessment
emoji: 💡
colorFrom: yellow
colorTo: gray
sdk: gradio
sdk_version: 6.14.0
python_version: "3.11"
app_file: app.py
pinned: false
license: mit
---
## 项目用途
TransDis-CreativityAutoAssessment 是一个用于自动评估发散思维回答的 Gradio 应用。它目前支持两类评分:
- **Originality**:计算每条 `prompt``response` 之间的语义距离,用于估计回答的独创性。
- **Flexibility**:计算同一 `id` + `prompt` 分组内多条回答之间的语义距离,用于估计回答的灵活性。
本应用基于论文 ["Automatic Assessment of Divergent Thinking in Chinese Language with TransDis: A Transformer-Based Language Model Approach"](https://arxiv.org/abs/2306.14790)。
## 输入格式
可以直接在文本框中粘贴 CSV 文本,也可以上传 `.csv` / `.xlsx` 文件。如果同时提供文本框和文件输入,上传文件优先。
`Originality` 任务需要提供:
```csv
id,prompt,response
1,床单,过滤器
1,bedsheet,used as a filter
```
`Flexibility` 任务需要为同一个被试和同一个提示词提供多条回答:
```csv
id,prompt,response
1,床单,过滤器
1,床单,做成渔网捞鱼
1,床单,做成枕头
```
单次请求最多处理 10,000 行数据。
## 模型选择
应用会在下拉菜单中提供多语言、英文和中文 Transformer 检查点,包括多语言 embedding 模型 `Qwen/Qwen3-Embedding-0.6B`。默认模型是:
```text
sentence-transformers/paraphrase-multilingual-mpnet-base-v2
```
可选 pooling 方式主要用于 legacy Transformer 检查点,包括 `mean``cls`。如果使用 `bert-base-chinese`,建议选择 `mean` pooling。选择 `Qwen/Qwen3-Embedding-0.6B` 时,界面会自动切换并锁定为 `last-token`,应用会使用该模型推荐的 last-token pooling 和向量归一化,即使 API 请求传入其他 pooling 值也会被覆盖。
## 本地开发
此 Space 使用 Python 3.11 和 Gradio 6.14.0。Gradio 版本由 README 顶部的 Space metadata 控制,因此不会写入 `requirements.txt`
```bash
python3.11 -m venv .venv
source .venv/bin/activate
pip install gradio==6.14.0 -r requirements.txt
python app.py
```
安装并运行 pre-commit:
```bash
uvx pre-commit install
uvx pre-commit run --all-files
```
推送前建议运行:
```bash
python3 -B -m py_compile app.py utils/pipeline.py utils/models.py
uvx pre-commit run --all-files
```
## Hugging Face Space
此 Space 由 README 顶部的 YAML 配置:
- `sdk: gradio`
- `sdk_version: 6.14.0`
- `python_version: "3.11"`
- `app_file: app.py`
推送到 Space 仓库后,Hugging Face 会自动重建并重启应用。