浏览代码

调整

develop
H Vs 3 个月前
父节点
当前提交
3f2d5b514e
共有 3 个文件被更改,包括 24 次插入23 次删除
  1. +0
    -18
      common/utils.py
  2. +23
    -4
      resources/messages_resource.py
  3. +1
    -1
      wechat/gewe_chat.py

+ 0
- 18
common/utils.py 查看文件

@@ -323,24 +323,6 @@ def wx_voice(text: str):
print(f"发生错误:{e}")
return None, None # 发生错误时返回 None


def save_contacts_brief_to_redis(wxid, friends):
# 将联系人信息保存到 Redis,使用一个合适的 key
hash_key = f"__AI_OPS_WX__:CONTACTS_BRIEF:{wxid}"
# 获取缓存中的数据,如果缓存不存在则初始化为空列表
cache_str = redis_helper.redis_helper.get_hash_field(hash_key, "data")
cache = json.loads(cache_str) if cache_str else []
# 合并联系人信息
cache.extend(friends)
# 将合并后的联系人数据保存回 Redis
redis_helper.redis_helper.update_hash_field(hash_key, "data", {
"data": json.dumps(cache, ensure_ascii=False)
})


def get_login_info_by_wxid(wxid: str) ->dict:
# 使用 SCAN 避免一次性返回所有的匹配键,逐步扫描
cursor = 0


+ 23
- 4
resources/messages_resource.py 查看文件

@@ -167,7 +167,7 @@ def handle_text(token_id,app_id, wxid,msg_data,from_wxid, to_wxid):
memory.USER_INTERACTIVE_CACHE[wxid] = {
"interactive":False
}
text=''
text=''
for item in reply_content:
if item["type"] == "text":
text=item["text"]["content"]
@@ -183,6 +183,20 @@ def handle_text(token_id,app_id, wxid,msg_data,from_wxid, to_wxid):
messages_to_send=gewe_chat.wxchat.save_session_messages_to_cache(hash_key, prompt)
res=fast_gpt_api(messages_to_send,f'{wxid}-{callback_to_user}')
reply_content=res["choices"][0]["message"]["content"]
# print('-------------------------------------------------')
# print(reply_content)
# print('-------------------------------------------------')

if isinstance(reply_content, list) :
reply_content=reply_content[0].get('text').get("content")
# print(reply_content)
# print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')

# try:
# json_data = json.loads(reply_content)
# reply_content=json_data[0].get('text').get("content")
# except ValueError:
# print("reply_content is a string, but not a valid JSON.")
else:
reply_content=text
else:
@@ -321,6 +335,11 @@ def handle_text_group(token_id,app_id, wxid,msg_data,from_wxid, to_wxid):
logger.info("发送对话 %s",input_message)
else:
logger.info('群聊公开消息')
callback_to_user=msg_data["FromUserName"]["string"]
dialogue_message=[{"type": "text", "text": msg_content}]
input_message=utils.dialogue_message(callback_to_user,wxid,dialogue_message)
kafka_helper.kafka_client.produce_message(input_message)
logger.info("发送对话 %s",input_message)
return

def handle_image(token_id,app_id, wxid,msg_data,from_wxid, to_wxid):
@@ -643,8 +662,8 @@ def get_messages_from_cache(hash_key,object:object)->list:
return messages

def fast_gpt_api(messages:list,session_id:str):
#api_key="sk-tdi7u0zuLsR0JpPMGBeFZxymOpL0zoFVafX8EEEvEakIDAGQ22NyQ6w"
api_key="sk-uJDBdKmJVb2cmfldGOvlIY6Qx0AzqWMPD3lS1IzgQYzHNOXv9SKNI"
api_key="sk-jr69ONIehfGKe9JFphuNk4DU5Y5wooHKHhQv7oSnFzVbwCnW65fXO9kvH" #测试
#api_key="sk-uJDBdKmJVb2cmfldGOvlIY6Qx0AzqWMPD3lS1IzgQYzHNOXv9SKNI" #开发2
api_url = "http://106.15.182.218:3000/api/v1/chat/completions"
headers = {

@@ -657,7 +676,7 @@ def fast_gpt_api(messages:list,session_id:str):
"chatId": session_id,
"detail": True
}
print(json.dumps(data,ensure_ascii=False))
#print(json.dumps(data,ensure_ascii=False))
logger.info("[CHATGPT] 请求={}".format(json.dumps(data, ensure_ascii=False)))
response = requests.post(url=api_url, headers=headers, data=json.dumps(data), timeout=600)
response.raise_for_status()


+ 1
- 1
wechat/gewe_chat.py 查看文件

@@ -553,7 +553,7 @@ class GeWeChatCom:
return response_object.get('ret',None),response_object.get('msg',None),response_object.get('data',None)

############################### 其他 ###############################
def save_session_messages_to_cache(hash_key,object:object)->list:
def save_session_messages_to_cache(self, hash_key,object:object)->list:
'''
对话列表
'''


正在加载...
取消
保存