最新扣子(Coze)案例教程:详解DeepSeek大模型工具调用,教你如何使用DeepSeek Function Calling

👨‍💻 扣子平台DeepSeek 已经支持Function Calling功能了,经常收到大家问关于「Function Calling到底是什么」的问题。

列如下图就是带有工具调用的模型,他们和普通模型的区别是什么?

图片

今天斜杠君就通过本教程,为大家详细解释一下Function Calling的原理。

首先我们来了解一下什么是「Function Calling」,Function Calling这个名词不是扣子独有的,这是一个技术的术语,从字面意思翻译过来就是「工具调用」,指的是大模型拥有智能化调用工具的能力。

那这个「工具」指的又是什么呢?

不同平台「工具」表现的形式不一样。在扣子平台,为了降低使用者上手的难度,扣子为我们准备好了很多好用的插件,当然也有第三方开发的插件,本质上就是工具。除了插件以外,工作流、知识库等都可以理解为工具。

以插件为例,如图所示:

图片

如上图所示,为智能体增加了两个插件,一个是必应联网搜索, 一个是图片理解,这时候智能体就具备了两个工具。

有的同学可能又会问,即使有了工具,智能体怎么知道具体调用哪个呢?

这个时候我们我们就要学习一下「Function Calling」的流程了,大模型的执行流程是这样的:

第一步:接收用户的指令并进行分析。

第二步:获取自身具备的工具列表,根据用户指令,分析应该使用哪个。

第三步:提取用户信息中的关键内容作为参数调用插件。

第四步:接收插件返回的内容。

第五步:把返回的内容组装成用户容易理解的自然语言进行输出。

整个的这个过程就是大模型的「Function Calling」,这大大扩展了模型的能力,相于为大模型加了一个外挂。

反之,如果不支持「Function Calling」的大模型,说明不具备调用工具的能力,回复一些例如实时性的新闻信息就没那么准确。

所以回到本文主题,当DeepSeek支持「Function Calling」,说明DeekSeep也可以联网进行查询搜索了,这要比之前更强大了。

下面这个示例中,我在智能体中使用DeepSeek-R1-工具调用版的模型,让大模型帮我分析图片中的内容,DeepSeek-R1经过思考,并结合本身所具有的工具,准确的帮我分析出了图片的内容。

图片

大模型支持「Function Calling」有什么好处:

1、弥补本身知识的不足,联网获取实时信息。

2、可以在同一会话中,多次调用不同工具,仍可以保持对话连贯性。

3、提升效率,无需搭建工作流,直接在智能体中引入工具即可。

👨‍💻 第三点我觉得很实用,如果不支持「Function Calling」,就需要开发者搭建工作流,引入相应的插件才能实现。现在需要加入一个插件即可。

好了,今天的教程就讲到这里,希望大家有所收获。

💖大家可以关注收藏,以免之后找不到,而且也不会错过我后面的教程噢~

原文链接_联系我:最新扣子(Coze)案例教程:详解DeepSeek大模型工具调用,教你如何使用DeepSeek Function Calling

### 如何使用 Coze 调用火山引擎 DeepSeek API 为了实现这一目标,首先需要理解 Coze 是一种用于简化与各种服务交互的代理工具,而火山引擎 DeepSeek 提供了一系列强大的机器学习能力。具体到调用过程中的操作细节如下: #### 准备工作 确保已注册并登录至火山引擎平台账户,并获取访问所需的应用密钥(API Key 和 Secret Key)。这些凭证对于发起安全请求至关重要[^1]。 #### 安装依赖库 安装必要的 Python 库来处理 HTTP 请求以及 JSON 数据解析。可以通过 pip 工具快速完成此步骤: ```bash pip install requests ``` #### 编写代码示例 下面是一个简单的 Python 代码片段展示如何利用 Coze调用火山引擎 DeepSeek 的文本分类功能。请注意替换 `YOUR_API_KEY` 及 `YOUR_SECRET_KEY` 为实际值。 ```python import hashlib import hmac import base64 import json from datetime import datetime import requests def create_sign(api_key, secret_key, method, path, body=None): timestamp = str(int(datetime.now().timestamp())) sign_str = f"{method}\n{path}\n{timestamp}" if isinstance(body, dict): sorted_body = "&".join([f"{k}={v}" for k, v in sorted(body.items())]) sign_str += "\n" + sorted_body signature = hmac.new( bytes(secret_key, 'utf-8'), msg=bytes(sign_str, 'utf-8'), digestmod=hashlib.sha256).digest() return { "X-TT-DATE": timestamp, "Authorization": f"Bearer {api_key}:{base64.b64encode(signature)}" } if __name__ == "__main__": api_key = "YOUR_API_KEY" secret_key = "YOUR_SECRET_KEY" url = "https://api.deepseek.com/v1/classify/text" headers = create_sign(api_key, secret_key, "POST", "/v1/classify/text") payload = {"text": "这是一个测试句子"} response = requests.post(url=url, headers=headers, data=json.dumps(payload)) print(response.json()) ``` 这段脚本展示了创建签名头文件的方法,并发送 POST 请求给指定端点 `/v1/classify/text` 进行文本分类任务。返回的结果将以 JSON 形式打印出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值