夜雨聆风学习资料网

ARTICLE · 985790

多数人用AI 但是不用工具 我来分析一下它的价值

多数人用AI 但是不用工具 我来分析一下它的价值

一、工具是什么

Q1:工具有什么用?

结论:工具就像 AI 的"外挂技能",让 AI 能做超出它原本能力范围的事情,比如上网搜索、识别图片、解析文档等。

核心功能:

  • 网络搜索:实时获取最新信息
  • 网页阅读:抓取网页内容
  • 内容安全:检测文字风险
  • 文件解析:提取 PDF/Word/Excel 内容
  • OCR 识别:图片转文字

典型场景:

  • 问"今天天气怎么样" → 调用网络搜索工具
  • 给一张发票图片 → 调用 OCR 工具识别
  • 上传一个 PDF → 调用文件解析工具提取内容
  • 用户输入敏感内容 → 调用内容安全工具检测

二、网络搜索

Q2:如何让 AI 上网搜索?

结论:通过工具接口,指定搜索引擎和搜索关键词,AI 会自动搜索并返回结果。

核心参数:

  • search_engine
    :搜索引擎(支持多种搜索源)
  • search_query
    :搜索关键词
  • count
    :返回结果数(1-50,默认 10)
  • search_domain_filter
    :限定域名(可选,比如只搜某个网站)

示例代码:

curl -X POST https://open.bigmodel.cn/api/paas/v4/web_search \  -H "Authorization: Bearer XXXXXXXXXXXXXXXX" \  -H "Content-Type: application/json" \  -d '{    "search_engine": "search_pro",    "search_query": "最新科技新闻",    "count": 5  }'

返回结果包含:

  • 标题
  • 摘要
  • 链接
  • 相关度分数

典型工作流:网络搜索 → 网页阅读 → 对话补全


三、网页阅读

Q3:如何抓取网页内容?

结论:提供网页 URL,系统会自动抓取并清洗网页正文,还可以用 AI 直接提取摘要或特定字段。

核心参数:

  • url
    :网页链接
  • prompt
    :提取指令(可选,比如"提取价格信息")

示例代码:

curl -X POST https://open.bigmodel.cn/api/paas/v4/web_reader \  -H "Authorization: Bearer XXXXXXXXXXXXXXXX" \  -H "Content-Type: application/json" \  -d '{    "url": "https://example.com/article",    "prompt": "提取文章的核心观点"  }'

返回结果:

  • 纯文本内容
  • Markdown 格式
  • 根据 prompt 提取的结构化信息

使用场景:

  • 配合网络搜索,获取详细内容
  • 批量抓取文章
  • 提取网页中的特定信息(价格、日期、人名等)

四、内容安全

Q4:如何检测文字风险?

结论:通过安全检测接口,识别文字中的风险内容,比如涉政、色情、暴恐等。

核心参数:

  • text
    :待检测的文字内容

示例代码:

curl -X POST https://open.bigmodel.cn/api/paas/v4/safety/inspect \  -H "Authorization: Bearer XXXXXXXXXXXXXXXX" \  -H "Content-Type: application/json" \  -d '{    "text": "待检测的文字内容"  }'

返回结果:

  • 风险等级(安全/低风险/中风险/高风险)
  • 风险类型
  • 风险位置

典型用途:

  • 用户生成内容(UGC)审核
  • 聊天内容过滤
  • 输出内容合规检查

五、文件解析

Q5:如何解析 PDF/Word 文档?

结论:上传文档文件,系统会自动提取文字内容,支持同步和异步两种模式。

同步模式(< 10MB):

curl -X POST https://open.bigmodel.cn/api/paas/v4/file-parser/file-parse \  -H "Authorization: Bearer XXXXXXXXXXXXXXXX" \  -F "file=@document.pdf"

异步模式(大文件/批量):

# 1. 提交解析任务curl -X POST https://open.bigmodel.cn/api/paas/v4/file-parser/file-parse \  -H "Authorization: Bearer XXXXXXXXXXXXXXXX" \  -F "file=@large_document.pdf"# 返回:{"id": "parse_xxx"}# 2. 查询结果curl -X GET https://open.bigmodel.cn/api/paas/v4/file-parser/parse_result/parse_xxx \  -H "Authorization: Bearer XXXXXXXXXXXXXXXX"

解析结果包含:

  • 纯文本内容
  • Markdown 格式
  • 切分后的片段
  • 图片引用(可配合 OCR)

支持的文件格式:

  • PDF、Word(.docx)、Excel(.xlsx)、PPT(.pptx)
  • TXT、Markdown
  • 图片(JPG、PNG)

六、OCR 识别

Q6:如何识别图片中的文字?

结论:上传图片,系统会自动识别并提取图片中的文字内容。

示例代码:

curl -X POST https://open.bigmodel.cn/api/paas/v4/ocr \  -H "Authorization: Bearer XXXXXXXXXXXXXXXX" \  -F "file=@invoice.png"

返回结果:

  • 识别的文字内容
  • 文字位置坐标
  • 置信度分数

典型用途:

  • 财务票据数字化
  • 截图转文字
  • 扫描件文字提取
  • 身份证/银行卡识别

七、工具调用流程

Q7:AI 如何知道该调用哪个工具?

结论:在对话时定义工具列表,AI 会根据问题自动判断需要调用哪个工具。

完整流程:

  1. 定义工具(描述工具的功能和参数)
  2. 调用对话接口,传入工具列表
  3. AI 判断是否需要调用工具
  4. 如果需要,返回工具调用请求
  5. 执行工具,获取结果
  6. 将结果回传给 AI
  7. AI 基于工具结果生成最终回答

示例代码:

import requestsimport json# 1. 定义工具tools = [{"type": "function","function": {"name": "web_search","description": "网络搜索,获取最新信息","parameters": {"type": "object","properties": {"search_query": {"type": "string","description": "搜索关键词"                }            },"required": ["search_query"]        }    }}]# 2. 调用对话接口resp = requests.post("https://open.bigmodel.cn/api/paas/v4/chat/completions",    headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},    json={"models": "glm-4.6","messages": [{"role": "user", "content": "今天北京天气怎么样?"}],"tools": tools    }).json()# 3. 检查是否需要调用工具if resp['choices'][0]['message'].get('tool_calls'):    tool_call = resp['choices'][0]['message']['tool_calls'][0]    function_name = tool_call['function']['name']    function_args = json.loads(tool_call['function']['arguments'])# 4. 执行工具if function_name == "web_search":        search_result = requests.post("https://open.bigmodel.cn/api/paas/v4/web_search",            headers={"Authorization": f"Bearer {API_KEY}"},            json={"search_engine": "search_pro", "search_query": function_args['search_query']}        ).json()# 5. 将结果回传    messages = [        {"role": "user", "content": "今天北京天气怎么样?"},        resp['choices'][0]['message'],        {"role": "tool","tool_call_id": tool_call['id'],"content": json.dumps(search_result)        }    ]# 6. 获取最终回答    final_resp = requests.post("https://open.bigmodel.cn/api/paas/v4/chat/completions",        headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},        json={"models": "glm-4.6", "messages": messages}    ).json()print(final_resp['choices'][0]['message']['content'])

八、完整示例

Q8:从零开始搭建联网问答系统?

结论:完整流程包括定义工具、调用对话、执行工具、回传结果四个步骤。

import requestsimport jsonAPI_KEY = "XXXXXXXXXXXXXXXXXX"# 1. 定义工具列表tools = [    {"type": "function","function": {"name": "web_search","description": "网络搜索,获取最新信息","parameters": {"type": "object","properties": {"search_query": {"type": "string","description": "搜索关键词"                    }                },"required": ["search_query"]            }        }    },    {"type": "function","function": {"name": "web_reader","description": "网页阅读,抓取网页内容","parameters": {"type": "object","properties": {"url": {"type": "string","description": "网页链接"                    }                },"required": ["url"]            }        }    }]# 2. 用户提问user_question = "最新的 AI 技术进展是什么?"# 3. 第一次调用resp = requests.post("https://open.bigmodel.cn/api/paas/v4/chat/completions",    headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},    json={"models": "glm-4.6","messages": [{"role": "user", "content": user_question}],"tools": tools    }).json()# 4. 检查是否需要调用工具if resp['choices'][0]['message'].get('tool_calls'):    tool_calls = resp['choices'][0]['message']['tool_calls']# 5. 执行所有工具调用    tool_results = []for tool_call in tool_calls:        function_name = tool_call['function']['name']        function_args = json.loads(tool_call['function']['arguments'])if function_name == "web_search":            result = requests.post("https://open.bigmodel.cn/api/paas/v4/web_search",                headers={"Authorization": f"Bearer {API_KEY}"},                json={"search_engine": "search_pro", "search_query": function_args['search_query']}            ).json()            tool_results.append({"tool_call_id": tool_call['id'],"role": "tool","content": json.dumps(result)            })elif function_name == "web_reader":            result = requests.post("https://open.bigmodel.cn/api/paas/v4/web_reader",                headers={"Authorization": f"Bearer {API_KEY}"},                json={"url": function_args['url']}            ).json()            tool_results.append({"tool_call_id": tool_call['id'],"role": "tool","content": json.dumps(result)            })# 6. 将工具结果回传    messages = [        {"role": "user", "content": user_question},        resp['choices'][0]['message']    ]    messages.extend(tool_results)# 7. 获取最终回答    final_resp = requests.post("https://open.bigmodel.cn/api/paas/v4/chat/completions",        headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},        json={"models": "glm-4.6", "messages": messages}    ).json()print("\n最终回答:")print(final_resp['choices'][0]['message']['content'])else:# 不需要调用工具,直接返回答案print(resp['choices'][0]['message']['content'])

九、常见问题

Q9:工具调用会额外收费吗?

结论:工具调用本身不收费,但会消耗对话的 token。

计费说明:

  • 工具定义和判断:消耗输入 token
  • 工具执行结果:消耗输入 token
  • 最终回答生成:消耗输出 token

Q10:可以同时调用多个工具吗?

结论:可以,AI 会根据问题需要,同时调用多个工具。

示例:

  • 问"北京和上海今天天气怎么样" → 同时调用两次搜索工具
  • 问"这篇文章的价格和发布日期" → 先调用网页阅读,再调用解析工具

Q11:工具调用失败怎么办?

结论:系统会自动重试,也可以手动处理错误。

错误处理:

try:    result = requests.post("https://open.bigmodel.cn/api/paas/v4/web_search",        headers={"Authorization": f"Bearer {API_KEY}"},        json={"search_engine": "search_pro", "search_query": "测试"}    ).json()except Exception as e:# 工具调用失败,返回错误信息给 AI    tool_results.append({"tool_call_id": tool_call['id'],"role": "tool","content": json.dumps({"error": str(e)})    })

十、最佳实践

Q12:如何提高工具调用准确率?

结论:优化工具描述和参数定义。

优化建议:

  • 工具描述要清晰准确,说明工具的用途和限制
  • 参数描述要详细,说明参数的类型、格式、取值范围
  • 使用示例参数,帮助 AI 理解如何调用
  • 避免工具功能重叠,每个工具专注一个功能

示例:

# ❌ 不好的描述{"name": "search","description": "搜索","parameters": {"query": {"type": "string"}    }}# ✅ 好的描述{"name": "web_search","description": "网络搜索工具,用于获取最新的互联网信息。支持搜索新闻、文章、产品信息等。","parameters": {"type": "object","properties": {"search_query": {"type": "string","description": "搜索关键词,建议使用简洁明确的关键词,比如'北京天气'、'iPhone 15 价格'"            }        },"required": ["search_query"]    }}

更新日志

日期

版本

更新内容

2026-08-29

v1.0

初始版本,专注工具调用使用指南


文档维护:本指南将持续更新,如有问题或建议,请联系团队。

 今日上昨日知识库模拟链接大家可以试试  点击页面两侧任意工具进入子页面查看 

相关学习资料