From f32dc86bd8af0aa7bbc745fb4b0a8c676a05ea73 Mon Sep 17 00:00:00 2001 From: H Vs Date: Fri, 21 Feb 2025 14:32:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4markdown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/messages_resource.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/resources/messages_resource.py b/resources/messages_resource.py index 6862323..98f2341 100644 --- a/resources/messages_resource.py +++ b/resources/messages_resource.py @@ -275,7 +275,7 @@ def ai_chat_text(token_id,app_id,wxid,msg_data,msg_content): messages_to_send=[{"role": "user", "content": msg_content}] res=fast_gpt_api(messages_to_send,wxid,callback_to_user) - reply_content=res["choices"][0]["message"]["content"] + reply_content=remove_markdown_symbol(res["choices"][0]["message"]["content"]) description = '' userSelectOptions = [] @@ -314,7 +314,7 @@ def ai_chat_text(token_id,app_id,wxid,msg_data,msg_content): redis_helper.redis_helper.update_hash_field(hash_key,"data",json.dumps(cache_messages,ensure_ascii=False)) messages_to_send=gewe_chat.wxchat.save_session_messages_to_cache(hash_key, prompt) res=fast_gpt_api(messages_to_send,wxid,callback_to_user) - reply_content=res["choices"][0]["message"]["content"] + reply_content=remove_markdown_symbol(res["choices"][0]["message"]["content"]) if isinstance(reply_content, list) : @@ -403,7 +403,7 @@ def handle_text_group(token_id,app_id, wxid,msg_data,from_wxid, to_wxid): messages_to_send=[{"role": "user", "content": msg_content}] res=fast_gpt_api(messages_to_send,wxid,callback_to_user) - reply_content=res["choices"][0]["message"]["content"] + reply_content=remove_markdown_symbol(res["choices"][0]["message"]["content"]) description = '' userSelectOptions = [] @@ -442,7 +442,7 @@ def handle_text_group(token_id,app_id, wxid,msg_data,from_wxid, to_wxid): redis_helper.redis_helper.update_hash_field(hash_key,"data",json.dumps(cache_messages,ensure_ascii=False)) messages_to_send=gewe_chat.wxchat.save_session_messages_to_cache(hash_key, prompt) res=fast_gpt_api(messages_to_send,wxid,callback_to_user) - reply_content=res["choices"][0]["message"]["content"] + reply_content=remove_markdown_symbol(res["choices"][0]["message"]["content"]) else: reply_content=text else: @@ -529,7 +529,7 @@ def handle_voice(token_id,app_id, wxid,msg_data,from_wxid, to_wxid): hash_key = f'__AI_OPS_WX__:MESSAGES:{wxid}:{callback_to_user}' messages=gewe_chat.wxchat.save_session_messages_to_cache(hash_key, {"role": "user", "content": react_voice_text}) ai_res=fast_gpt_api(messages,wxid,callback_to_user) - ai_res_content=ai_res["choices"][0]["message"]["content"] + ai_res_content=remove_markdown_symbol(ai_res["choices"][0]["message"]["content"]) has_url=contains_url(ai_res_content) if not has_url: voice_during,voice_url=utils.wx_voice(ai_res_content) @@ -606,7 +606,7 @@ def handle_xml_reference(token_id,app_id, wxid,msg_data,from_wxid, to_wxid): # 回复的对话 res=fast_gpt_api(messages_to_send,wxid,callback_to_user) - reply_content=res["choices"][0]["message"]["content"] + reply_content=remove_markdown_symbol(res["choices"][0]["message"]["content"]) input_wx_content_dialogue_message=[{"type": "text", "text": reply_content}] input_message=utils.dialogue_message(wxid,callback_to_user,input_wx_content_dialogue_message,True) kafka_helper.kafka_client.produce_message(input_message) @@ -658,7 +658,7 @@ def handle_add_friend_notice(token_id,app_id, wxid,msg_data,from_wxid, to_wxid): callback_to_user=to_contact_wxid res=fast_gpt_api(messages_to_send,wxid,callback_to_user) - reply_content=res["choices"][0]["message"]["content"] + reply_content=remove_markdown_symbol(res["choices"][0]["message"]["content"]) #保存好友信息 gewe_chat.wxchat.save_contacts_brief_to_cache(token_id,app_id, wxid,[to_contact_wxid]) @@ -866,4 +866,10 @@ def check_chatroom(userName): pattern = r'^\d+@chatroom$' if re.match(pattern, userName): return True - return False \ No newline at end of file + return False + +def remove_markdown_symbol(text: str): + # 移除markdown格式,目前先移除** + if not text: + return text + return re.sub(r'\*\*(.*?)\*\*', r'\1', text) \ No newline at end of file