| 零训练实现 | 人格稳定性 | 本地部署 | 可观测指标 |
| 基于规则和重排,无需模型训练 | 通过风格评分器保证输出一致性 | 集成Ollama,支持离线运行 | 提供详细的人格匹配度分析 |
graph TD
A[L3 记忆与安全层] --> B[L2 控制器层]
B --> C[L1 人格状态层]
C --> D[L0 基座模型层]
B1[人格提示构建器] --> B
B2[候选生成器] --> B
B3[风格重排器] --> B
C1[MBTI向量] --> C
C2[情绪状态机] --> C
C3[行为规则库] --> C
D1[Ollama服务] --> D
D2[deepseek-llm:7b] --> D
D3[API接口] --> D
| 类型 | 特征 | 风格特点 |
|---|---|---|
| ENTJ (执行官) | 领导力、效率导向 | 结论先行、行动导向、权威指导 |
| INFP (调停者) | 价值导向、共情能力 | 温和细腻、价值叙事、开放思考 |
| ISTP (虚拟家) | 实用主义、逻辑分析 | 务实客观、问题拆解、效果导向 |
# 安装Ollama (如果未安装)
curl -fsSL https://ollama.ai/install.sh | sh
# 下载推荐模型
ollama pull deepseek-llm:7b
# 启动Ollama服务
ollama serve# 克隆仓库
git clone https://github.com/Steven-ZN/MBTI-LLM.git
cd MBTI-LLM
# 安装依赖
pip install -r requirements.txt
# 环境配置
python setup.py基础调用
from personality_controller import PersonalityController
# 初始化控制器
controller = PersonalityController()
# 生成ENTJ风格回答
result = controller.generate_with_personality(
"如何提高团队效率?",
personality="ENTJ"
)
print(result["best_response"])人格对比
question = "如何学习一门新技术?"
for personality in ["ENTJ", "INFP", "ISTP"]:
result = controller.generate_with_personality(question, personality)
print(f"\n{personality}: {result['best_response']}")文本分析
text = "我觉得这个方案需要仔细考虑各方面的影响..."
analysis = controller.get_analysis(text, "INFP")
print(f"INFP匹配度: {analysis['overall_score']:.3f}")- MBTI四维度量化
- 可观测行为规则
- 词汇和结构偏好
- 基于规则的匹配度计算
- 多维度综合评分
- 详细分析报告
- 候选生成与重排
- Ollama集成
- 人格一致性保证
- 详细的语言风格定义
- 结构化模板
- 对比示例
| 指标 | 描述 | 范围 |
|---|---|---|
| 人格一致性 | 文本与目标人格的匹配度 | [0,1] |
| 可分辨性 | 不同人格输出的区分度 | 高/中/低 |
| 稳定性 | 多轮对话中的风格保持度 | 稳定/可变 |
| 流畅性 | 语言质量和可读性 | 自然/可接受/差 |
flowchart LR
A[用户输入] --> B[人格选择]
B --> C[系统提示构建]
C --> D[并发候选生成]
D --> E[风格评分]
E --> F[最佳回答选择]
F --> G[人格化回答 + 分析]
# 支持的Ollama模型
controller = PersonalityController(
base_model="gpt-oss:20b", # 你的本地模型
# base_model="llama2:13b", # 更大模型,更好质量
# base_model="gemma:2b", # 轻量模型,快速响应
)result = controller.generate_with_personality(
user_input,
personality="ENTJ",
num_candidates=5, # 候选数量:越多越准确,但越慢
return_all=True # 返回所有候选及评分
)| 虚拟助手 为AI助手添加稳定人格特征 |
内容创作 生成不同风格的创作文案 |
| 教育培训 MBTI理论教学和实践体验 |
研究工具 人格计算和文本分析研究 |
- 添加更多MBTI类型支持
- 情绪状态机集成
- 对话历史记忆
- 训练专用风格评分器
- LoRA微调支持
- 多轮对话一致性
- Big Five人格模型
- 个性化人格定制
- 实时风格自适应
PersonalityProfile(
mbti='ENTJ',
e_score=0.8, # 外向性 [-1,1]
s_score=0.2, # 感觉性 [-1,1]
t_score=0.9, # 思考性 [-1,1]
j_score=0.9, # 判断性 [-1,1]
valence=0.2, # 情绪愉悦度
arousal=0.7 # 情绪唤醒度
)final_score = (
sentence_structure * 0.3 + # 句子结构
vocabulary_match * 0.25 + # 词汇匹配
tone_consistency * 0.2 + # 语调一致性
length_style * 0.15 + # 长度风格
punctuation_style * 0.1 # 标点风格
)欢迎提交PR和Issue!重点关注:
- 新的人格类型规则
- 评分算法优化
- 应用场景扩展
- 性能优化
MIT License - 详见 LICENSE 文件
- Ollama项目 提供本地LLM支持
- MBTI理论 为人格建模提供基础
- 开源社区 提供各项依赖库支持