🤖 自动格式化代码 [skip ci]

This commit is contained in:
github-actions[bot]
2025-06-25 13:35:02 +00:00
parent 23c35c8fc7
commit 3bcb173e64
3 changed files with 22 additions and 31 deletions

View File

@@ -394,7 +394,7 @@ class DefaultReplyer:
else: else:
bot_nickname = "" bot_nickname = ""
short_impression = await person_info_manager.get_value(bot_person_id, "short_impression") short_impression = await person_info_manager.get_value(bot_person_id, "short_impression")
# 解析字符串形式的Python列表 # 解析字符串形式的Python列表
try: try:
if isinstance(short_impression, str) and short_impression.strip(): if isinstance(short_impression, str) and short_impression.strip():
short_impression = ast.literal_eval(short_impression) short_impression = ast.literal_eval(short_impression)
@@ -404,7 +404,7 @@ class DefaultReplyer:
except (ValueError, SyntaxError) as e: except (ValueError, SyntaxError) as e:
logger.error(f"解析short_impression失败: {e}, 原始值: {short_impression}") logger.error(f"解析short_impression失败: {e}, 原始值: {short_impression}")
short_impression = ["友好活泼", "人类"] short_impression = ["友好活泼", "人类"]
# 确保short_impression是列表格式且有足够的元素 # 确保short_impression是列表格式且有足够的元素
if not isinstance(short_impression, list) or len(short_impression) < 2: if not isinstance(short_impression, list) or len(short_impression) < 2:
logger.warning(f"short_impression格式不正确: {short_impression}, 使用默认值") logger.warning(f"short_impression格式不正确: {short_impression}, 使用默认值")

View File

@@ -11,7 +11,6 @@ import random
from src.person_info.person_info import get_person_info_manager from src.person_info.person_info import get_person_info_manager
from src.chat.express.expression_selector import expression_selector from src.chat.express.expression_selector import expression_selector
import re import re
import json
import ast import ast
from src.person_info.relationship_manager import get_relationship_manager from src.person_info.relationship_manager import get_relationship_manager
@@ -95,9 +94,9 @@ class PromptBuilder:
) -> str: ) -> str:
person_info_manager = get_person_info_manager() person_info_manager = get_person_info_manager()
bot_person_id = person_info_manager.get_person_id("system", "bot_id") bot_person_id = person_info_manager.get_person_id("system", "bot_id")
short_impression = await person_info_manager.get_value(bot_person_id, "short_impression") short_impression = await person_info_manager.get_value(bot_person_id, "short_impression")
# 解析字符串形式的Python列表 # 解析字符串形式的Python列表
try: try:
if isinstance(short_impression, str) and short_impression.strip(): if isinstance(short_impression, str) and short_impression.strip():
@@ -108,12 +107,12 @@ class PromptBuilder:
except (ValueError, SyntaxError) as e: except (ValueError, SyntaxError) as e:
logger.error(f"解析short_impression失败: {e}, 原始值: {short_impression}") logger.error(f"解析short_impression失败: {e}, 原始值: {short_impression}")
short_impression = ["友好活泼", "人类"] short_impression = ["友好活泼", "人类"]
# 确保short_impression是列表格式且有足够的元素 # 确保short_impression是列表格式且有足够的元素
if not isinstance(short_impression, list) or len(short_impression) < 2: if not isinstance(short_impression, list) or len(short_impression) < 2:
logger.warning(f"short_impression格式不正确: {short_impression}, 使用默认值") logger.warning(f"short_impression格式不正确: {short_impression}, 使用默认值")
short_impression = ["友好活泼", "人类"] short_impression = ["友好活泼", "人类"]
personality = short_impression[0] personality = short_impression[0]
identity = short_impression[1] identity = short_impression[1]
prompt_personality = personality + "" + identity prompt_personality = personality + "" + identity

View File

@@ -102,7 +102,7 @@ class Individuality:
# 根据变化情况决定是否重新创建 # 根据变化情况决定是否重新创建
personality_result = None personality_result = None
identity_result = None identity_result = None
if personality_changed: if personality_changed:
logger.info("检测到人格配置变化,重新生成压缩版本") logger.info("检测到人格配置变化,重新生成压缩版本")
personality_result = await self._create_personality(personality_core, personality_sides) personality_result = await self._create_personality(personality_core, personality_sides)
@@ -121,7 +121,7 @@ class Individuality:
else: else:
logger.info("未找到现有的人格缓存,重新生成") logger.info("未找到现有的人格缓存,重新生成")
personality_result = await self._create_personality(personality_core, personality_sides) personality_result = await self._create_personality(personality_core, personality_sides)
if identity_changed: if identity_changed:
logger.info("检测到身份配置变化,重新生成压缩版本") logger.info("检测到身份配置变化,重新生成压缩版本")
identity_result = await self._create_identity(identity_detail) identity_result = await self._create_identity(identity_detail)
@@ -140,9 +140,9 @@ class Individuality:
else: else:
logger.info("未找到现有的身份缓存,重新生成") logger.info("未找到现有的身份缓存,重新生成")
identity_result = await self._create_identity(identity_detail) identity_result = await self._create_identity(identity_detail)
result = [personality_result, identity_result] result = [personality_result, identity_result]
# 更新short_impression字段 # 更新short_impression字段
if personality_result and identity_result: if personality_result and identity_result:
person_info_manager = get_person_info_manager() person_info_manager = get_person_info_manager()
@@ -150,7 +150,7 @@ class Individuality:
logger.info("已将人设构建") logger.info("已将人设构建")
else: else:
logger.error("人设构建失败") logger.error("人设构建失败")
asyncio.create_task(self.express_style.extract_and_store_personality_expressions()) asyncio.create_task(self.express_style.extract_and_store_personality_expressions())
def to_dict(self) -> dict: def to_dict(self) -> dict:
@@ -323,7 +323,7 @@ class Individuality:
self, bot_nickname: str, personality_core: str, personality_sides: list, identity_detail: list self, bot_nickname: str, personality_core: str, personality_sides: list, identity_detail: list
) -> tuple[str, str]: ) -> tuple[str, str]:
"""获取personality和identity配置的哈希值 """获取personality和identity配置的哈希值
Returns: Returns:
tuple: (personality_hash, identity_hash) tuple: (personality_hash, identity_hash)
""" """
@@ -336,7 +336,7 @@ class Individuality:
} }
personality_str = json.dumps(personality_config, sort_keys=True) personality_str = json.dumps(personality_config, sort_keys=True)
personality_hash = hashlib.md5(personality_str.encode("utf-8")).hexdigest() personality_hash = hashlib.md5(personality_str.encode("utf-8")).hexdigest()
# 身份配置哈希 # 身份配置哈希
identity_config = { identity_config = {
"identity_detail": sorted(identity_detail), "identity_detail": sorted(identity_detail),
@@ -344,14 +344,14 @@ class Individuality:
} }
identity_str = json.dumps(identity_config, sort_keys=True) identity_str = json.dumps(identity_config, sort_keys=True)
identity_hash = hashlib.md5(identity_str.encode("utf-8")).hexdigest() identity_hash = hashlib.md5(identity_str.encode("utf-8")).hexdigest()
return personality_hash, identity_hash return personality_hash, identity_hash
async def _check_config_and_clear_if_changed( async def _check_config_and_clear_if_changed(
self, bot_nickname: str, personality_core: str, personality_sides: list, identity_detail: list self, bot_nickname: str, personality_core: str, personality_sides: list, identity_detail: list
) -> tuple[bool, bool]: ) -> tuple[bool, bool]:
"""检查配置是否发生变化,如果变化则清空相应缓存 """检查配置是否发生变化,如果变化则清空相应缓存
Returns: Returns:
tuple: (personality_changed, identity_changed) tuple: (personality_changed, identity_changed)
""" """
@@ -453,9 +453,7 @@ class Individuality:
logger.error(f"解析info_list失败: {info_list_json}") logger.error(f"解析info_list失败: {info_list_json}")
return keywords return keywords
async def _create_personality( async def _create_personality(self, personality_core: str, personality_sides: list) -> str:
self, personality_core: str, personality_sides: list
) -> str:
"""使用LLM创建压缩版本的impression """使用LLM创建压缩版本的impression
Args: Args:
@@ -467,8 +465,7 @@ class Individuality:
str: 压缩后的impression文本 str: 压缩后的impression文本
""" """
logger.info("正在构建人格.........") logger.info("正在构建人格.........")
# 核心人格保持不变 # 核心人格保持不变
personality_parts = [] personality_parts = []
if personality_core: if personality_core:
@@ -479,8 +476,7 @@ class Individuality:
personality_to_compress = [] personality_to_compress = []
if personality_sides: if personality_sides:
personality_to_compress.append(f"人格特质: {''.join(personality_sides)}") personality_to_compress.append(f"人格特质: {''.join(personality_sides)}")
prompt = f"""请将以下人格信息进行简洁压缩,保留主要内容,用简练的中文表达: prompt = f"""请将以下人格信息进行简洁压缩,保留主要内容,用简练的中文表达:
{personality_to_compress} {personality_to_compress}
@@ -492,7 +488,7 @@ class Individuality:
response, (_, _) = await self.model.generate_response_async( response, (_, _) = await self.model.generate_response_async(
prompt=prompt, prompt=prompt,
) )
if response.strip(): if response.strip():
personality_parts.append(response.strip()) personality_parts.append(response.strip())
logger.info(f"精简人格侧面: {response.strip()}") logger.info(f"精简人格侧面: {response.strip()}")
@@ -506,15 +502,13 @@ class Individuality:
personality_result = personality_core personality_result = personality_core
if personality_sides: if personality_sides:
personality_result += "".join(personality_sides) personality_result += "".join(personality_sides)
return personality_result return personality_result
async def _create_identity(self, identity_detail: list) -> str: async def _create_identity(self, identity_detail: list) -> str:
"""使用LLM创建压缩版本的impression """使用LLM创建压缩版本的impression"""
"""
logger.info("正在构建身份.........") logger.info("正在构建身份.........")
if global_config.identity.compress_indentity: if global_config.identity.compress_indentity:
identity_to_compress = [] identity_to_compress = []
if identity_detail: if identity_detail:
@@ -539,10 +533,8 @@ class Individuality:
logger.error(f"使用LLM压缩身份时出错: {response}") logger.error(f"使用LLM压缩身份时出错: {response}")
else: else:
identity_result = "".join(identity_detail) identity_result = "".join(identity_detail)
return identity_result
return identity_result
individuality = None individuality = None