|
|
|
@ -401,19 +401,21 @@ class DouyinLiveWebReply:
|
|
|
|
|
logger.error(f'Failed to post to human: {response.text}')
|
|
|
|
|
|
|
|
|
|
def generate_messages(self, batch_number=0):
|
|
|
|
|
message_count = self.live_chat_config.messages(batch_number)
|
|
|
|
|
if message_count == 0:
|
|
|
|
|
logger.info(f'生成系统文案,batch_number: {batch_number}')
|
|
|
|
|
system_messages = self.live_chat_config.system_messages
|
|
|
|
|
llm_prompt = self.live_chat_config.refine_system_message_prompt.format(
|
|
|
|
|
content=system_messages)
|
|
|
|
|
logger.info(f'llm_prompt: {llm_prompt}')
|
|
|
|
|
reply_messages = self._llm(llm_prompt, False)
|
|
|
|
|
reply_messages = re.findall(r'\{.*?\}', reply_messages, re.DOTALL)[0]
|
|
|
|
|
reply_messages = json.loads(reply_messages)
|
|
|
|
|
for _type, message in reply_messages.items():
|
|
|
|
|
self.live_chat_config.insert_message(message, _type, batch_number)
|
|
|
|
|
logger.info(f'入库文案:{_type} | {message}')
|
|
|
|
|
# message_count = self.live_chat_config.messages(batch_number)
|
|
|
|
|
# if message_count == 0:
|
|
|
|
|
logger.info(f'生成系统文案,batch_number: {batch_number}')
|
|
|
|
|
system_messages = self.live_chat_config.system_messages_random_mix_dict(product_id=1, ensure_mixed=True)
|
|
|
|
|
logger.info(f'生成系统文案,system_messages: {system_messages}')
|
|
|
|
|
|
|
|
|
|
llm_prompt = self.live_chat_config.refine_system_message_prompt.format(content=system_messages)
|
|
|
|
|
|
|
|
|
|
logger.info(f'llm_prompt: {llm_prompt}')
|
|
|
|
|
reply_messages = self._llm(llm_prompt, False)
|
|
|
|
|
reply_messages = re.findall(r'\{.*?\}', reply_messages, re.DOTALL)[0]
|
|
|
|
|
reply_messages = json.loads(reply_messages)
|
|
|
|
|
for _type, message in reply_messages.items():
|
|
|
|
|
self.live_chat_config.insert_message(message, _type, batch_number)
|
|
|
|
|
logger.info(f'入库文案:{_type} | {message}')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def text_to_adio_cost_predict(self, text):
|
|
|
|
@ -502,8 +504,8 @@ class DouyinLiveWebReply:
|
|
|
|
|
else:
|
|
|
|
|
if not self.live_chat_config.next_reply_message:
|
|
|
|
|
logger.info('文案已用完,重新生成文案')
|
|
|
|
|
self.generate_messages(0)
|
|
|
|
|
self.live_chat_config.flush_message()
|
|
|
|
|
self.generate_messages(1)
|
|
|
|
|
continue
|
|
|
|
|
else:
|
|
|
|
|
# 不在说话 -> 从队列/库里取一句话播报
|
|
|
|
@ -522,7 +524,7 @@ class DouyinLiveWebReply:
|
|
|
|
|
if not message:
|
|
|
|
|
logger.info('文案已用完,重新生成文案')
|
|
|
|
|
self.generate_messages(0)
|
|
|
|
|
self.generate_messages(1)
|
|
|
|
|
# self.generate_messages(1)
|
|
|
|
|
continue
|
|
|
|
|
reply_message, _id = message
|
|
|
|
|
logger.info(f'更新文案id:{_id}状态为: 1')
|
|
|
|
|