GeekAI 用户手册GeekAI 用户手册
  • 指南

    • 介绍
    • 快速部署
    • 进阶部署
  • 配置

    • API令牌配置
    • 用户管理
    • AI 模型配置
    • AI 应用管理
    • 函数插件配置
    • MidJourney 绘图配置
    • 支付配置
    • Gitee模力方舟接入
    • 其他服务配置
    • 文件存储配置
    • 内容审查配置
    • 即梦AI配置
    • 短信邮件配置
    • 运营策略
  • 升级

    • 平滑升级
  • 开发

    • 开发和构建
    • 如何跳过 License 验证
  • 指南

    • 介绍
    • 部署
  • 配置

    • Coze 智能体
    • Dify 智能体
    • 阿里云百炼智能体
  • 升级

    • Geek-Agent v1.0.2
    • Geek-Agent v1.0.3
  • GeekAI-PLUS(不带管理后台)
  • GeekAI-PLUS(带管理后台)
  • GeekAI-Agent(不带管理后台)
  • AI 学习笔记

    • 01-Stable-Diffusion基本知识概论
    • 02-DeepSeek R1 的核心技术解密
    • 03-DeepSeek R1 使用指南(持续更新)
    • 03-关于 AI Agent 的一些个人思考
    • 04-搞懂 MCP 和 A2A 协议
  • 极客学长博客
  • 技术交流群
  • GitHub
  • Gitee
  • GitCode
  • 简体中文
  • en-US
GitHub
  • 指南

    • 介绍
    • 快速部署
    • 进阶部署
  • 配置

    • API令牌配置
    • 用户管理
    • AI 模型配置
    • AI 应用管理
    • 函数插件配置
    • MidJourney 绘图配置
    • 支付配置
    • Gitee模力方舟接入
    • 其他服务配置
    • 文件存储配置
    • 内容审查配置
    • 即梦AI配置
    • 短信邮件配置
    • 运营策略
  • 升级

    • 平滑升级
  • 开发

    • 开发和构建
    • 如何跳过 License 验证
  • 指南

    • 介绍
    • 部署
  • 配置

    • Coze 智能体
    • Dify 智能体
    • 阿里云百炼智能体
  • 升级

    • Geek-Agent v1.0.2
    • Geek-Agent v1.0.3
  • GeekAI-PLUS(不带管理后台)
  • GeekAI-PLUS(带管理后台)
  • GeekAI-Agent(不带管理后台)
  • AI 学习笔记

    • 01-Stable-Diffusion基本知识概论
    • 02-DeepSeek R1 的核心技术解密
    • 03-DeepSeek R1 使用指南(持续更新)
    • 03-关于 AI Agent 的一些个人思考
    • 04-搞懂 MCP 和 A2A 协议
  • 极客学长博客
  • 技术交流群
  • GitHub
  • Gitee
  • GitCode
  • 简体中文
  • en-US
GitHub
  • GeekAI-Plus

    • 介绍
    • 快速部署
    • 进阶部署
    • Window 系统部署
    • 使用宝塔部署
    • 常见错误
  • 配置

    • API令牌配置
    • Gitee模力方舟接入
    • 用户管理
    • AI 模型配置
    • AI 应用管理
    • 函数插件配置
    • MidJourney 绘图配置
    • Stable-Diffusion 绘图配置
    • DALL-E 绘图配置
    • Suno 生成音乐
    • Luma 视频
    • 可灵视频
    • 文件存储配置
    • 支付配置
    • Gitee模力方舟接入
    • 插件配置
    • 短信邮件配置
    • 内容审查配置
    • 即梦AI配置
    • 其他服务配置
    • 运营策略
  • 升级

    • 平滑升级
    • GeekAI-PLUS-v4.1.6
    • GeekAI-PLUS-v4.1.8
    • GeekAI-PLUS-v4.1.9
    • GeekAI-PLUS-v4.2.1
    • GeekAI-PLUS-v4.2.2
    • GeekAI-PLUS-v4.2.3
    • GeekAI-PLUS-v4.2.4
    • GeekAI-PLUS-v4.2.5
    • GeekAI-PLUS-v4.2.6
    • GeekAI-PLUS-v4.2.7
  • 开发

    • 开发和构建
    • 如何跳过 License 验证

目前主流的大语言模型都支持函数调用(Function Calling)功能,比如 gpt-4o-mini,claude-4-0-sonnet,deepseek-chat, gpt-5-nano 等。 GeekAI 也支持用户在管理后台添加自己的函数插件和实现。本文主要介绍如何添加一个函数,以及实现一个完整的函数调用。

添加函数

添加函数

参数说明

下面我们具体解释下参数怎么填写。函数名称,函数描述就不用说了,意思很明显。

  1. 函数标签: 当前函数被调用的时候,前端页面显示的名称,比如下面这个:

    函数标签示例

  2. 函数参数: 代表你这个函数要调用的需要传入哪些参数,GPT 会自动从用户输入的提示词中提取参数你所需要的函数参数,比如你定义一个获取天气的函数 get_weather ,并且你定义了 2 个参数, "时间"和"地点"。那么当用户输入"今天深圳的天气怎样?",GPT 会自动从提问当中提取"今天"和"深圳"这 2 个参数作为你函数的调用入参。

  3. API 地址: 为了方便大家扩展,我们这里设置都是远程函数,API 具体调用的时候是通过 JSONRPC 的方式调用。因此你需要填写你 API 调用的远程地址。

  4. API Token: 这个是在 RPC 调用的时候授权用的。这个 Token 参数会通过 Authorization 头信息传递到你的函数实现的 API 地址。如果你的服务端没有做鉴权(不推荐),那么可以不填。

  5. 消耗算力: 调用这个函数需要消耗多少算力,这个算力值会从用户的算力余额中扣除。

因为我们的微博热搜,今日早报,以及 Dalle3 的函数服务是内置的,也就是说是就是 GeekAI 内部实现的,故而可以通过本系统一键生成。但如果你的函数是另一个系统实现,那么你就需要在那个系统生成一个 Token 填入此处。

举例

假设你用 PHP 写了一个抓取网页的函数,给 GPT 扩展上网的功能,那么此时 API 地址就要填写那个 PHP 系统的 API 地址,Token 也要通过那个 PHP 系统生成。

GPT 函数调用的官方文档在这里:https://openai.com/blog/function-calling-and-other-api-updates

注意:

我们这个实现跟官方的推荐实现方式有区别,我们没有进行第三步把 API 返回的数据在提交给 GPT 调用重组, 默认函数返回什么我们就把返回内容直接显示在前端聊天记录中了,所以你的 API 函数实现端需要组装好内容再返回过来,而不是返回结构化的数据。你可以返回纯文本和 Markdown 以及 HTML 代码。

错误处理

一、调用函数出现 Token 签名错误

在调用微博热搜,dalle3 绘图函数的时候报类似下面的错误:

error with parse auth token: token signature is invalid: signature is invalid

这是因为导入数据库中的函数调用 token 是我本地生成的,本地的密钥跟你线上的密钥肯定不一样的,所以你需要在管理后台重新生成函数的 token。

你只需到管理后台 => "编辑函数",然后重新生成 Token 就好了。

编辑函数生成 Token

二、配置好了函数,但是对话的时候没有调用

  1. 检查你选择的模型是否支持函数调用功能,目前只有 gpt-4o-mini,claude-4-0-sonnet,deepseek-chat, gpt-5-nano 等模型支持函数调用功能。有些开源的小模型,已经推理模型比如 DeepSeek-R1 这些模型都不支持函数调用功能。

  2. 检查你在发送对话的时候是否勾选了 "函数调用" 选项。比如你想要调用“微博热搜”函数,那么你就要在发送对话的时候勾选“微博热搜”选项。也可以全部勾选,让模型自己决定调用哪些函数。

    勾选函数调用

在 GitHub 上编辑此页
上次更新: 2025/9/22 17:31
贡献者: GeekMaster
Prev
AI 应用管理
Next
MidJourney 绘图配置
极客学长 © 2022-2025 版权所有 粤ICP备19122051号-1