Toggle navigation
Toggle navigation
This project
Loading...
Sign in
zhouhui.jiang
/
Test_LangGraph
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
zhouhui.jiang
2025-11-16 11:22:47 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
88ae2ac256bb93d044d9485ab38c6a8e30fc747c
88ae2ac2
1 parent
00001e38
update
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
5 deletions
API/waybill_api.py
langgraph_examples/api_agent.py
API/waybill_api.py
View file @
88ae2ac
...
...
@@ -17,7 +17,12 @@ def create_waybill_d(consignmentCode: str, Authorization: str = None) -> str:
Authorization: 授权令牌,如果提供则使用该值,否则使用 API_CONFIG 中的默认值
Returns:
创建结果信息
创建结果信息(JSON字符串),包含:
- consignmentCode: 运单编号
- waybill_id: 运单ID
- operate_unit_name: 操作单位名称
- operate_unit_code: 操作单位代码
- detailList: 明细列表
"""
try
:
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:
Authorization: 授权令牌,如果提供则使用该值,否则使用 API_CONFIG 中的默认值
Returns:
运单信息,格式与 create_waybill_d 返回的数据结构相同
运单信息(JSON字符串),包含:
- consignmentCode: 运单编号
- waybill_id: 运单ID
- operate_unit_name: 操作单位名称
- operate_unit_code: 操作单位代码
- detailList: 明细列表
"""
try
:
# 构建 headers,优先使用传入的 Authorization
...
...
langgraph_examples/api_agent.py
View file @
88ae2ac
...
...
@@ -209,8 +209,8 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List
- **数字选择理解**:当用户输入"1"、"2"、"3"等数字时,应理解为用户选择了对应选项。例如:如果提供了"1.上传清关文件 2.上传图文识别文件",用户回复"1"表示选择上传清关文件,回复"2"表示选择上传图文识别文件
- **用户选择后的处理**:
- 如果用户选择图文识别(回复"2"或明确表示图文识别):直接使用上下文中的 pdf_path 调用 upload_file_for_ocr 工具,不再询问参数
- 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):
使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,
调用 upload_clearance_file 工具,不再询问其他参数
- **上传清关文件**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时,使用 upload_clearance_file 工具
- 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):
从上下文(create_waybill_d 或 query_waybill_info 的返回结果)中提取 consignmentCode 映射为 code,提取 waybill_id 映射为 slip_id,加上上下文中的 pdf_path,直接
调用 upload_clearance_file 工具,不再询问其他参数
- **上传清关文件**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时,使用 upload_clearance_file 工具
。code(运单编号)和 slip_id(运单ID)可以从上下文(create_waybill_d 或 query_waybill_info 的返回结果)中获取,从返回结果中提取 consignmentCode 映射为 code,提取 waybill_id 映射为 slip_id
- **上传文件图文识别**:当用户需要进行图文识别时,使用 upload_file_for_ocr 工具,即使有 slip_id 也可以使用此工具进行图文识别
- **图文识别后修改运单流程**:当 upload_file_for_ocr 工具返回"图文识别成功,请确认是否使用该运单编号:******,运单ID:******"的提示时,如果用户回答"是"、"确认"、"使用"等肯定回答,必须立即调用 create_waybill_d_with_id 工具,使用返回的 chmCode 映射为 consignmentCode,chmId 映射为 consignmentId,直接修改运单(loginName 和 userId 已硬编码,不需要传递),不需要再次询问用户
5. **业务咨询**:解答用户关于出口物流流程、运单状态、操作规范等问题
...
...
@@ -226,7 +226,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List
- **数字选择理解(重要)**:当用户输入"1"、"2"、"3"等数字时,应理解为用户选择了对应选项。如果之前提供了选项(如"1.上传清关文件 2.上传图文识别文件"),用户回复数字时应理解为选择了对应选项,并直接使用相应工具和参数
- **文件上传工具选择规则(重要)**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要上传清关文件还是进行图文识别),需要询问用户选择。询问时应提供选项,如"请选择:1.上传清关文件 2.上传图文识别文件"。如果用户已经明确表示要上传清关文件或进行图文识别,则直接使用相应工具,不需要询问。用户选择后:
- 如果用户选择图文识别(回复"2"或明确表示图文识别):直接使用上下文中的 pdf_path 调用 upload_file_for_ocr 工具,不再询问参数
- 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):
使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,
调用 upload_clearance_file 工具,不再询问其他参数
- 如果用户选择上传清关文件(回复"1"或明确表示上传清关文件):
从上下文(create_waybill_d 或 query_waybill_info 的返回结果)中提取 consignmentCode 映射为 code,提取 waybill_id 映射为 slip_id,加上上下文中的 pdf_path,直接
调用 upload_clearance_file 工具,不再询问其他参数
- 上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,不用确认文件索引,工具会自动设置索引为0,请直接调用工具接口
- 始终以用户需求为导向,提供准确、及时的服务
- 在调用API前,仔细确认用户提供的参数信息
...
...
@@ -242,10 +242,12 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List
- query_waybill_info: 根据运单编号查询单个运单的详细信息(包括运单基本信息、公司信息、商品明细等),需要提供参数(运单编号、Authorization),返回格式与 create_waybill_d 相同
- **使用场景**:当用户提供运单号查询运单详情时使用此工具
- **运单编号格式**:运单编号一般为9-12位数字
- **返回参数**:此工具返回的数据中包含 consignmentCode(运单编号)和 waybill_id(运单ID),这些参数可以用于后续的 upload_clearance_file 工具调用(consignmentCode 对应 code 参数,waybill_id 对应 slip_id 参数)
- create_waybill_d: 根据运单号创建D类运单,需要提供参数(运单号、Authorization)
- **使用场景**:当用户输入"创建运单"或"申报"时使用此工具创建运单
- **重要说明**:运单编号需要从用户输入中获取,不是从提示词中获取。运单编号一般为9-12位数字
- **上下文理解**:当用户说"创建运单"后,如果用户输入了数字(一般为9-12位,如"2025102904"),应理解该数字就是运单编号,直接使用该运单编号调用此工具创建运单,不需要询问用户确认。在识别运单编号时,应以9-12位数字作为判断标准,避免将其他数字(如1-3位的选择数字)误判为运单编号
- **返回参数**:此工具返回的数据中包含 consignmentCode(运单编号)和 waybill_id(运单ID),这些参数可以用于后续的 upload_clearance_file 工具调用(consignmentCode 对应 code 参数,waybill_id 对应 slip_id 参数)
- create_waybill_d_with_id: 根据运单ID及运单号修改D类运单,需要提供参数(运单编号、运单ID、Authorization)
- **使用场景**:
- 当用户输入"修改运单"或提示词中已有 consignmentCode、consignmentId 且都不为None时,必须立即调用此工具修改运单
...
...
@@ -257,6 +259,7 @@ def _create_system_prompt(state: Dict[str, Any], config: RunnableConfig) -> List
- upload_clearance_file: 上传清关PDF文件,需要 code、slip_id、pdf_path、Authorization,上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,不用确认文件索引,工具会自动设置索引为0,请直接调用工具接口
- **使用场景**:当用户明确需要上传清关文件并关联运单信息(code、slip_id)时使用此工具
- **重要说明**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要上传清关文件),需要询问用户选择。如果用户已明确表示要上传清关文件或选择上传清关文件,则使用上下文中的 slip_id 和 pdf_path,加上用户输入的 code,直接调用此工具,不再询问其他参数
- **参数获取方式**:code(运单编号)和 slip_id(运单ID)可以从上下文中获取,如果之前执行了 create_waybill_d 或 query_waybill_info 工具,可以从该工具的返回结果中提取 consignmentCode 映射为 code,提取 waybill_id 映射为 slip_id。当用户上传附件选择上传清关文件时,必须从上下文(create_waybill_d 或 query_waybill_info 的返回结果)中找到运单编号和运单ID,然后调用此工具
- upload_file_for_ocr: 上传文件图文识别,只需要提供文件路径(pdf_path、Authorization),上传时文件路径不用确认,路径肯定是完整的,文件肯定是存在的,请直接调用工具接口
- **使用场景**:当用户需要进行图文识别时,使用此工具。即使有 slip_id,如果用户需要进行图文识别,也应使用此工具
- **重要说明**:如果用户意图不明确(同时有 slip_id 和 pdf_path 但未明确表示要进行图文识别),需要询问用户选择。如果用户已明确表示要进行图文识别或选择图文识别,则直接使用上下文中的 pdf_path 调用此工具,不再询问参数
...
...
Please
register
or
login
to post a comment