Merge branch 'dev' of https://github.com/MaiM-with-u/MaiBot into dev
This commit is contained in:
@@ -723,7 +723,7 @@ class EmojiManager:
|
||||
emoji = await self.get_emoji_from_manager(emoji_hash)
|
||||
if emoji and emoji.emotion:
|
||||
logger.info(f"[缓存命中] 从内存获取表情包描述: {emoji.emotion}...")
|
||||
return emoji.emotion
|
||||
return ",".join(emoji.emotion)
|
||||
|
||||
# 如果内存中没有,从数据库查找
|
||||
self._ensure_db()
|
||||
|
||||
@@ -24,7 +24,9 @@ class QAManager:
|
||||
self.kg_manager = kg_manager
|
||||
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
|
||||
@@ -56,7 +58,8 @@ class QAManager:
|
||||
logger.debug(f"关系检索用时:{part_end_time - part_start_time:.5f}s")
|
||||
|
||||
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}")
|
||||
|
||||
# TODO: 使用LLM过滤三元组结果
|
||||
@@ -105,7 +108,7 @@ class QAManager:
|
||||
if not query_res:
|
||||
logger.debug("知识库查询结果为空,可能是知识库中没有相关内容")
|
||||
return None
|
||||
|
||||
|
||||
knowledge = [
|
||||
(
|
||||
self.embed_manager.paragraphs_embedding_store.store[res[0]].str,
|
||||
|
||||
@@ -101,6 +101,8 @@ class ImageManager:
|
||||
image_bytes = base64.b64decode(image_base64)
|
||||
image_hash = hashlib.md5(image_bytes).hexdigest()
|
||||
emoji = await emoji_manager.get_emoji_from_manager(image_hash)
|
||||
if not emoji:
|
||||
return "[表情包:未知]"
|
||||
emotion_list = emoji.emotion
|
||||
tag_str = ",".join(emotion_list)
|
||||
return f"[表情包:{tag_str}]"
|
||||
|
||||
@@ -70,8 +70,8 @@ def get_key_comment(toml_table, key):
|
||||
return item.trivia.comment
|
||||
if hasattr(toml_table, "keys"):
|
||||
for k in toml_table.keys():
|
||||
if isinstance(k, KeyType) and k.key == key:
|
||||
return k.trivia.comment
|
||||
if isinstance(k, KeyType) and k.key == key: # type: ignore
|
||||
return k.trivia.comment # type: ignore
|
||||
return None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user