Files
blog-press/docs/Web/AI/Tools.md

1.5 KiB

title, date
title date
Tools开发 2026-06-29

一、工作流程

【定义工具能力】
        ↓
【约定输入输出】
        ↓
【实现工具逻辑】
        ↓
【注册到模型】
        ↓
用户自然语言请求
        ↓
【模型选择工具】
        ↓
【执行工具】
        ↓
【返回结果】

二、实战

2.1 工具定义

  实现一个根据接口查询数据的工具:

@tool
def repair_search(date: list[str]) -> str:
    """
    查询维修工单列表。

    参数说明:
    - date (list[str], 必填):
        - 日期范围,格式:["YYYY-MM-DD", "YYYY-MM-DD"]
        - 示例:["2026-07-01", "2026-08-01"]
    """

    if date is None:
        date = []

    params = {
        "currentPage": 0,
        "pageSize": 0,
        "customer": "",
        "deviceName": "",
        "deviceModel": "",
        "date": date
    }

    token = get_token()

    headers = {
        "satoken": token
    }

    try:
        resp = requests.get(f"{BASE_URL}repair", params=params, headers=headers, timeout=10)
        resp.raise_for_status()
        return resp.text
    except Exception as e:
        return f"查询维修工单失败: {e}"

2.2 注册到模型

integrate_agent = create_agent(
    model=model,
    tools=[repair_search],
    system_prompt=integrate_prompt
)

::: tip 工具里面的注释大模型是无法查看的,需要把工具的使用说明,例如接口返回值的含义,写在提示词里面。
:::