DeepSeek(13):Function call 给⼤模型插上翅膀

1 大模型存在的问题和能力

2 Function call原理

如上图比如像我们的都是一个大模型,当用户提出问题的时候,大模型会根据用户的提示词判断是否需要用外部的工具,比如说调用某个函数或者调用某个api,如果他发现了确实需要调用,此时他会把这些信息生成对应的结构化的信息,这个生成结构化信息的过程是把自然语言变成结构化语言,比如说接着xml都属于结构化的语言,在这个里面它会包含两种两类信息:一类是需要调用的函数或者api的名称,一类所需要的参数,从而协助我们去调用,之所以是协助,是因为调用不是大模型该干的活,大模型只是生成对应的函数名称跟参数的结构化信息,调用还是我们自己通过应用去调用,然后调用这个的函数或者api的数据,这个函数api会返回对应的结果,这个返回信息依旧是一个信息化或者结构化的信息,大模型拿到信息后进行理解和润色然后返回给用户。

下面我们来看一个具体的场景:

### 关于 DeepSeek 不支持 Function Call 的原因 DeepSeek 是一个专注于提供高质量文本理解和生成的人工智能平台[^1]。当前版本的设计决策并未包含对函数调用(Function Call)的支持,这主要是出于设计哲学和技术实现两方面的考量。 #### 设计哲学方面 - **专注核心能力**:为了确保在自然语言处理任务上的卓越表现,DeepSeek 将重点放在优化对话理解、语义解析等功能上,而不是扩展到执行外部代码或API调用这样的领域。 #### 技术实现方面 - **安全性考虑**:允许直接执行来自用户的任意函数可能会带来安全风险,比如恶意代码注入等问题。因此,避免内置这种功能有助于保护系统的稳定性和用户数据的安全性。 ### 替代方案 尽管如此,对于那些希望集成特定业务逻辑的应用场景来说,仍然存在有效的替代方法: 1. **Webhook 或 API 调用** 应用程序可以监听由 DeepSeek 返回的消息事件,并据此触发相应的 Webhook 请求或将参数传递给自定义编写的 RESTful APIs 来完成实际的任务操作。 2. **中间件模式** 构建一层位于前端应用与 DeepSeek 之间的服务层作为中介处理器。该中间件接收来自 DeepSeek 的响应并负责解释其中可能含有的指令集,进而决定如何进一步行动,例如发起 HTTP 请求或其他形式的数据交互。 3. **件机制** 如果开发环境允许的话,还可以探索创建专门针对所需功能的件来增强现有框架的功能性。不过这种方法通常适用于内部部署而非云端SaaS产品。 ```python import requests def webhook_handler(data_from_deepseek): url = "https://example.com/api/endpoint" response = requests.post(url, json=data_from_deepseek) return response.json() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不死鸟.亚历山大.狼崽子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值