# 增值服务 API 配置

本人为 GeekAI 开发了一些增值服务,你可以按需购买使用,具体如下:

# 1. 图形验证码服务

GeekAI 内部提供一些增值服务,这些增值服务是收费的。你需要配置行为验证码服务,来防止短信或者邮箱发送的 API 接口被恶意刷流量。 否则就没法开放前端注册服务,只能通过管理后台去添加用户,点击发送断线验证码的时候会出现下面的错误。

图片加载中...

# 2. 微博热搜服务

在对话中可以提供微博热搜功能,相当于是给 AI 获得一些访问互联网的能力。

图片加载中...

# 3. 今日早报服务

功能类似微博热搜,只是抓取的互联网内容不一样。

图片加载中...

# 4. 聚合登录服务

聚合登录是 GeekAI 提供的一款第三方登录服务插件,开通之后,在登录页面就会出现第三方登录的服务组件。目前只实现了微信登录,后期还会增加 QQ 登录,支付宝登录等。

图片加载中...

# 5. 服务价格表

上述所有的服务除了聚合登录之外,单买都是 9.9 元一个月,聚合登录服务是 15 元一个月。 你单独购买某个服务,比如验证码服务。也可以多项打包一起购买。

购买时长越长,价格越优惠(以下为单项服务的价格):

  • 一个月 9.9 元
  • 三个月 27 元
  • 半年 50 元
  • 一年 90 元

以上服务不限制调用次数。配置非常简单,找群主生成一个 AppId 和一个 Token, 然后修改配置文档 conf/config.toml,找到 ApiConfig 配置段,更改配置:

[ApiConfig]
  ApiURL = "https://sapi.geekai.me"
  AppId = "" # 这里替换成你的 AppId
  Token = "" # 这里替换成你的 Token

配置好之后重启应用生效:

docker-compose down
docker-compose up -d

# 兑换码配置

GeekAI 从 v4.1.2 版本之后开始支持卡密功能,卡密的添加在管理后台的“兑换码”页面添加:

图片加载中...

支持批量添加:

图片加载中...

用户购买了卡密之后,可以在前端“会员中心”页面进行核销。

图片加载中...

核销成功之后,算力日志中会有算力增加的日志。

图片加载中...

# HTTPS 访问配置

GeekAI 部署成功之后,如果你想启用 HTTPS 访问支持非常简单,只需下面三步:

假设你 GeekAI 部署的目录是 /opt/geekai

  1. 拷贝你的证书到项目部署路径下的 ssl 目录下。也就是 /opt/geekai/ssl,目录的结构如下:

    ssl/
     ├── ca.key
     └── ca.pem
    
  2. 设置 nginx 配置文档,设置域名和 SSL 证书地址。打开 /opt/geekai/conf/nginx/conf.d/geekai.conf 文件,打开 SSL 设置段的注释,按照如下图所示,设置好你的域名和证书地址。

    图片加载中...

    需要注意的是,你要记得在你的服务器上开放 443 端口。

  3. 修改 docker 容器的端口。修改 docker-compose.yaml 文件。主要修改两个地方,一个是开放映射 443 端口,另一个是挂载证书文件到容器。








     




     

    geekai-web:
      image: registry.cn-shenzhen.aliyuncs.com/geekmaster/geekai-plus-web:v4.1.0-amd64
      container_name: geekai-web
      restart: always
      depends_on:
        - geekai-api
      ports:
        - '443:443' # 映射 443 端口
      volumes:
        - ./logs/nginx:/var/log/nginx
        - ./conf/nginx/conf.d:/etc/nginx/conf.d
        - ./conf/nginx/nginx.conf:/etc/nginx/nginx.conf
        - ./conf/nginx/ssl:/etc/nginx/ssl # 这里这个目录不要改,跟上面 NGINX 配置证书的目录要一致
    
  4. 最后,改完记得重启服务。

    docker-compose down
    docker-compose up -d
    

# 函数插件配置

GeekAI 支持用户在管理后台添加自己的函数插件和实现。本文主要介绍如何添加一个函数,以及实现一个完整的函数调用。

# 添加函数

在管理后台,选择 函数管理 -> 新增函数。

图片加载中...

# 参数解释

图片加载中...

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

  1. 函数标签 是只当前函数被调用的时候,前端页面显示的名称,比如下面这个:
图片加载中...
  1. 函数参数 代表你这个函数要调用的需要传入哪些参数,GPT 会自动从用户输入的提示词中提取参数你所需要的函数参数,比如你定义一个获取天气的函数 get_weather ,并且你定义了 2 个参数, “时间”和“地点”。那么当用户输入“今天深圳的天气怎样?”,GPT 会自动从提问当中提取“今天”和“深圳”这 2 个参数作为你函数的调用入参。

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

  3. API Token:这个是在 RPC 调用的时候授权用的。这个 Token 参数都是通过 Authorization 头信息传递到函数 API 地址的。需要注意的是 Token 的验证是在 API 服务端验证的,所以你这里填写的 Token 应该是你的服务端生层的。 因为我们的微博热搜,今日早报,以及 Dalle3 的函数服务是内置的,也就是说是就是 chat-plus-api 服务内部实现的,故而可以通过本系统一键生成。但如果你的函数是另一个系统实现,那么你就需要在那个系统生成一个 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 就好了。

图片加载中...

二、有时候调用函数,有时候不调用

大语言模型推理有一定的随机性,即使你每次问一样的问题,每次得到的答案也不一定相同。所以可能这次触发了函数调用,下次就没有触发,都属于正常情况。目前我测试的结果看,gpt-3.5-turbo 和 gpt-3.5-16k,gpt-4 这几个模型调用函数稳定一些。1106 模型和 0125 系列模型 Function 功能都不太稳定。

上次更新: 2025/4/25 22:58:51