ChatGPT Tools 调用实战
在大型语言模型(LLM)的应用开发中,工具调用(Function Calling / Tools)是一项关键能力。它允许大模型根据用户意图自主决定调用外部函数或 API,从而执行代码、查询数据库或操作文件系统。本文将详细介绍如何使用 OpenAI Python SDK 实现基础的 Tools 调用功能,并通过一个执行系统命令的示例展示完整流程。
1. 环境准备与客户端初始化
首先,需要安装 OpenAI 官方 Python 库。确保已配置好环境变量中的 API Key。
import json
import os
import subprocess
from openai import OpenAI
# 初始化客户端
# api_key 请填入自己的密钥,base_url 可根据网络环境调整
client = OpenAI(
api_key="YOUR_API_KEY_HERE",
base_url="https://api.openai.com/v1"
)
2. 定义工具执行逻辑
我们需要编写具体的 Python 函数来响应模型的请求。本例中,我们定义一个执行系统命令的函数。该函数接收命令字符串,使用 subprocess 模块运行并返回标准输出与错误信息。
def do_command(command: str):
"""
执行系统命令并返回结果
:param command: 要执行的 shell 命令
:return: 包含 stdout 和 stderr 的字典
"""
try:
process = subprocess.Popen(
command,
shell=True,
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
encoding="utf-8"
)
stdout, stderr = process.communicate()
return {
"stdout": stdout,
"stderr": stderr,
"success": True
}
except Exception as e:
return {
"stdout": "",
"stderr": str(e),
"success":
}


