|
|
|
|
|
|
|
|
"name": req.get("name", "New session"), |
|
|
"name": req.get("name", "New session"), |
|
|
"message": [{"role": "assistant", "content": dia[0].prompt_config.get("prologue")}], |
|
|
"message": [{"role": "assistant", "content": dia[0].prompt_config.get("prologue")}], |
|
|
"user_id": req.get("user_id", ""), |
|
|
"user_id": req.get("user_id", ""), |
|
|
|
|
|
"reference":[{}], |
|
|
} |
|
|
} |
|
|
if not conv.get("name"): |
|
|
if not conv.get("name"): |
|
|
return get_error_data_result(message="`name` can not be empty.") |
|
|
return get_error_data_result(message="`name` can not be empty.") |
|
|
|
|
|
|
|
|
if "prompt" in info: |
|
|
if "prompt" in info: |
|
|
info.pop("prompt") |
|
|
info.pop("prompt") |
|
|
conv["chat_id"] = conv.pop("dialog_id") |
|
|
conv["chat_id"] = conv.pop("dialog_id") |
|
|
if conv["reference"]: |
|
|
|
|
|
|
|
|
ref_messages = conv["reference"] |
|
|
|
|
|
if ref_messages: |
|
|
messages = conv["messages"] |
|
|
messages = conv["messages"] |
|
|
message_num = 0 |
|
|
message_num = 0 |
|
|
while message_num < len(messages) and message_num < len(conv["reference"]): |
|
|
|
|
|
if message_num != 0 and messages[message_num]["role"] != "user": |
|
|
|
|
|
if message_num >= len(conv["reference"]): |
|
|
|
|
|
break |
|
|
|
|
|
|
|
|
ref_num = 0 |
|
|
|
|
|
while message_num < len(messages) and ref_num < len(ref_messages): |
|
|
|
|
|
if messages[message_num]["role"] != "user": |
|
|
chunk_list = [] |
|
|
chunk_list = [] |
|
|
if "chunks" in conv["reference"][message_num]: |
|
|
|
|
|
chunks = conv["reference"][message_num]["chunks"] |
|
|
|
|
|
|
|
|
if "chunks" in ref_messages[ref_num]: |
|
|
|
|
|
chunks = ref_messages[ref_num]["chunks"] |
|
|
for chunk in chunks: |
|
|
for chunk in chunks: |
|
|
new_chunk = { |
|
|
new_chunk = { |
|
|
"id": chunk.get("chunk_id", chunk.get("id")), |
|
|
"id": chunk.get("chunk_id", chunk.get("id")), |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
chunk_list.append(new_chunk) |
|
|
chunk_list.append(new_chunk) |
|
|
messages[message_num]["reference"] = chunk_list |
|
|
messages[message_num]["reference"] = chunk_list |
|
|
|
|
|
ref_num += 1 |
|
|
message_num += 1 |
|
|
message_num += 1 |
|
|
del conv["reference"] |
|
|
del conv["reference"] |
|
|
return get_result(data=convs) |
|
|
return get_result(data=convs) |