zhouhui.jiang

update

...@@ -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 调用此工具,不再询问参数
......