one-api icon indicating copy to clipboard operation
one-api copied to clipboard

令牌验证失败

Open MustAPI opened this issue 1 year ago • 8 comments

例行检查

  • 我已确认目前没有类似 issue
  • 我已确认我已升级到最新版本
  • 我已完整查看过项目 README,尤其是常见问题部分
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

问题描述 额度充足,请求频率在20qps左右,有一定比例报错“令牌验证失败”

相关截图 返回结果里,报错

MustAPI avatar Feb 26 '24 05:02 MustAPI

麻烦发一下相关的日志,找错误请求前 CacheGetTokenByKey failed 的日志

songquanpeng avatar Feb 26 '24 15:02 songquanpeng

mysql 链接数上限了

c121914yu avatar Feb 29 '24 16:02 c121914yu

我的也是提示额度用尽了 怎么解决?

578691200 avatar Mar 01 '24 12:03 578691200

[SYS] 2024/03/20 - 18:01:45 | CacheGetTokenByKey failed: database is locked 
[ERR] 2024/03/20 - 18:01:45 | 2024032018014259211687060054307 | 令牌验证失败 
[ERR] 2024/03/20 - 18:01:45 | 2024032018013776459886645850445 | error consuming token remain quota: database is locked 
[INFO] 2024/03/20 - 18:01:45 | 2024032018013776459886645850445 | record consume log: userId=2, channelId=1, promptTokens=878, completionTokens=8, modelName=gpt-3.5-turbo, tokenName=AI Copilot, quota=226, content=模型倍率 0.25,分组倍率 1.00,补全倍率 3.00 
[SYS] 2024/03/20 - 18:01:48 | CacheGetTokenByKey failed: database is locked 
[ERR] 2024/03/20 - 18:01:48 | 2024032018014565420143008921518 | 令牌验证失败 

我也提示了。从5.10 升级到 6.2

用的是SQLite

image

CaesarC avatar Mar 20 '24 10:03 CaesarC

sqlite并发太差,建议MySQL

songquanpeng avatar Mar 20 '24 15:03 songquanpeng

使用MySQL、把日志功能关闭了,并且环境变量设置了10分钟计算额度,也还会报错

MustAPI avatar Mar 22 '24 13:03 MustAPI

同上,请问这个怎么解决?跑一点提示令牌验证失败:

image

这是后台日志:

 | 2024/04/05 22:27:18 /build/model/user.go:392 SLOW SQL >= 200ms
one-api        | [2430.527ms] [rows:1] SELECT `username` FROM `users` WHERE id = 1
one-api        | [SYS] 2024/04/05 - 22:27:18 | CacheGetTokenByKey failed: database is locked
one-api        | [ERR] 2024/04/05 - 22:27:18 | 2024040522271528914005628997171 | 令牌验证失败
one-api        |
one-api        | 2024/04/05 22:27:18 /build/model/cache.go:34 database is locked
one-api        | [3003.265ms] [rows:0] SELECT * FROM `tokens` WHERE `key` = "TOdM4nYhI6kvbZ5P51EcF16cCbBf49B4Bc6bEd1f55F68429" ORDER BY `tokens`.`id` LIMIT 1
one-api        | [GIN] 2024/04/05 - 22:27:18 | 2024040522271528914005628997171 | 401 |  3.003467193s |   172.23.148.83 |    POST /v1/chat/completions

以及 docker 配置文件(没有用 MySQL )

version: '3.4'

services:
  one-api:
    image: justsong/one-api:latest
    container_name: one-api
  ...
    depends_on:
      - redis
      - db

  redis:
    image: redis:latest
    container_name: redis-one-api
    restart: always

  db:
    image: mysql:8.2.0
...

RexWzh avatar Apr 05 '24 14:04 RexWzh

当前并发量还不算高,并发数为 8 重试 3 次。

手动指定了渠道,部分时刻会抛出其他错误:

Request Failed(1):令牌验证失败 (request id: 2024040523024380514227068513478)t/s]
Request Failed(1):令牌验证失败 (request id: 2024040523024466107860960056915)
Request Failed(1):令牌验证失败 (request id: 2024040523024436408812505164584)
Request Failed(1):普通用户不支持指定渠道 (request id: 2024040523024326288005160994610)

后续换 MySQL 看有没错误。

RexWzh avatar Apr 05 '24 15:04 RexWzh