This commit is contained in:
SengokuCola
2025-08-11 13:19:37 +08:00
4 changed files with 11 additions and 6 deletions

View File

@@ -723,7 +723,7 @@ class EmojiManager:
emoji = await self.get_emoji_from_manager(emoji_hash) emoji = await self.get_emoji_from_manager(emoji_hash)
if emoji and emoji.emotion: if emoji and emoji.emotion:
logger.info(f"[缓存命中] 从内存获取表情包描述: {emoji.emotion}...") logger.info(f"[缓存命中] 从内存获取表情包描述: {emoji.emotion}...")
return emoji.emotion return ",".join(emoji.emotion)
# 如果内存中没有,从数据库查找 # 如果内存中没有,从数据库查找
self._ensure_db() self._ensure_db()

View File

@@ -24,7 +24,9 @@ class QAManager:
self.kg_manager = kg_manager self.kg_manager = kg_manager
self.qa_model = LLMRequest(model_set=model_config.model_task_config.lpmm_qa, request_type="lpmm.qa") self.qa_model = LLMRequest(model_set=model_config.model_task_config.lpmm_qa, request_type="lpmm.qa")
async def process_query(self, question: str) -> Optional[Tuple[List[Tuple[str, float, float]], Optional[Dict[str, float]]]]: async def process_query(
self, question: str
) -> Optional[Tuple[List[Tuple[str, float, float]], Optional[Dict[str, float]]]]:
"""处理查询""" """处理查询"""
# 生成问题的Embedding # 生成问题的Embedding
@@ -56,7 +58,8 @@ class QAManager:
logger.debug(f"关系检索用时:{part_end_time - part_start_time:.5f}s") logger.debug(f"关系检索用时:{part_end_time - part_start_time:.5f}s")
for res in relation_search_res: for res in relation_search_res:
rel_str = self.embed_manager.relation_embedding_store.store.get(res[0]).str if store_item := self.embed_manager.relation_embedding_store.store.get(res[0]):
rel_str = store_item.str
print(f"找到相关关系,相似度:{(res[1] * 100):.2f}% - {rel_str}") print(f"找到相关关系,相似度:{(res[1] * 100):.2f}% - {rel_str}")
# TODO: 使用LLM过滤三元组结果 # TODO: 使用LLM过滤三元组结果
@@ -105,7 +108,7 @@ class QAManager:
if not query_res: if not query_res:
logger.debug("知识库查询结果为空,可能是知识库中没有相关内容") logger.debug("知识库查询结果为空,可能是知识库中没有相关内容")
return None return None
knowledge = [ knowledge = [
( (
self.embed_manager.paragraphs_embedding_store.store[res[0]].str, self.embed_manager.paragraphs_embedding_store.store[res[0]].str,

View File

@@ -101,6 +101,8 @@ class ImageManager:
image_bytes = base64.b64decode(image_base64) image_bytes = base64.b64decode(image_base64)
image_hash = hashlib.md5(image_bytes).hexdigest() image_hash = hashlib.md5(image_bytes).hexdigest()
emoji = await emoji_manager.get_emoji_from_manager(image_hash) emoji = await emoji_manager.get_emoji_from_manager(image_hash)
if not emoji:
return "[表情包:未知]"
emotion_list = emoji.emotion emotion_list = emoji.emotion
tag_str = ",".join(emotion_list) tag_str = ",".join(emotion_list)
return f"[表情包:{tag_str}]" return f"[表情包:{tag_str}]"

View File

@@ -70,8 +70,8 @@ def get_key_comment(toml_table, key):
return item.trivia.comment return item.trivia.comment
if hasattr(toml_table, "keys"): if hasattr(toml_table, "keys"):
for k in toml_table.keys(): for k in toml_table.keys():
if isinstance(k, KeyType) and k.key == key: if isinstance(k, KeyType) and k.key == key: # type: ignore
return k.trivia.comment return k.trivia.comment # type: ignore
return None return None