|  |  | @@ -65,20 +65,24 @@ def create(tenant_id, chat_id): | 
		
	
		
			
			|  |  |  | @manager.route('/agents/<agent_id>/sessions', methods=['POST'])  # noqa: F821 | 
		
	
		
			
			|  |  |  | @token_required | 
		
	
		
			
			|  |  |  | def create_agent_session(tenant_id, agent_id): | 
		
	
		
			
			|  |  |  | req = request.json | 
		
	
		
			
			|  |  |  | e, cvs = UserCanvasService.get_by_id(agent_id) | 
		
	
		
			
			|  |  |  | if not e: | 
		
	
		
			
			|  |  |  | return get_error_data_result("Agent not found.") | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if not UserCanvasService.query(user_id=tenant_id,id=agent_id): | 
		
	
		
			
			|  |  |  | return  get_error_data_result("You cannot access the agent.") | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if not isinstance(cvs.dsl, str): | 
		
	
		
			
			|  |  |  | cvs.dsl = json.dumps(cvs.dsl, ensure_ascii=False) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | canvas = Canvas(cvs.dsl, tenant_id) | 
		
	
		
			
			|  |  |  | if canvas.get_preset_param(): | 
		
	
		
			
			|  |  |  | return get_error_data_result("The agent can't create a session directly") | 
		
	
		
			
			|  |  |  | return get_error_data_result("The agent cannot create a session directly") | 
		
	
		
			
			|  |  |  | conv = { | 
		
	
		
			
			|  |  |  | "id": get_uuid(), | 
		
	
		
			
			|  |  |  | "dialog_id": cvs.id, | 
		
	
		
			
			|  |  |  | "user_id": tenant_id, | 
		
	
		
			
			|  |  |  | "user_id": req.get("usr_id","") if isinstance(req, dict) else "", | 
		
	
		
			
			|  |  |  | "message": [{"role": "assistant", "content": canvas.get_prologue()}], | 
		
	
		
			
			|  |  |  | "source": "agent", | 
		
	
		
			
			|  |  |  | "dsl": json.loads(cvs.dsl) | 
		
	
	
		
			
			|  |  | @@ -199,17 +203,15 @@ def list_session(tenant_id, chat_id): | 
		
	
		
			
			|  |  |  | chunks = conv["reference"][chunk_num]["chunks"] | 
		
	
		
			
			|  |  |  | for chunk in chunks: | 
		
	
		
			
			|  |  |  | new_chunk = { | 
		
	
		
			
			|  |  |  | "id": chunk["chunk_id"], | 
		
	
		
			
			|  |  |  | "content": chunk["content_with_weight"], | 
		
	
		
			
			|  |  |  | "document_id": chunk["doc_id"], | 
		
	
		
			
			|  |  |  | "document_name": chunk["docnm_kwd"], | 
		
	
		
			
			|  |  |  | "dataset_id": chunk["kb_id"], | 
		
	
		
			
			|  |  |  | "image_id": chunk.get("image_id", ""), | 
		
	
		
			
			|  |  |  | "similarity": chunk["similarity"], | 
		
	
		
			
			|  |  |  | "vector_similarity": chunk["vector_similarity"], | 
		
	
		
			
			|  |  |  | "term_similarity": chunk["term_similarity"], | 
		
	
		
			
			|  |  |  | "positions": chunk["positions"], | 
		
	
		
			
			|  |  |  | "id": chunk.get("chunk_id", chunk.get("id")), | 
		
	
		
			
			|  |  |  | "content": chunk.get("content_with_weight", chunk.get("content")), | 
		
	
		
			
			|  |  |  | "document_id": chunk.get("doc_id", chunk.get("document_id")), | 
		
	
		
			
			|  |  |  | "document_name": chunk.get("docnm_kwd", chunk.get("document_name")), | 
		
	
		
			
			|  |  |  | "dataset_id": chunk.get("kb_id", chunk.get("dataset_id")), | 
		
	
		
			
			|  |  |  | "image_id": chunk.get("image_id", chunk.get("img_id")), | 
		
	
		
			
			|  |  |  | "positions": chunk.get("positions", chunk.get("position_int")), | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | chunk_list.append(new_chunk) | 
		
	
		
			
			|  |  |  | chunk_num += 1 | 
		
	
		
			
			|  |  |  | messages[message_num]["reference"] = chunk_list | 
		
	
	
		
			
			|  |  | @@ -254,16 +256,13 @@ def list_agent_session(tenant_id, agent_id): | 
		
	
		
			
			|  |  |  | chunks = conv["reference"][chunk_num]["chunks"] | 
		
	
		
			
			|  |  |  | for chunk in chunks: | 
		
	
		
			
			|  |  |  | new_chunk = { | 
		
	
		
			
			|  |  |  | "id": chunk["chunk_id"], | 
		
	
		
			
			|  |  |  | "content": chunk["content"], | 
		
	
		
			
			|  |  |  | "document_id": chunk["doc_id"], | 
		
	
		
			
			|  |  |  | "document_name": chunk["docnm_kwd"], | 
		
	
		
			
			|  |  |  | "dataset_id": chunk["kb_id"], | 
		
	
		
			
			|  |  |  | "image_id": chunk.get("image_id", ""), | 
		
	
		
			
			|  |  |  | "similarity": chunk["similarity"], | 
		
	
		
			
			|  |  |  | "vector_similarity": chunk["vector_similarity"], | 
		
	
		
			
			|  |  |  | "term_similarity": chunk["term_similarity"], | 
		
	
		
			
			|  |  |  | "positions": chunk["positions"], | 
		
	
		
			
			|  |  |  | "id": chunk.get("chunk_id", chunk.get("id")), | 
		
	
		
			
			|  |  |  | "content": chunk.get("content_with_weight", chunk.get("content")), | 
		
	
		
			
			|  |  |  | "document_id": chunk.get("doc_id", chunk.get("document_id")), | 
		
	
		
			
			|  |  |  | "document_name": chunk.get("docnm_kwd", chunk.get("document_name")), | 
		
	
		
			
			|  |  |  | "dataset_id": chunk.get("kb_id", chunk.get("dataset_id")), | 
		
	
		
			
			|  |  |  | "image_id": chunk.get("image_id", chunk.get("img_id")), | 
		
	
		
			
			|  |  |  | "positions": chunk.get("positions", chunk.get("position_int")), | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | chunk_list.append(new_chunk) | 
		
	
		
			
			|  |  |  | chunk_num += 1 |