GPT实战系列-ChatGLM3管理工具的API接口

GPT实战系列-ChatGLM3管理外部借力工具

用ChatGLM的工具可以实现很多查询接口和执行命令,外部工具该如何配置使用?如何联合它们实现大模型查询助手功能?例如调用工具实现股票信息查询,网络天气查询等助手功能。

LLM大模型相关文章:

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

大模型查询工具助手之股票免费查询接口

GPT实战系列-简单聊聊LangChain

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-大话LLM大模型训练

配置tools信息

python 复制代码
tools = [
	{'name': 'querystock', 
     'description': '查询指定股票的实时价格', 
     'parameters': 
     	{'type': 'object', 
         'properties': 
         	{
               'symbol': {'description': '需要查询的股票代码'}
            }, 
         'required': []
        }
    }, 
]

参数解释:

复制代码
"name":为配置tool工具名;

"description":对工具的描述;

"parameters":

        "type":数据类型默认为"object";
    
        "properties":在此定义工具的属性以及对属性值的描述;
    
        "required": 需要返回的属性;

系统描述接口调用

python 复制代码
system_item = {"role": "system",
               "content": "Answer the following questions as best as you can. You have access to the following tools:",
               "tools": tools}

程序中调用语句以便实现工具调用

python 复制代码
tokenizer = AutoTokenizer.from_pretrained(TOKENIZER_PATH, trust_remote_code=True)
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True, device_map="auto").eval()

past_key_values, history = None, [system_item]

调用模型时,当对话query和tool相关时,模型会自动调用tool并反馈

python 复制代码
query = "帮我查询股票sz000001的价格"
response, history = model.chat(tokenizer, query, history=history)
print(response)

期望调用工具得到输出为:

json 复制代码
{"name": "querystock", "parameters": {"symbol": "sz000001"}}

这表示模型需要调用工具 querystock,并且需要传入参数 symbol

调用工具,生成回复

此时需要自行实现调用工具的逻辑。假设已经得到返回结果,将结果以 json 格式返回给模型并得到回复。

python 复制代码
result = json.dumps({"price": 9.270}, ensure_ascii=False)
response, history = model.chat(tokenizer, result, history=history, role="observation")
print(response)

这里 role="observation" 表示输入的是工具调用的返回值而不是用户输入,不能省略。

经LLM整理信息后,期望得到的输出为

复制代码
根据您的查询,经过API的调用,股票 sz000001 的价格是 9.270。

表示本次工具调用已经结束,模型根据返回结果生成回复。

可以根据返回的 responsestr 还是 dict 来判断返回的是生成的回复还是工具调用请求。

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

End


GPT专栏文章:

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

大模型查询工具助手之股票免费查询接口

GPT实战系列-简单聊聊LangChain

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-Baichuan2等大模型的计算精度与量化

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-探究GPT等大模型的文本生成-CSDN博客

相关推荐
土豆12502 小时前
DeepSeek V4-Flash 正式版深度解读:一行 changelog 里的暗涌与野心
人工智能·llm
臭小子2223 小时前
【在 RX 6750 GRE 10GB 上预训练 GPT:一场 ROCm 生态的踩坑实录
gpt·预训练·amd·rocm
Michaelliu_dev3 小时前
RoPE通俗讲解
人工智能·llm·位置编码·多模态大模型·rope·旋转位置编码·mllm
南方程序猴5 小时前
2026年7月最新国内 Codex 安装教程和使用教程:GPT-5.6 完整指南
人工智能·gpt·ai·ai编程
吨吨ai6 小时前
# 2026年8月更新:ChatGPT、Codex、Plus、Pro 与 Semantic CI/CD(GPT-5.6 智能变更流水线技术分享)
人工智能·gpt·chatgpt
To_OC15 小时前
从 0 到 1:Milvus + 大模型打造私人记忆知识库
人工智能·node.js·llm
孙启超16 小时前
【AI应用开发】 RAG篇(四):Prompt 工程与进阶技术
人工智能·llm·embedding·rag·向量化·chunking·文档切分
周末程序猿17 小时前
图解 120 个大语言模型(LLM)核心概念(91-120)
llm·agent
天天有money20 小时前
API中转站在社媒矩阵里的价值:多平台文案如何统一改写
gpt·线性代数·ai·chatgpt·矩阵
颜酱20 小时前
13 | 使用 LangChain 生成 SQL
人工智能·python·langchain