From 911429d591ab5ecf4e86cd64e3aa89d5ee5e8f77 Mon Sep 17 00:00:00 2001 From: Cxx0822 <1556464090@qq.com> Date: Mon, 29 Jun 2026 11:01:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E5=A4=A7=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=B7=A5=E5=85=B7=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vitepress/theme/router/index.ts | 1 + docs/Web/AI/RAG.md | 2 +- docs/Web/AI/Tools.md | 77 +++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 docs/Web/AI/Tools.md diff --git a/docs/.vitepress/theme/router/index.ts b/docs/.vitepress/theme/router/index.ts index e15dba5..6dff8c7 100644 --- a/docs/.vitepress/theme/router/index.ts +++ b/docs/.vitepress/theme/router/index.ts @@ -60,6 +60,7 @@ export const routers = [ { text: 'Agent开发', link: '/Web/AI/Langchain' }, { text: 'Text To SQL开发', link: '/Web/AI/TextToSQL' }, { text: 'RAG开发', link: '/Web/AI/RAG' }, + { text: 'Tools开发', link: '/Web/AI/Tools' }, ] }, { diff --git a/docs/Web/AI/RAG.md b/docs/Web/AI/RAG.md index f9a171e..452ae85 100644 --- a/docs/Web/AI/RAG.md +++ b/docs/Web/AI/RAG.md @@ -1,6 +1,6 @@ --- title: RAG开发 - date: 2026-06-245 + date: 2026-06-24 --- # 一、工作流程 diff --git a/docs/Web/AI/Tools.md b/docs/Web/AI/Tools.md new file mode 100644 index 0000000..8886c75 --- /dev/null +++ b/docs/Web/AI/Tools.md @@ -0,0 +1,77 @@ +--- + title: Tools开发 + date: 2026-06-29 +--- + +# 一、工作流程 +```text +【定义工具能力】 + ↓ +【约定输入输出】 + ↓ +【实现工具逻辑】 + ↓ +【注册到模型】 + ↓ +用户自然语言请求 + ↓ +【模型选择工具】 + ↓ +【执行工具】 + ↓ +【返回结果】 +``` + +# 二、实战 +## 2.1 工具定义 +  实现一个根据接口查询数据的工具: +```python +@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 注册到模型 +```python +integrate_agent = create_agent( + model=model, + tools=[repair_search], + system_prompt=integrate_prompt +) +``` + +::: tip +工具里面的注释大模型是无法查看的,需要把工具的使用说明,例如接口返回值的含义,写在提示词里面。 +:::