过Ruff检测

This commit is contained in:
DrSmoothl
2025-03-21 13:31:54 +08:00
parent 0f1a3bfaba
commit dd1a4cd731
5 changed files with 56 additions and 33 deletions

View File

@@ -4,9 +4,10 @@
# from .questionnaire import PERSONALITY_QUESTIONS, FACTOR_DESCRIPTIONS
import os
import random
import sys
from pathlib import Path
import random
from src.plugins.personality.questionnaire import PERSONALITY_QUESTIONS,FACTOR_DESCRIPTIONS
current_dir = Path(__file__).resolve().parent
project_root = current_dir.parent.parent.parent
@@ -15,9 +16,6 @@ env_path = project_root / ".env.prod"
root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../.."))
sys.path.append(root_path)
from src.plugins.personality.scene import get_scene_by_factor,get_all_scenes,PERSONALITY_SCENES
from src.plugins.personality.questionnaire import PERSONALITY_QUESTIONS,FACTOR_DESCRIPTIONS
from src.plugins.personality.offline_llm import LLMModel

View File

@@ -1,11 +1,14 @@
from typing import Dict, List
import json
import os
from pathlib import Path
import random
import sys
from datetime import datetime
import random
from pathlib import Path
from typing import Dict
from scipy import stats # 添加scipy导入用于t检验
from src.plugins.personality.big5_test import BigFiveTest
from src.plugins.personality.renqingziji import PersonalityEvaluator_direct
from src.plugins.personality.questionnaire import FACTOR_DESCRIPTIONS, PERSONALITY_QUESTIONS
current_dir = Path(__file__).resolve().parent
project_root = current_dir.parent.parent.parent
@@ -14,9 +17,7 @@ env_path = project_root / ".env.prod"
root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../.."))
sys.path.append(root_path)
from src.plugins.personality.big5_test import BigFiveTest
from src.plugins.personality.renqingziji import PersonalityEvaluator_direct
from src.plugins.personality.questionnaire import FACTOR_DESCRIPTIONS, PERSONALITY_QUESTIONS
class CombinedPersonalityTest:
def __init__(self):

View File

@@ -1,4 +1,5 @@
# 人格测试问卷题目 王孟成, 戴晓阳, & 姚树桥. (2011). 中国大五人格问卷的初步编制Ⅲ:简式版的制定及信效度检验. 中国临床心理学杂志, 19(04), Article 04.
# 人格测试问卷题目 王孟成, 戴晓阳, & 姚树桥. (2011). 中国大五人格问卷的初步编制Ⅲ:简式版的制定及信效度检验. 中国临床心理学杂志,
# 19(04), Article 04.
# 王孟成, 戴晓阳, & 姚树桥. (2010). 中国大五人格问卷的初步编制Ⅰ:理论框架与信度分析. 中国临床心理学杂志, 18(05), Article 05.
PERSONALITY_QUESTIONS = [
@@ -23,7 +24,11 @@ PERSONALITY_QUESTIONS = [
{"id": 16, "content": "我是个倾尽全力做事的人", "factor": "严谨性", "reverse_scoring": False},
# 宜人性维度 (F3)
{"id": 17, "content": "尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈),我仍然相信人性总的来说是善良的", "factor": "宜人性", "reverse_scoring": False},
{"id": 17,
"content": "尽管人类社会存在着一些阴暗的东西(如战争、罪恶、欺诈),我仍然相信人性总的来说是善良的",
"factor": "宜人性",
"reverse_scoring": False
},
{"id": 18, "content": "我觉得大部分人基本上是心怀善意的", "factor": "宜人性", "reverse_scoring": False},
{"id": 19, "content": "虽然社会上有骗子,但我觉得大部分人还是可信的", "factor": "宜人性", "reverse_scoring": False},
{"id": 20, "content": "我不太关心别人是否受到不公正的待遇", "factor": "宜人性", "reverse_scoring": True},
@@ -56,7 +61,9 @@ PERSONALITY_QUESTIONS = [
# 因子维度说明
FACTOR_DESCRIPTIONS = {
"外向性": {
"description": "反映个体神经系统的强弱和动力特征。外向性主要表现为个体在人际交往和社交活动中的倾向性,包括对社交活动的兴趣、对人群的态度、社交互动中的主动程度以及在群体中的影响力。高分者倾向于积极参与社交活动,乐于与人交往,善于表达自我,并往往在群体中发挥领导作用;低分者则倾向于独处,不喜欢热闹的社交场合,表现出内向、安静的特征。",
"description": "反映个体神经系统的强弱和动力特征。外向性主要表现为个体在人际交往和社交活动中的倾向性,包括对社交活动的兴趣、对人 \
群的态度、社交互动中的主动程度以及在群体中的影响力。高分者倾向于积极参与社交活动,乐于与人交往,善于表达自我,并往往在群体中发挥领导 \
作用;低分者则倾向于独处,不喜欢热闹的社交场合,表现出内向、安静的特征。",
"trait_words": ["热情", "活力", "社交", "主动"],
"subfactors": {
"合群性": "个体愿意与他人聚在一起,即接近人群的倾向;高分表现乐群、好交际,低分表现封闭、独处",
@@ -66,7 +73,9 @@ FACTOR_DESCRIPTIONS = {
}
},
"神经质": {
"description": "反映个体情绪的状态和体验内心苦恼的倾向性。这个维度主要关注个体在面对压力、挫折和日常生活挑战时的情绪稳定性和适应能力。它包含了对焦虑、抑郁、愤怒等负面情绪的敏感程度,以及个体对这些情绪的调节和控制能力。高分者容易体验负面情绪,对压力较为敏感,情绪波动较大;低分者则表现出较强的情绪稳定性,能够较好地应对压力和挫折。",
"description": "反映个体情绪的状态和体验内心苦恼的倾向性。这个维度主要关注个体在面对压力、挫折和日常生活挑战时的情绪稳定性和适应能 \
力。它包含了对焦虑、抑郁、愤怒等负面情绪的敏感程度,以及个体对这些情绪的调节和控制能力。高分者容易体验负面情绪,对压力较为敏感,情绪波 \
动较大;低分者则表现出较强的情绪稳定性,能够较好地应对压力和挫折。",
"trait_words": ["稳定", "沉着", "从容", "坚韧"],
"subfactors": {
"焦虑": "个体体验焦虑感的个体差异;高分表现坐立不安,低分表现平静",
@@ -77,7 +86,9 @@ FACTOR_DESCRIPTIONS = {
}
},
"严谨性": {
"description": "反映个体在目标导向行为上的组织、坚持和动机特征。这个维度体现了个体在工作、学习等目标性活动中的自我约束和行为管理能力。它涉及到个体的责任感、自律性、计划性、条理性以及完成任务的态度。高分者往往表现出强烈的责任心、良好的组织能力、谨慎的决策风格和持续的努力精神;低分者则可能表现出随意性强、缺乏规划、做事马虎或易放弃的特点。",
"description": "反映个体在目标导向行为上的组织、坚持和动机特征。这个维度体现了个体在工作、学习等目标性活动中的自我约束和行为管理能 \
力。它涉及到个体的责任感、自律性、计划性、条理性以及完成任务的态度。高分者往往表现出强烈的责任心、良好的组织能力、谨慎的决策风格和持续的 \
努力精神;低分者则可能表现出随意性强、缺乏规划、做事马虎或易放弃的特点。",
"trait_words": ["负责", "自律", "条理", "勤奋"],
"subfactors": {
"责任心": "个体对待任务和他人认真负责,以及对自己承诺的信守;高分表现有责任心、负责任,低分表现推卸责任、逃避处罚",
@@ -88,7 +99,9 @@ FACTOR_DESCRIPTIONS = {
}
},
"开放性": {
"description": "反映个体对新异事物、新观念和新经验的接受程度,以及在思维和行为方面的创新倾向。这个维度体现了个体在认知和体验方面的广度、深度和灵活性。它包括对艺术的欣赏能力、对知识的求知欲、想象力的丰富程度,以及对冒险和创新的态度。高分者往往具有丰富的想象力、广泛的兴趣、开放的思维方式和创新的倾向;低分者则倾向于保守、传统,喜欢熟悉和常规的事物。",
"description": "反映个体对新异事物、新观念和新经验的接受程度,以及在思维和行为方面的创新倾向。这个维度体现了个体在认知和体验方面的 \
广度、深度和灵活性。它包括对艺术的欣赏能力、对知识的求知欲、想象力的丰富程度,以及对冒险和创新的态度。高分者往往具有丰富的想象力、广泛的 \
兴趣、开放的思维方式和创新的倾向;低分者则倾向于保守、传统,喜欢熟悉和常规的事物。",
"trait_words": ["创新", "好奇", "艺术", "冒险"],
"subfactors": {
"幻想": "个体富于幻想和想象的水平;高分表现想象力丰富,低分表现想象力匮乏",
@@ -99,7 +112,9 @@ FACTOR_DESCRIPTIONS = {
}
},
"宜人性": {
"description": "反映个体在人际关系中的亲和倾向,体现了对他人的关心、同情和合作意愿。这个维度主要关注个体与他人互动时的态度和行为特征,包括对他人的信任程度、同理心水平、助人意愿以及在人际冲突中的处理方式。高分者通常表现出友善、富有同情心、乐于助人的特质,善于与他人建立和谐关系;低分者则可能表现出较少的人际关注,在社交互动中更注重自身利益,较少考虑他人感受。",
"description": "反映个体在人际关系中的亲和倾向,体现了对他人的关心、同情和合作意愿。这个维度主要关注个体与他人互动时的态度和行为特 \
征,包括对他人的信任程度、同理心水平、助人意愿以及在人际冲突中的处理方式。高分者通常表现出友善、富有同情心、乐于助人的特质,善于与他人 \
建立和谐关系;低分者则可能表现出较少的人际关注,在社交互动中更注重自身利益,较少考虑他人感受。",
"trait_words": ["友善", "同理", "信任", "合作"],
"subfactors": {
"信任": "个体对他人和/或他人言论的相信程度;高分表现信任他人,低分表现怀疑",

View File

@@ -1,17 +1,25 @@
'''
The definition of artificial personality in this paper follows the dispositional para-digm and adapts a definition of personality developed for humans [17]:
The definition of artificial personality in this paper follows the dispositional para-digm and adapts a definition of
personality developed for humans [17]:
Personality for a human is the "whole and organisation of relatively stable tendencies and patterns of experience and
behaviour within one person (distinguishing it from other persons)". This definition is modified for artificial personality:
Artificial personality describes the relatively stable tendencies and patterns of behav-iour of an AI-based machine that
behaviour within one person (distinguishing it from other persons)".
This definition is modified for artificial personality:
Artificial personality describes the relatively stable tendencies
and patterns of behav-iour of an AI-based machine that
can be designed by developers and designers via different modalities, such as language, creating the impression
of individuality of a humanized social agent when users interact with the machine.'''
from typing import Dict, List
import json
import os
from pathlib import Path
from dotenv import load_dotenv
import sys
from pathlib import Path
from typing import Dict, List
from dotenv import load_dotenv
from src.plugins.personality.offline_llm import LLMModel
from src.plugins.personality.questionnaire import FACTOR_DESCRIPTIONS
from src.plugins.personality.scene import get_scene_by_factor, PERSONALITY_SCENES
'''
第一种方案:基于情景评估的人格测定
@@ -23,9 +31,6 @@ env_path = project_root / ".env.prod"
root_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../.."))
sys.path.append(root_path)
from src.plugins.personality.scene import get_scene_by_factor,get_all_scenes,PERSONALITY_SCENES
from src.plugins.personality.questionnaire import PERSONALITY_QUESTIONS,FACTOR_DESCRIPTIONS
from src.plugins.personality.offline_llm import LLMModel
# 加载环境变量
if env_path.exists():

View File

@@ -1,4 +1,4 @@
from typing import Dict, List
from typing import Dict
PERSONALITY_SCENES = {
"外向性": {
@@ -44,11 +44,12 @@ PERSONALITY_SCENES = {
"神经质": {
"场景1": {
"scenario": """你正在准备一个重要的项目演示这关系到你的晋升机会。就在演示前30分钟,你收到了主管发来的消息:
"scenario": """你正在准备一个重要的项目演示这关系到你的晋升机会。就在演示前30分钟
,你收到了主管发来的消息:
主管「临时有个变动CEO也会来听你的演示。他对这个项目特别感兴趣。」
正当你准备回复时主管又发来一条「对了能不能把演示时间压缩到15分钟CEO下午还有其他安排。你之前准备的是30分钟的版本对吧""",
正当你准备回复时主管又发来一条「对了能不能把演示时间压缩到15分钟CEO下午还有其他安排。
你之前准备的是30分钟的版本对吧""",
"explanation": "这个场景通过突发的压力情境,观察个体在面对计划外变化时的情绪反应和调节能力。"
},
"场景2": {
@@ -142,9 +143,11 @@ PERSONALITY_SCENES = {
"场景1": {
"scenario": """周末下午,你的好友小美兴致勃勃地给你打电话:
小美:「我刚发现一个特别有意思的沉浸式艺术展!不是传统那种挂画的展览,而是把整个空间都变成了艺术品。观众要穿特制的服装,还要带上VR眼镜好像还有AI实时互动
小美:「我刚发现一个特别有意思的沉浸式艺术展!不是传统那种挂画的展览,而是把整个空间都变成了艺术品。观众要穿特制的服装,
还要带上VR眼镜好像还有AI实时互动
小美继续说:「虽然票价不便宜,但听说体验很独特。网上评价两极分化,有人说是前所未有的艺术革新,也有人说是哗众取宠。要不要周末一起去体验一下?」""",
小美继续说:「虽然票价不便宜,但听说体验很独特。网上评价两极分化,有人说是前所未有的艺术革新,
也有人说是哗众取宠。要不要周末一起去体验一下?」""",
"explanation": "这个场景通过新型艺术体验,反映个体对创新事物的接受程度和尝试意愿。"
},
"场景2": {
@@ -158,7 +161,8 @@ PERSONALITY_SCENES = {
"场景3": {
"scenario": """在社交媒体上,你看到一个朋友分享了一种新的生活方式:
「最近我在尝试'数字游牧'生活,就是一边远程工作一边环游世界。没有固定住所,住青旅或短租,认识来自世界各地的朋友。虽然有时会很不稳定,但这种自由的生活方式真的很棒!」
「最近我在尝试'数字游牧'生活,就是一边远程工作一边环游世界。没有固定住所,住青旅或短租,认识来自世界各地的朋友。
虽然有时会很不稳定,但这种自由的生活方式真的很棒!」
评论区里争论不断,有人向往这种生活,也有人觉得太冒险。""",
"explanation": "通过另类生活方式,观察个体对非传统选择的态度。"