feat: emoji选择逻辑优化
This commit is contained in:
@@ -51,6 +51,7 @@ class EmojiManager:
|
|||||||
self.db = Database.get_instance()
|
self.db = Database.get_instance()
|
||||||
self._scan_task = None
|
self._scan_task = None
|
||||||
self.llm = LLM_request(model=global_config.vlm, temperature=0.3, max_tokens=1000)
|
self.llm = LLM_request(model=global_config.vlm, temperature=0.3, max_tokens=1000)
|
||||||
|
self.lm = LLM_request(model=global_config.llm_reasoning_minor, max_tokens=1000)
|
||||||
|
|
||||||
def _ensure_emoji_dir(self):
|
def _ensure_emoji_dir(self):
|
||||||
"""确保表情存储目录存在"""
|
"""确保表情存储目录存在"""
|
||||||
@@ -106,7 +107,8 @@ class EmojiManager:
|
|||||||
self._ensure_db()
|
self._ensure_db()
|
||||||
|
|
||||||
# 获取文本的embedding
|
# 获取文本的embedding
|
||||||
text_embedding = get_embedding(text)
|
text_for_search= await self._get_kimoji_for_text(text)
|
||||||
|
text_embedding = get_embedding(text_for_search)
|
||||||
if not text_embedding:
|
if not text_embedding:
|
||||||
logger.error("无法获取文本的embedding")
|
logger.error("无法获取文本的embedding")
|
||||||
return None
|
return None
|
||||||
@@ -202,6 +204,18 @@ class EmojiManager:
|
|||||||
logger.error(f"获取标签失败: {str(e)}")
|
logger.error(f"获取标签失败: {str(e)}")
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
async def _get_kimoji_for_text(self, text:str):
|
||||||
|
try:
|
||||||
|
prompt = f'这是{global_config.BOT_NICKNAME}将要发送的消息内容:\n{text}\n若要为其配上表情包,请你输出这个表情包应该表达怎样的情感,应该给人什么样的感觉,不要太简洁也不要太长,注意不要输出任何对内容的分析内容,只输出\"一种什么样的感觉\"中间的形容词部分。'
|
||||||
|
|
||||||
|
content, _ = await self.llm.generate_response_async(prompt)
|
||||||
|
logger.info(f"输出描述: {content}")
|
||||||
|
return content
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"获取标签失败: {str(e)}")
|
||||||
|
return None
|
||||||
|
|
||||||
async def _compress_image(self, image_path: str, target_size: int = 0.8 * 1024 * 1024) -> Optional[str]:
|
async def _compress_image(self, image_path: str, target_size: int = 0.8 * 1024 * 1024) -> Optional[str]:
|
||||||
"""压缩图片并返回base64编码
|
"""压缩图片并返回base64编码
|
||||||
Args:
|
Args:
|
||||||
|
|||||||
Reference in New Issue
Block a user