Showing
2 changed files
with
18 additions
and
5 deletions
| ... | @@ -17,7 +17,12 @@ def create_waybill_d(consignmentCode: str, Authorization: str = None) -> str: | ... | @@ -17,7 +17,12 @@ def create_waybill_d(consignmentCode: str, Authorization: str = None) -> str: |
| 17 | Authorization: 授权令牌,如果提供则使用该值,否则使用 API_CONFIG 中的默认值 | 17 | Authorization: 授权令牌,如果提供则使用该值,否则使用 API_CONFIG 中的默认值 |
| 18 | 18 | ||
| 19 | Returns: | 19 | Returns: |
| 20 | - 创建结果信息 | 20 | + 创建结果信息(JSON字符串),包含: |
| 21 | + - consignmentCode: 运单编号 | ||
| 22 | + - waybill_id: 运单ID | ||
| 23 | + - operate_unit_name: 操作单位名称 | ||
| 24 | + - operate_unit_code: 操作单位代码 | ||
| 25 | + - detailList: 明细列表 | ||
| 21 | """ | 26 | """ |
| 22 | try: | 27 | try: |
| 23 | url = f"{API_CONFIG['base_url']}/Exp/bus-customer/consignment/createChmConsignmentD" | 28 | url = f"{API_CONFIG['base_url']}/Exp/bus-customer/consignment/createChmConsignmentD" |
| ... | @@ -205,7 +210,12 @@ def query_waybill_info(consignmentCode: str, Authorization: str = None) -> str: | ... | @@ -205,7 +210,12 @@ def query_waybill_info(consignmentCode: str, Authorization: str = None) -> str: |
| 205 | Authorization: 授权令牌,如果提供则使用该值,否则使用 API_CONFIG 中的默认值 | 210 | Authorization: 授权令牌,如果提供则使用该值,否则使用 API_CONFIG 中的默认值 |
| 206 | 211 | ||
| 207 | Returns: | 212 | Returns: |
| 208 | - 运单信息,格式与 create_waybill_d 返回的数据结构相同 | 213 | + 运单信息(JSON字符串),包含: |
| 214 | + - consignmentCode: 运单编号 | ||
| 215 | + - waybill_id: 运单ID | ||
| 216 | + - operate_unit_name: 操作单位名称 | ||
| 217 | + - operate_unit_code: 操作单位代码 | ||
| 218 | + - detailList: 明细列表 | ||
| 209 | """ | 219 | """ |
| 210 | try: | 220 | try: |
| 211 | # 构建 headers,优先使用传入的 Authorization | 221 | # 构建 headers,优先使用传入的 Authorization | ... | ... |
| ... | @@ -209,8 +209,8 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List | ... | @@ -209,8 +209,8 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List |
| 209 | - **数字选择理解**:当用户输入"1"、"2"、"3"等数字时,应理解为用户选择了对应选项。例如:如果提供了"1.上传清关文件 2.上传图文识别文件",用户回复"1"表示选择上传清关文件,回复"2"表示选择上传图文识别文件 | 209 | - **数字选择理解**:当用户输入"1"、"2"、"3"等数字时,应理解为用户选择了对应选项。例如:如果提供了"1.上传清关文件 2.上传图文识别文件",用户回复"1"表示选择上传清关文件,回复"2"表示选择上传图文识别文件 |
| 210 | - **用户选择后的处理**: | 210 | - **用户选择后的处理**: |
| 211 | - 如果用户选择图文识别(回复"2"或明确表示图文识别):直接使用上下文中的 pdf_path 调用 upload_file_for_ocr 工具,不再询问参数 | 211 | - 如果用户选择图文识别(回复"2"或明确表示图文识别):直接使用上下文中的 pdf_path 调用 upload_file_for_ocr 工具,不再询问参数 |
| 212 | - - 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,调用 upload_clearance_file 工具,不再询问其他参数 | 212 | + - 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):从上下文(create_waybill_d 或 query_waybill_info 的返回结果)中提取 consignmentCode 映射为 code,提取 waybill_id 映射为 slip_id,加上上下文中的 pdf_path,直接调用 upload_clearance_file 工具,不再询问其他参数 |
| 213 | - - **上传清关文件**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时,使用 upload_clearance_file 工具 | 213 | + - **上传清关文件**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时,使用 upload_clearance_file 工具。code(运单编号)和 slip_id(运单ID)可以从上下文(create_waybill_d 或 query_waybill_info 的返回结果)中获取,从返回结果中提取 consignmentCode 映射为 code,提取 waybill_id 映射为 slip_id |
| 214 | - **上传文件图文识别**:当用户需要进行图文识别时,使用 upload_file_for_ocr 工具,即使有 slip_id 也可以使用此工具进行图文识别 | 214 | - **上传文件图文识别**:当用户需要进行图文识别时,使用 upload_file_for_ocr 工具,即使有 slip_id 也可以使用此工具进行图文识别 |
| 215 | - **图文识别后修改运单流程**:当 upload_file_for_ocr 工具返回"图文识别成功,请确认是否使用该运单编号:******,运单ID:******"的提示时,如果用户回答"是"、"确认"、"使用"等肯定回答,必须立即调用 create_waybill_d_with_id 工具,使用返回的 chmCode 映射为 consignmentCode,chmId 映射为 consignmentId,直接修改运单(loginName 和 userId 已硬编码,不需要传递),不需要再次询问用户 | 215 | - **图文识别后修改运单流程**:当 upload_file_for_ocr 工具返回"图文识别成功,请确认是否使用该运单编号:******,运单ID:******"的提示时,如果用户回答"是"、"确认"、"使用"等肯定回答,必须立即调用 create_waybill_d_with_id 工具,使用返回的 chmCode 映射为 consignmentCode,chmId 映射为 consignmentId,直接修改运单(loginName 和 userId 已硬编码,不需要传递),不需要再次询问用户 |
| 216 | 5. **业务咨询**:解答用户关于出口物流流程、运单状态、操作规范等问题 | 216 | 5. **业务咨询**:解答用户关于出口物流流程、运单状态、操作规范等问题 |
| ... | @@ -226,7 +226,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List | ... | @@ -226,7 +226,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List |
| 226 | - **数字选择理解(重要)**:当用户输入"1"、"2"、"3"等数字时,应理解为用户选择了对应选项。如果之前提供了选项(如"1.上传清关文件 2.上传图文识别文件"),用户回复数字时应理解为选择了对应选项,并直接使用相应工具和参数 | 226 | - **数字选择理解(重要)**:当用户输入"1"、"2"、"3"等数字时,应理解为用户选择了对应选项。如果之前提供了选项(如"1.上传清关文件 2.上传图文识别文件"),用户回复数字时应理解为选择了对应选项,并直接使用相应工具和参数 |
| 227 | - **文件上传工具选择规则(重要)**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要上传清关文件还是进行图文识别),需要询问用户选择。询问时应提供选项,如"请选择:1.上传清关文件 2.上传图文识别文件"。如果用户已经明确表示要上传清关文件或进行图文识别,则直接使用相应工具,不需要询问。用户选择后: | 227 | - **文件上传工具选择规则(重要)**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要上传清关文件还是进行图文识别),需要询问用户选择。询问时应提供选项,如"请选择:1.上传清关文件 2.上传图文识别文件"。如果用户已经明确表示要上传清关文件或进行图文识别,则直接使用相应工具,不需要询问。用户选择后: |
| 228 | - 如果用户选择图文识别(回复"2"或明确表示图文识别):直接使用上下文中的 pdf_path 调用 upload_file_for_ocr 工具,不再询问参数 | 228 | - 如果用户选择图文识别(回复"2"或明确表示图文识别):直接使用上下文中的 pdf_path 调用 upload_file_for_ocr 工具,不再询问参数 |
| 229 | - - 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,调用 upload_clearance_file 工具,不再询问其他参数 | 229 | + - 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):从上下文(create_waybill_d 或 query_waybill_info 的返回结果)中提取 consignmentCode 映射为 code,提取 waybill_id 映射为 slip_id,加上上下文中的 pdf_path,直接调用 upload_clearance_file 工具,不再询问其他参数 |
| 230 | - 上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,不用确认文件索引,工具会自动设置索引为0,请直接调用工具接口 | 230 | - 上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,不用确认文件索引,工具会自动设置索引为0,请直接调用工具接口 |
| 231 | - 始终以用户需求为导向,提供准确、及时的服务 | 231 | - 始终以用户需求为导向,提供准确、及时的服务 |
| 232 | - 在调用API前,仔细确认用户提供的参数信息 | 232 | - 在调用API前,仔细确认用户提供的参数信息 |
| ... | @@ -242,10 +242,12 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List | ... | @@ -242,10 +242,12 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List |
| 242 | - query_waybill_info: 根据运单编号查询单个运单的详细信息(包括运单基本信息、公司信息、商品明细等),需要提供参数(运单编号、Authorization),返回格式与 create_waybill_d 相同 | 242 | - query_waybill_info: 根据运单编号查询单个运单的详细信息(包括运单基本信息、公司信息、商品明细等),需要提供参数(运单编号、Authorization),返回格式与 create_waybill_d 相同 |
| 243 | - **使用场景**:当用户提供运单号查询运单详情时使用此工具 | 243 | - **使用场景**:当用户提供运单号查询运单详情时使用此工具 |
| 244 | - **运单编号格式**:运单编号一般为9-12位数字 | 244 | - **运单编号格式**:运单编号一般为9-12位数字 |
| 245 | + - **返回参数**:此工具返回的数据中包含 consignmentCode(运单编号)和 waybill_id(运单ID),这些参数可以用于后续的 upload_clearance_file 工具调用(consignmentCode 对应 code 参数,waybill_id 对应 slip_id 参数) | ||
| 245 | - create_waybill_d: 根据运单号创建D类运单,需要提供参数(运单号、Authorization) | 246 | - create_waybill_d: 根据运单号创建D类运单,需要提供参数(运单号、Authorization) |
| 246 | - **使用场景**:当用户输入"创建运单"或"申报"时使用此工具创建运单 | 247 | - **使用场景**:当用户输入"创建运单"或"申报"时使用此工具创建运单 |
| 247 | - **重要说明**:运单编号需要从用户输入中获取,不是从提示词中获取。运单编号一般为9-12位数字 | 248 | - **重要说明**:运单编号需要从用户输入中获取,不是从提示词中获取。运单编号一般为9-12位数字 |
| 248 | - **上下文理解**:当用户说"创建运单"后,如果用户输入了数字(一般为9-12位,如"2025102904"),应理解该数字就是运单编号,直接使用该运单编号调用此工具创建运单,不需要询问用户确认。在识别运单编号时,应以9-12位数字作为判断标准,避免将其他数字(如1-3位的选择数字)误判为运单编号 | 249 | - **上下文理解**:当用户说"创建运单"后,如果用户输入了数字(一般为9-12位,如"2025102904"),应理解该数字就是运单编号,直接使用该运单编号调用此工具创建运单,不需要询问用户确认。在识别运单编号时,应以9-12位数字作为判断标准,避免将其他数字(如1-3位的选择数字)误判为运单编号 |
| 250 | + - **返回参数**:此工具返回的数据中包含 consignmentCode(运单编号)和 waybill_id(运单ID),这些参数可以用于后续的 upload_clearance_file 工具调用(consignmentCode 对应 code 参数,waybill_id 对应 slip_id 参数) | ||
| 249 | - create_waybill_d_with_id: 根据运单ID及运单号修改D类运单,需要提供参数(运单编号、运单ID、Authorization) | 251 | - create_waybill_d_with_id: 根据运单ID及运单号修改D类运单,需要提供参数(运单编号、运单ID、Authorization) |
| 250 | - **使用场景**: | 252 | - **使用场景**: |
| 251 | - 当用户输入"修改运单"或提示词中已有 consignmentCode、consignmentId 且都不为None时,必须立即调用此工具修改运单 | 253 | - 当用户输入"修改运单"或提示词中已有 consignmentCode、consignmentId 且都不为None时,必须立即调用此工具修改运单 |
| ... | @@ -257,6 +259,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List | ... | @@ -257,6 +259,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List |
| 257 | - upload_clearance_file: 上传清关PDF文件,需要 code、slip_id、pdf_path、Authorization,上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,不用确认文件索引,工具会自动设置索引为0,请直接调用工具接口 | 259 | - upload_clearance_file: 上传清关PDF文件,需要 code、slip_id、pdf_path、Authorization,上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,不用确认文件索引,工具会自动设置索引为0,请直接调用工具接口 |
| 258 | - **使用场景**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时使用此工具 | 260 | - **使用场景**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时使用此工具 |
| 259 | - **重要说明**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要上传清关文件),需要询问用户选择。如果用户已明确表示要上传清关文件或选择上传清关文件,则使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,直接调用此工具,不再询问其他参数 | 261 | - **重要说明**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要上传清关文件),需要询问用户选择。如果用户已明确表示要上传清关文件或选择上传清关文件,则使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,直接调用此工具,不再询问其他参数 |
| 262 | + - **参数获取方式**:code(运单编号)和 slip_id(运单ID)可以从上下文中获取,如果之前执行了 create_waybill_d 或 query_waybill_info 工具,可以从该工具的返回结果中提取 consignmentCode 映射为 code,提取 waybill_id 映射为 slip_id。当用户上传附件选择上传清关文件时,必须从上下文(create_waybill_d 或 query_waybill_info 的返回结果)中找到运单编号和运单ID,然后调用此工具 | ||
| 260 | - upload_file_for_ocr: 上传文件图文识别,只需要提供文件路径(pdf_path、Authorization),上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,请直接调用工具接口 | 263 | - upload_file_for_ocr: 上传文件图文识别,只需要提供文件路径(pdf_path、Authorization),上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,请直接调用工具接口 |
| 261 | - **使用场景**:当用户需要进行图文识别时,使用此工具。即使有 slip_id,如果用户需要进行图文识别,也应使用此工具 | 264 | - **使用场景**:当用户需要进行图文识别时,使用此工具。即使有 slip_id,如果用户需要进行图文识别,也应使用此工具 |
| 262 | - **重要说明**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要进行图文识别),需要询问用户选择。如果用户已明确表示要进行图文识别或选择图文识别,则直接使用上下文中的 pdf_path 调用此工具,不再询问参数 | 265 | - **重要说明**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要进行图文识别),需要询问用户选择。如果用户已明确表示要进行图文识别或选择图文识别,则直接使用上下文中的 pdf_path 调用此工具,不再询问参数 | ... | ... |
-
Please register or login to post a comment