feat:conflict字段过滤+模型跨天处理异常bug修复
This commit is contained in:
@@ -188,7 +188,6 @@ def query_avali_room(data: dict, params: dict) -> str:
|
||||
|
||||
if Region and Region != 'None':
|
||||
for b in result:
|
||||
logger.info("b.capacity {0} {1}".format(b.get('capacity', 0), type(b.get('capacity', 0))))
|
||||
if (Region in b.get('name', 'default') or Region in b.get('typeName', 'default')):
|
||||
new_list.append(b)
|
||||
return json.dumps(new_list, ensure_ascii=False)
|
||||
@@ -520,15 +519,15 @@ def build_prompt(params,map_meetingname_to_id:list):
|
||||
参会人数(非必需,参会人数未指明则默认20)
|
||||
会议主题(非必需,会议主题不存在则用:默认主题)
|
||||
|
||||
(2)如果会议具体的开始和结束时间都没有,(时间要具体到某天几点,会议时长一般2小时,没有结束时间默认增加2小时,无需用户确认)提示用户确认会议时间,忽略步骤##TASK1(3)##,使用自然语言markdown格式返回,返回如下:
|
||||
(2)如果会议具体的开始和结束时间都没有,提示用户确认会议具体时间;如果只有开始时间,则结束时间按照时长2小时补齐,补齐2小时时,注意例如:2025-05-23 24:00:00里的24不合法,请转换成2025-05-24 00:00:00。忽略步骤##TASK1(3)##,使用自然语言markdown格式返回,返回如下:
|
||||
```
|
||||
**请输入会议详细开始-结束时间,例如:今晚9-10点**
|
||||
```
|
||||
(3)如果用户未明确指定会议室,具体的开始和结束时间至少存在一个(如果两者只存在一个,按2小时时差补齐另外一个,无需用户确认),请构造json直接查询会议室信息(start_time和end_time不能为空,Region可能是城市,区域,学校,酒店等的名称,注意识别),禁止假设查询失败,按如下方式填充构造json查询体返回给用户:
|
||||
(3)如果用户未明确指定会议室,具体的开始和结束时间至少存在一个(如果两者只存在一个,按2小时时差补齐另外一个,无需用户确认,补齐2小时时,注意例如:2025-05-23 24:00:00里的24不合法,请转换成2025-05-24 00:00:00),请构造json直接查询会议室信息(start_time和end_time不能为空,Region可能是城市,区域,学校,酒店等的名称,注意识别),禁止假设查询失败,按如下方式填充构造json查询体返回给用户:
|
||||
```
|
||||
{qry_avail_meetingroom_for_mart_str}
|
||||
```
|
||||
(4) 若用户确认预定且提供的信息完整会议室可用,直接构造标准JSON(如果开始时间或结束时间两者只存在一个,按2小时时差补齐另外一个),返回如下JSON执行预定操作:
|
||||
(4) 若用户确认预定且提供的信息完整会议室可用,直接构造标准JSON(如果开始时间或结束时间两者只存在一个,按2小时时差补齐另外一个,补齐2小时时,注意例如:2025-05-23 24:00:00里的24不合法,请转换成2025-05-24 00:00:00),返回如下JSON执行预定操作:
|
||||
```
|
||||
{book_for_mart_str}
|
||||
```
|
||||
|
||||
@@ -54,11 +54,11 @@ def filter_state(content: dict):
|
||||
return result
|
||||
|
||||
'''
|
||||
过滤掉未启用的会议室
|
||||
过滤掉未启用的,以及该时间段内不可用的会议室
|
||||
'''
|
||||
def filter_meetingroom(data: dict):
|
||||
filtered_rooms = []
|
||||
if data:
|
||||
filtered_rooms = [room for room in data if room['state'] in [1]]
|
||||
filtered_rooms = [room for room in data if room['state'] in [1] and room['conflict'] in [0]]
|
||||
|
||||
return filtered_rooms
|
||||
|
||||
Reference in New Issue
Block a user