小说人物性格 Embedding 模型

基于 165 部中外经典文学作品、10,671 个角色的性格描述训练的多头人格预测模型。

🎮 玩法指南

  1. 知己 — 输入一段描述自身性格的文字,点"预测",自动推理出你的大五人格、MBTI、九型人格、性格色彩等全方位人格画像。

  2. 觅知音 — 基于 64 维人格向量,从 9,534 个历史与文学角色中,自动找到与你性格最相似的那些人——看看你和曹操、诸葛亮、林黛玉谁更像?

  3. 找反差 — 一键切换"互补"模式,找出与你性格完全相反的角色,发现你的另一面。

  4. 造角色 — 随机生成 NPC,每个都附带完整的人格画像和性格描述文字,可用于游戏角色设计、文学创作灵感。

功能

输入一段人物描述文字,输出 5 种人格维度 + 64 维人格向量:

人格理论 输出维度 说明
大五人格 (OCEAN) 5维 (1-10) 开放性、尽责性、外向性、宜人性、神经质
性格四型 (PDP) 4维 (0-100) 力量型、活泼型、完美型、和平型
性格色彩 4维 (0-100) 红、蓝、黄、绿
MBTI 8维 (0-100) E/I, S/N, T/F, J/P
九型人格 9维 (0-100) 1-9号
人格向量 64维 用于相似度/互补度计算

快速开始

安装

# 基础安装(仅推理)
pip install torch sentence-transformers numpy

# 或通过 pip 安装本包
pip install -e .

# Web 服务额外依赖
pip install fastapi uvicorn

下载模型

从 HuggingFace 一键下载所有文件:

pip install huggingface-hub
# 国内用户设置镜像加速
set HF_ENDPOINT=https://hf-mirror.com          # Windows
export HF_ENDPOINT=https://hf-mirror.com       # Linux/Mac

# 下载整个仓库(推荐)
huggingface-cli download linzhe/xgmx --local-dir .

下载后你会得到这些文件:

文件 说明
personality_model.pt 模型权重 (~1MB)
modeling.py 推理代码
config.json 配置
qwen_desc_ep3.pt Qwen LoRA (~176MB,可选)

Qwen 需要自行下载 Qwen2.5-7B-Instruct 基座模型(~14GB)。

推理示例

from modeling import PersonalityPredictor

p = PersonalityPredictor()
result = p.predict("曹操性格奸诈多疑、雄才大略,善于用人却心狠手辣")
print(result["mbti"]["_mbti"])  # ENTJ
print(result["ocean"]["神经质"])   # 7.2

Web 服务

python server.py
# 访问 http://localhost:6006

Qwen 描述生成(可选)

基于 64 维人格向量生成自然语言性格描述。

安装额外依赖

pip install transformers peft accelerate bitsandbytes

下载基座模型

Qwen2.5-7B-Instruct 需自行下载(约 14GB):

# HuggingFace
huggingface-cli download Qwen/Qwen2.5-7B-Instruct --local-dir ./Qwen2.5-7B-Instruct

推理示例

python qwen_infer.py "曹操性格奸诈多疑、雄才大略"

或代码中调用:

from qwen_infer import load_qwen, generate
from modeling import PersonalityPredictor

# 先用 MLP 预测向量
predictor = PersonalityPredictor()
result = predictor.predict("曹操性格奸诈多疑")

# Qwen 生成描述
model, proj, tokenizer = load_qwen()
desc = generate(model, proj, tokenizer, result["vector"])
print(desc)

模型架构

64维向量 → Projector(64→256→512→4×3584) → 4软Token → Qwen2.5-7B(LoRA) → 描述

MLP 模型架构

文字描述 → text2vec-base-chinese (768维) → MLP (768→256→128→输出) → 人格分数
                                                  ↓
                                           64维人格向量

5 个独立的 MLP 回归头,每个约 800K 参数,总模型大小 < 10MB。

训练数据

  • 165 部经典文学作品(四大名著、金庸武侠、世界文学等)
  • 10,671 个角色的 DeepSeek-chat 标注人格分数
  • 85%/15% 训练/验证划分
  • 50 epochs, MSE 损失, Adam 优化器

局限性

  • 基于文学角色训练,对真实人物的适应度未经测试
  • 继承了 DeepSeek 标注的偏好和偏差
  • 输入需为中文,建议 50-200 字

引用

@misc{character-personality-embedding,
  author = {Character Personality Embedding Project},
  title = {Character Personality MLP Models},
  year = {2026},
}
Downloads last month
83
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support