Showing
2 changed files
with
14 additions
and
2 deletions
| ... | @@ -172,6 +172,13 @@ def upload_file_for_ocr( | ... | @@ -172,6 +172,13 @@ def upload_file_for_ocr( |
| 172 | if "chmId" in result: | 172 | if "chmId" in result: |
| 173 | filtered_result["chmId"] = result["chmId"] | 173 | filtered_result["chmId"] = result["chmId"] |
| 174 | 174 | ||
| 175 | + # 如果 status=9000,返回提示信息 | ||
| 176 | + status = result.get("status") | ||
| 177 | + if status == 9000 or status == "9000": | ||
| 178 | + chmCode = result.get("chmCode", "") | ||
| 179 | + chmId = result.get("chmId", "") | ||
| 180 | + return f"图文识别成功,请确认是否使用该运单编号:{chmCode} ,运单ID:{chmId}" | ||
| 181 | + | ||
| 175 | # 返回过滤后的JSON字符串 | 182 | # 返回过滤后的JSON字符串 |
| 176 | return json.dumps(filtered_result, ensure_ascii=False) | 183 | return json.dumps(filtered_result, ensure_ascii=False) |
| 177 | return f"上传失败: HTTP {resp.status_code}, 错误信息: {resp.text}" | 184 | return f"上传失败: HTTP {resp.status_code}, 错误信息: {resp.text}" | ... | ... |
| ... | @@ -249,6 +249,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List | ... | @@ -249,6 +249,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List |
| 249 | - 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,调用 upload_clearance_file 工具,不再询问其他参数 | 249 | - 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,调用 upload_clearance_file 工具,不再询问其他参数 |
| 250 | - **上传清关文件**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时,使用 upload_clearance_file 工具 | 250 | - **上传清关文件**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时,使用 upload_clearance_file 工具 |
| 251 | - **上传文件图文识别**:当用户需要进行图文识别时,使用 upload_file_for_ocr 工具,即使有 slip_id 也可以使用此工具进行图文识别 | 251 | - **上传文件图文识别**:当用户需要进行图文识别时,使用 upload_file_for_ocr 工具,即使有 slip_id 也可以使用此工具进行图文识别 |
| 252 | + - **图文识别后修改运单流程**:当 upload_file_for_ocr 工具返回"图文识别成功,请确认是否使用该运单编号:{consignmentCode_str},运单ID:{consignmentId_str}"的提示时,如果用户回答"是"、"确认"、"使用"等肯定回答,必须立即调用 create_waybill_d_with_id 工具,使用返回的 chmCode 映射为 consignmentCode,chmId 映射为 consignmentId,加上提示词中的 loginName 和 userId,直接修改运单,不需要再次询问用户 | ||
| 252 | 5. **业务咨询**:解答用户关于出口物流流程、运单状态、操作规范等问题 | 253 | 5. **业务咨询**:解答用户关于出口物流流程、运单状态、操作规范等问题 |
| 253 | 6. **您当前访问工具Authorization的传参为 Authorization= {token} | 254 | 6. **您当前访问工具Authorization的传参为 Authorization= {token} |
| 254 | 255 | ||
| ... | @@ -256,6 +257,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List | ... | @@ -256,6 +257,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List |
| 256 | - **运单操作工具选择规则(重要)**: | 257 | - **运单操作工具选择规则(重要)**: |
| 257 | - **创建运单**:当用户说"创建运单"或"申报"时,使用 create_waybill_d 工具,运单编号从用户输入中获取。运单编号一般为9-12位数字。如果用户说"创建运单"后输入了数字(一般为9-12位),应理解该数字就是运单编号,直接使用该运单编号调用工具,不需要询问用户确认 | 258 | - **创建运单**:当用户说"创建运单"或"申报"时,使用 create_waybill_d 工具,运单编号从用户输入中获取。运单编号一般为9-12位数字。如果用户说"创建运单"后输入了数字(一般为9-12位),应理解该数字就是运单编号,直接使用该运单编号调用工具,不需要询问用户确认 |
| 258 | - **修改运单**:当用户说"修改运单"或提示词中已有 consignmentCode、consignmentId、loginName、userId 且都不为None时,必须立即调用 create_waybill_d_with_id 修改运单,禁止询问用户或使用其他工具 | 259 | - **修改运单**:当用户说"修改运单"或提示词中已有 consignmentCode、consignmentId、loginName、userId 且都不为None时,必须立即调用 create_waybill_d_with_id 修改运单,禁止询问用户或使用其他工具 |
| 260 | + - **图文识别后修改运单**:当 upload_file_for_ocr 工具返回"图文识别成功,请确认是否使用该运单编号"的提示,且用户回答"是"、"确认"、"使用"等肯定回答时,必须立即调用 create_waybill_d_with_id 工具,使用返回的 chmCode 映射为 consignmentCode,chmId 映射为 consignmentId,加上提示词中的 loginName 和 userId,直接修改运单,不需要再次询问用户 | ||
| 259 | - **参数获取**:consignmentCode 和 consignmentId 可从上下文中获取,如果之前执行了 upload_file_for_ocr 工具,可以从该工具的返回结果中提取 chmCode 和 chmId,并映射为 consignmentCode 和 consignmentId | 261 | - **参数获取**:consignmentCode 和 consignmentId 可从上下文中获取,如果之前执行了 upload_file_for_ocr 工具,可以从该工具的返回结果中提取 chmCode 和 chmId,并映射为 consignmentCode 和 consignmentId |
| 260 | - **上下文理解能力(重要)**:必须主动理解用户输入的上下文,从用户输入中识别运单编号(运单编号一般为9-12位数字)、从工具调用结果中提取参数,不需要询问用户确认,直接使用识别到的参数调用相应工具。例外:在文件上传场景中,如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要上传清关文件还是进行图文识别),需要询问用户选择 | 262 | - **上下文理解能力(重要)**:必须主动理解用户输入的上下文,从用户输入中识别运单编号(运单编号一般为9-12位数字)、从工具调用结果中提取参数,不需要询问用户确认,直接使用识别到的参数调用相应工具。例外:在文件上传场景中,如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要上传清关文件还是进行图文识别),需要询问用户选择 |
| 261 | - **数字选择理解(重要)**:当用户输入"1"、"2"、"3"等数字时,应理解为用户选择了对应选项。如果之前提供了选项(如"1.上传清关文件 2.上传图文识别文件"),用户回复数字时应理解为选择了对应选项,并直接使用相应工具和参数 | 263 | - **数字选择理解(重要)**:当用户输入"1"、"2"、"3"等数字时,应理解为用户选择了对应选项。如果之前提供了选项(如"1.上传清关文件 2.上传图文识别文件"),用户回复数字时应理解为选择了对应选项,并直接使用相应工具和参数 |
| ... | @@ -282,10 +284,12 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List | ... | @@ -282,10 +284,12 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List |
| 282 | - **重要说明**:运单编号需要从用户输入中获取,不是从提示词中获取。运单编号一般为9-12位数字 | 284 | - **重要说明**:运单编号需要从用户输入中获取,不是从提示词中获取。运单编号一般为9-12位数字 |
| 283 | - **上下文理解**:当用户说"创建运单"后,如果用户输入了数字(一般为9-12位,如"2025102904"),应理解该数字就是运单编号,直接使用该运单编号调用此工具创建运单,不需要询问用户确认。在识别运单编号时,应以9-12位数字作为判断标准,避免将其他数字(如1-3位的选择数字)误判为运单编号 | 285 | - **上下文理解**:当用户说"创建运单"后,如果用户输入了数字(一般为9-12位,如"2025102904"),应理解该数字就是运单编号,直接使用该运单编号调用此工具创建运单,不需要询问用户确认。在识别运单编号时,应以9-12位数字作为判断标准,避免将其他数字(如1-3位的选择数字)误判为运单编号 |
| 284 | - create_waybill_d_with_id: 根据运单ID及运单号修改D类运单,需要提供参数(运单编号、运单ID、登录名、用户ID、Authorization) | 286 | - create_waybill_d_with_id: 根据运单ID及运单号修改D类运单,需要提供参数(运单编号、运单ID、登录名、用户ID、Authorization) |
| 285 | - - **使用场景**:当用户输入"修改运单"或提示词中已有 consignmentCode、consignmentId、loginName、userId 且都不为None时,必须立即调用此工具修改运单,禁止询问用户或使用其他工具 | 287 | + - **使用场景**: |
| 288 | + - 当用户输入"修改运单"或提示词中已有 consignmentCode、consignmentId、loginName、userId 且都不为None时,必须立即调用此工具修改运单 | ||
| 289 | + - **重要场景**:当 upload_file_for_ocr 工具返回"图文识别成功,请确认是否使用该运单编号"的提示,且用户回答"是"、"确认"、"使用"等肯定回答时,必须立即调用此工具修改运单,禁止询问用户或使用其他工具 | ||
| 286 | - **重要说明**:此工具用于修改运单,参数从提示词中获取,不需要用户再次输入。当提示词中这些参数齐全且都不为None时,必须立即使用此工具修改运单。禁止向用户询问任何参数,直接使用提示词中的参数调用工具 | 290 | - **重要说明**:此工具用于修改运单,参数从提示词中获取,不需要用户再次输入。当提示词中这些参数齐全且都不为None时,必须立即使用此工具修改运单。禁止向用户询问任何参数,直接使用提示词中的参数调用工具 |
| 287 | - **参数获取方式**: | 291 | - **参数获取方式**: |
| 288 | - - consignmentCode(运单编号)和 consignmentId(运单ID)可从上下文中获取,如果之前执行了 upload_file_for_ocr 工具,该工具会返回 chmCode(运单编号)和 chmId(运单ID),需要从返回结果中提取 chmCode 映射为 consignmentCode,提取 chmId 映射为 consignmentId | 292 | + - consignmentCode(运单编号)和 consignmentId(运单ID)可从上下文中获取,如果之前执行了 upload_file_for_ocr 工具,该工具会返回 chmCode(运单编号)和 chmId(运单ID),需要从返回结果中提取 chmCode 映射为 consignmentCode,提取 chmId 映射为 consignmentId。特别地,当 upload_file_for_ocr 返回成功提示且用户确认后,必须立即使用返回的 chmCode 和 chmId 调用此工具 |
| 289 | - loginName 和 userId 从提示词中获取(注意:这与 create_waybill_d 不同,create_waybill_d 的运单编号从用户输入获取,而 create_waybill_d_with_id 的参数从提示词中获取) | 293 | - loginName 和 userId 从提示词中获取(注意:这与 create_waybill_d 不同,create_waybill_d 的运单编号从用户输入获取,而 create_waybill_d_with_id 的参数从提示词中获取) |
| 290 | - **可用参数**:您当前访问工具 create_waybill_d_with_id 的传参为 consignmentCode={consignmentCode_str}、consignmentId={consignmentId_str}、loginName={loginName_str}、userId={userId_str},如果参数有值则使用,没有值则不使用 | 294 | - **可用参数**:您当前访问工具 create_waybill_d_with_id 的传参为 consignmentCode={consignmentCode_str}、consignmentId={consignmentId_str}、loginName={loginName_str}、userId={userId_str},如果参数有值则使用,没有值则不使用 |
| 291 | - upload_clearance_file: 上传清关PDF文件,需要 code、slip_id、pdf_path、Authorization,上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,不用确认文件索引,工具会自动设置索引为0,请直接调用工具接口 | 295 | - upload_clearance_file: 上传清关PDF文件,需要 code、slip_id、pdf_path、Authorization,上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,不用确认文件索引,工具会自动设置索引为0,请直接调用工具接口 |
| ... | @@ -295,6 +299,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List | ... | @@ -295,6 +299,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List |
| 295 | - **使用场景**:当用户需要进行图文识别时,使用此工具。即使有 slip_id,如果用户需要进行图文识别,也应使用此工具 | 299 | - **使用场景**:当用户需要进行图文识别时,使用此工具。即使有 slip_id,如果用户需要进行图文识别,也应使用此工具 |
| 296 | - **重要说明**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要进行图文识别),需要询问用户选择。如果用户已明确表示要进行图文识别或选择图文识别,则直接使用上下文中的 pdf_path 调用此工具,不再询问参数 | 300 | - **重要说明**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要进行图文识别),需要询问用户选择。如果用户已明确表示要进行图文识别或选择图文识别,则直接使用上下文中的 pdf_path 调用此工具,不再询问参数 |
| 297 | - **返回参数**:此工具会返回 chmCode(运单编号)和 chmId(运单ID),这些参数可以用于后续的 create_waybill_d_with_id 工具调用 | 301 | - **返回参数**:此工具会返回 chmCode(运单编号)和 chmId(运单ID),这些参数可以用于后续的 create_waybill_d_with_id 工具调用 |
| 302 | + - **后续流程**:当此工具返回"图文识别成功,请确认是否使用该运单编号:{consignmentCode_str},运单ID:{consignmentId_str}"的提示时,如果用户回答"是"、"确认"、"使用"等肯定回答,必须立即调用 create_waybill_d_with_id 工具,使用返回的 chmCode 映射为 consignmentCode,chmId 映射为 consignmentId,加上提示词中的 loginName 和 userId,直接修改运单,不需要再次询问用户 | ||
| 298 | - push_waybill_for_ocr: 根据运单ID推送OCR进行识别,需要提供运单ID(waybill_id、Authorization)参数 | 303 | - push_waybill_for_ocr: 根据运单ID推送OCR进行识别,需要提供运单ID(waybill_id、Authorization)参数 |
| 299 | 304 | ||
| 300 | ## query_waybill_list数据展示说明: | 305 | ## query_waybill_list数据展示说明: | ... | ... |
-
Please register or login to post a comment