[开源] (支持o1,道德审查)开发了一个适合宝宝体质的 API 转发器 uni-api,目前已经 200+ star

fork了能直接用吗?因为我主要是汇集论坛的,想给同学们用

5 Likes

是的,我 hugging face 主页 uni-api 的 space 是可以直接用的。

4 Likes

南航佬!不过我没找到你的抱脸入口

13 Likes

这你都能看出来,盒武器。:joy: hugging face 用户名同 L 站用户名。

3 Likes

我明天看看,感谢佬

2 Likes

大晚上我得吐槽,有点复杂感觉配置好难弄。。。

providers:
  - provider: xinhuo
    base_url: https://spark-api-oxxx.xf-yun.com/v1
    api:
      - DktwcaMvBqHxxx
    model:
      - 4.0Ultra
    tools: true
    preferences:
      api_key_rate_limit: 60/min
      api_key_cooldown_period: 60
      api_key_schedule_algorithm: round_robin
      model_timeout:
        4.0Ultra: 30
    
  - provider: furryapi
    base_url: https://oai.furryxxx.org/v1
    api:
      - sk-suqY3edN9SB0j34KA3xxx
    model:
      - gpt-4-vision-preview
      - gpt-4o-2024-08-06
      - gpt-4o-mini
      - gpt-4o-mini-2024-07-18
      - gpt-3.5-turbo-0125
      - tts-1-hd
    tools: true
    preferences:
      api_key_rate_limit: 60/min
      api_key_cooldown_period: 60
      api_key_schedule_algorithm: round_robin
      model_timeout:
        default: 30 
    engine: gpt

  - provider: chatoai
    base_url: https://api.chatxxx.tech/v1
    api:
      - sk-oMH28bFekpExxx
    model:
      - gpt-4-vision-preview
      - gpt-4o-2024-08-06
      - gpt-4o-mini
      - gpt-4o-mini-2024-07-18
      - gemini-1.5-flash-latest
    tools: true
    preferences:
      api_key_rate_limit: 60/min
      api_key_cooldown_period: 60
      api_key_schedule_algorithm: round_robin
      model_timeout:
        default: 30 
    engine: gpt
    
  - provider: siliconflow
    base_url: https://api.siliconflow.cn/v1
    api:
      - sk-wzvepceenkfsztdxxxx
    tools: true
    model:
      - deepseek-ai/DeepSeek-V2.5
      - Qwen/Qwen2.5-Coder-32B-Instruct
      - Pro/THUDM/glm-4-9b-chat
    preferences:
      api_key_rate_limit: 60/min
      api_key_cooldown_period: 60
      api_key_schedule_algorithm: round_robin
      model_timeout:
        default: 30 
    engine: gpt
    
api_keys:
  - api: xxxx
    role: admin
    preferences:
      SCHEDULING_ALGORITHM: fixed_priority
      AUTO_RETRY: true
      rate_limit: 100/min
      ENABLE_MODERATION: false


preferences:
  model_timeout:
    default: 100
  cooldown_period: 300
  error_triggers:
    - The bot's usage is covered by the developer
    - process this request due to overload or policy

求助不知道哪里错了问啥都是进入冷却60s,429,还有engine胡乱使用其他格式请求,明明key都是可用的,要是搞不了,我只能回去用simple-one-api了 :tieba_087: :tieba_087: :tieba_087:

4 Likes

:melting_face: 我也是一直429 出答案还慢,用new就很快而且不触发429 不知道为啥,单单用gemini这个舒服点,但这个问题不知道怎么弄

providers:
  - provider: gemini
    base_url: https://gemini-proxy.keyikai.me/v1beta # base_url 支持 v1beta/v1, 仅供 Gemini 模型使用,必填
    api: # 支持多个 API Key,多个 key 自动开启轮训负载均衡,至少一个 key,必填
      - AIz
    model:
      - gemini-2.0-flash-exp: gemini-2.0-flash-search # 重命名后,原来的模型名字 gemini-2.0-flash-exp 无法使用,如果要使用原来的名字,可以在 model 中添加原来的名字,只要加上下面一行就可以使用原来的名字了
      - gemini-exp-1206 # 2,097,152
      - gemini-exp-1121 # 32,768
      - gemini-exp-1114 # 32,767 
      - gemini-1.5-pro-exp-0827
      - gemini-1.5-pro-exp-0801
      - gemini-1.5-pro # 2,097,152
      - gemini-1.5-flash
    tools: true
    preferences:
      api_key_rate_limit: 99999910/min # 每个 API Key 每分钟最多请求次数,选填。默认为 999999/min。支持多个频率约束条件:15/min,10/day
      # api_key_rate_limit: # 可以为每个模型设置不同的频率限制
      #   gemini-1.5-pro: 3/min
      #   gemini-1.5-flash: 2/min
      #   default: 4/min # 如果模型没有设置频率限制,使用 default 的频率限制
      api_key_cooldown_period: 0 # 每个 API Key 遭遇 429 错误后的冷却时间,单位为秒,选填。默认为 0 秒, 当设置为 0 秒时,不启用冷却机制。当存在多个 API key 时才会生效。
      api_key_schedule_algorithm: round_robin # 设置多个 API Key 的请求顺序,选填。默认为 round_robin,可选值有:round_robin,random。当存在多个 API key 时才会生效。round_robin 是轮询负载均衡,random 是随机负载均衡。
      model_timeout: # 模型超时时间,单位为秒,默认 100 秒,选填
        default: 15 # 模型没有设置超时时间,使用默认的超时时间 10 秒,当请求的不在 model_timeout 里面的模型时,超时时间默认是 10 秒,不设置 default,uni-api 会使用全局配置的模型超时时间。

api_keys:
  - api: xxxx
    model:
      - all
    role: admin

preferences: # 全局配置
  model_timeout: # 模型超时时间,单位为秒,默认 100 秒,选填
    default: 15 # 模型没有设置超时时间,使用默认的超时时间 10 秒,当请求的不在 model_timeout 里面的模型时,超时时间默认是 10 秒,不设置 default,uni-api 会使用 环境变量 TIMEOUT 设置的默认超时时间,默认超时时间是 100 秒
4 Likes

好像一早醒来 gemini-2.0-flash-search 一直都429 错误。昨晚睡前还好好的呢。

好像是上游问题,就是Google不给用了:在openwebui中为gemini-2.0-flash-exp启用搜索 完美平替perplexity - #42,来自 KaffirLily


更新

地主家也没有余粮了。Google AI Studio 两次搜索之后也限制了

4 Likes

是不是有问题了 一直429

2 Likes

docker compose logs uni-api

2 Likes

Gemini 现在没办法用 search 了。要等官方恢复。

1 Like

Gemini 现在没办法用 search 了。要等官方恢复。你用普通版的 Gemini 是没问题的。

4 Likes

贴不了,logs里都是明文key,反正就是一提问就冷却60s然后永远在切换下一渠道,麻了,应该是我配置文件不对?但是我贴出来的和你你们都对比也差不多啊

2 Likes

配置文件 base url 要写全。不能有任何省略。严格按照 README 来。只有 Gemini base url 仅写到 v1beta。总之 README 怎么写,你就怎么写。

6 Likes

好的大佬

5 Likes

感谢佬友分享

就是不能只是/v1,要完全写v1/chat/completions?

我就是完整按照要求写的,yaml格式验证也OK

然后贴出来的内容就是我用的报错配置,除了baseURL和APIKey我给截断了

是的,你先修改好这个。有问题,再发一版修改好的配置文件给我看看。

3 Likes

好的,麻烦了

2 Likes

真的得填全/v1/chat/completions才行,但是单纯/v1会和什么冲突吗?而且参数engine设置GPT后没有自动补充/chat/completions后缀,有点遗憾。

4 Likes