大模型接口管理和分发系统One API

One-API 支持通过标准的 OpenAI API 格式访问所有的大模型,开箱即用。

老苏就职于一家专注于音视频实时交互技术和智能算法的创新企业。公司通过提供全面的 SDK 和解决方案,助力用户轻松实现实时音视频通话和消息传递等功能。尽管公司网站上有详细的文档中心,但在实际开发中,仍面临大量咨询工作。

鉴于此,老苏考虑利用 GPT 模型的卓越文本生成功能,构建一个企业级的私有知识库。通过用户输入,生成连贯、有逻辑的回复,并通过不断训练和优化,打造一个更智能、更个性化的客户服务体验。

接下来,我们将分三篇文章来实践这一解决方案的可能性,看看效果到底如何?


什么是 One API ?

One-APIOpenAI 接口管理 & 分发系统,支持 AzureAnthropic ClaudeGoogle PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用。

One API 可以用来管理模型池,其可以兼容 OpenAIAzure 、国内主流模型和本地模型等

工作原理如下:

  • 渠道页面中添加你的 API Key
  • 然后在令牌页面中新增访问令牌
  • 客户端使用令牌访问 One API
  • 根据请求中的 model 参数,匹配对应的渠道(根据渠道里的模型进行匹配,必须完全一致)。如果匹配到多个渠道,则随机选择一个(同优先级)
  • One API 向真正的地址发出请求,并将结果返回给客户端
使用 One API 分发的 key 进行请求
中继请求
中继请求
中继请求
中继并修改请求体和返回体
用户
One API
OpenAI
Azure
其他 OpenAI API 格式下游渠道
非 OpenAI API 格式下游渠道

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 one-api ,选择第一个 justsong/one-api,版本选择 latest

本文第一次折腾时, latest 版本对应为 v0.5.7-alpha.1;本文写作时,latest 版本对应为 v0.6.5

docker 文件夹中,创建一个新文件夹 one-api,并在其中建一个子文件夹 data

文件夹装载路径说明
docker/one-api/data/data存放数据库和日志等

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
30333000

环境

可变
TZ设为 Asia/Shanghai

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 one-api 和 子目录
mkdir -p /volume1/docker/one-api/data

# 进入 one-api 目录
cd /volume1/docker/one-api

# 运行容器
docker run -d \
   --restart always \
   --name one-api \
   -p 3033:3000 \
   -v $(pwd)/data:/data \
   -e TZ=Asia/Shanghai \
   justsong/one-api

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  one-api:
    image: justsong/one-api
    container_name: one-api
    restart: unless-stopped
    ports:
      - 3033:3000
    volumes:
      - ./data:/data
    environment:
      - TZ=Asia/Shanghai

然后执行下面的命令

# 新建文件夹 one-api 和 子目录
mkdir -p /volume1/docker/one-api/data

# 进入 one-api 目录
cd /volume1/docker/one-api

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3033 就能看到主界面

登陆 按钮

初始管理员账号用户名为 root,密码为 123456

当然也可以注册新用户

登陆成功之后的主界面

【注意】:记得立刻修改默认密码!

新建渠道

添加新的渠道

Moonshot AI

Moonshot AI 为例

  • 类型: 类型下拉选择 Moonshot AI

  • 名称:随意
  • 分组:内置三种,分别是 defaultvipsvip
  • 模型:一般会根据类型自动填写
  • 密钥:Moonshot AI 的秘钥,可以在这里申请: https://platform.moonshot.cn/console/api-keys

这是 Moonshot 的开发者账号,新用户注册会有 15 元额度。这和之前我们用的 kimi-free-api 中介绍的 refresh_token 不是一个概念。

保存之后,可以 测试

如果没问题的话,会提示测试成功

kimi-free-api

当然,我们也可以添加之前使用过的 kimi-free-api

kimiMoonshot 基于 Moonshot AI 开发的产品

  • 类型:选择 自定义渠道
  • Base URL:填入 kimi-free-api 的访问地址 http://群晖IP:8126
  • 名称:例如:kimi-free-api
  • 分组:default就行
  • 模型:输入自定义模型名称,填入 即可
  • 秘钥:从 kimi.moonshot.cn 网页上获取的 refresh_token

保存之后,可以测试一下是否设置正确

创建令牌

要二次分发使用,还需要有令牌

用于控制可使用的模型、额度、时限等

【注意】:这里没有设置模型范围,意味着后续添加的新渠道的模型,都是可以通过这个令牌进行访问的

保存之后

ChatGPT Next Web 为例

会得到一个字符串,其中

  • key :对应的是 ChatGPT Next Web 的环境变量 OPENAI_API_KEY
  • url:对应的是 ChatGPT Next Web 的环境变量 BASE_URL,但不能用 http://localhost:3000,而要使用外部地址 http://http://群晖IP:3033

ChatGPT Next Web

还是以 ChatGPT-Next-Web 为例

文章传送门:跨平台私人ChatGPT应用ChatGPT-Next-Web

如果你还没安装 ChatGPT-Next-Web ,可以用下面的命令一键搞定

# 运行容器  
docker run -d \  
   --restart unless-stopped \  
   --name chatgpt-next-web \  
   -p 3059:3000 \  
   -e OPENAI_API_KEY=<你的 key> \  
   -e BASE_URL=http://<你的群晖IP>:3033 \  
   -e CUSTOM_MODELS="-all,+moonshot-v1-8k,+moonshot-v1-32k,+moonshot-v1-128k" \  
   yidadaa/chatgpt-next-web

如果你已经安装过ChatGPT-Next-Web,需要修改三个环境变量参数

  • OPENAI_API_KEY:之前不论你是安装的 FreeGPT35 还是 aurora,这个值都是随便填的,现在必须改为我们前面获取的 key
  • BASE_URL:填写 One API 服务的地址 + 端口
服务名称服务地址
FreeGPT35http://192.168.0.197:3044
aurorahttp://192.168.0.197:8328
GPT4Freehttp://192.168.0.197:1337
kimi-free-apihttp://192.168.0.197:8126
One APIhttp://192.168.0.197:3033
  • CUSTOM_MODELS :用来控制模型列表,使用 + 增加一个模型,使用 - 来隐藏一个模型,使用 模型名=展示名 来自定义模型的展示名,用英文逗号隔开。需改为 -all,+moonshot-v1-8k,+moonshot-v1-32k,+moonshot-v1-128k

重新启动 ChatGPT-Next-Web 容器后,进入的设置,可以看到模型已经改变了

接下来就可以开始聊天了

当然,One API 作为分发系统,还支持充值、兑换、日志等功能

参考文档

songquanpeng/one-api: OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.
地址:https://github.com/songquanpeng/one-api

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/570109.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

知识图谱嵌入领域的重要研究:编辑基于语言模型的知识图谱嵌入

今天&#xff0c;向大家介绍一篇在知识图谱嵌入领域具有重要意义的研究论文——Editing Language Model-based Knowledge Graph Embeddings。这项工作由浙江大学和腾讯公司的研究人员联合完成&#xff0c;为我们在动态更新知识图谱嵌入方面提供了新的视角和方法。 研究背景 在…

Linux安装MongoDB超详细

Linux端安装 我们从MonDB官网下载Linux端的安装包&#xff0c;建议下载4.0版本 打开虚拟机&#xff0c;在虚拟机上安装传输工具lrzsz,将下载好的.tgz包拖到虚拟机当中&#xff0c;拖到/usr/local/mongoDB目录下&#xff0c; [rootserver ~]# yum install -y lrzsz [rootser…

如何使用 Vercel 托管静态网站

今天向大家介绍 Vercel 托管静态网站的几种方式&#xff0c;不熟悉 Vercel 的伙伴可以看一下之前的文章&#xff1a;Vercel: 开发者免费的网站托管平台 Github 部署 打开 Vercel 登录界面&#xff0c;推荐使用 GitHub账号 授权登录。 来到控制台界面&#xff0c;点击 Add New …

四川古力未来科技抖音小店:科技新宠,购物新体验

在当下数字化、智能化的时代&#xff0c;电商平台如雨后春笋般涌现&#xff0c;其中不乏一些富有创新精神和实力雄厚的科技企业。四川古力未来科技有限公司就是其中的佼佼者&#xff0c;其抖音小店更是凭借其独特的魅力和优质的服务&#xff0c;赢得了广大消费者的青睐。 一、科…

6步教你APP广告高效变现,收益翻倍秘诀大揭秘!

移动应用广告变现最佳实践与策略指南 在移动应用市场中&#xff0c;广告变现已成为开发者和公司获取收益的重要途径。然而&#xff0c;如何在保证用户体验的同时&#xff0c;实现广告收入的最大化&#xff0c;成为了众多开发者和公司面临的挑战。本文将为您介绍一些最佳的实践…

Seal^_^【送书活动第2期】——《Flink入门与实战》

Seal^_^【送书活动第2期】——《Flink入门与实战》 一、参与方式二、本期推荐图书2.1 作者简介2.2 编辑推荐2.3 前 言2.4 本书特点2.5 内容简介2.6 本书适用读者2.7 书籍目录 三、正版购买 一、参与方式 评论&#xff1a;"掌握Flink&#xff0c;驭大数据&#xff0c;实战…

nginx配置https及wss

环境说明 服务器的是centos7 nginx版本nginx/1.20.1 springboot2.7.12 nginx安装教程点击这里 微信小程序wss配置 如果您的业务是开发微信小程序&#xff0c; 请先进行如下配置。 boot集成websocket maven <dependency><groupId>org.springframework.boot<…

APP UI自动化测试,思路全总结在这里了

首先想要说明一下&#xff0c;APP自动化测试可能很多公司不用&#xff0c;但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的&#xff0c;所以为了更好的待遇&#xff0c;我们还是需要花时间去掌握的&#xff0c;毕竟谁也不会跟钱过不去。 接下来&#xff0c…

Microsoft Edge:探索你可能未充分利用的8个实用功能

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

实时数据同步工具的真正作用和对应应用场景

在当今商业环境中&#xff0c;企业规模的不断扩大带来了对数据同步的更高要求。实时数据同步解决方案对于确保数据的一致性、提升业务灵活性以及增强决策的精准度具有关键作用。 本文将深入分析实时数据同步技术的关键优势&#xff0c;并探讨其在不同行业场景下的应用价值&…

复习python函数

复习python函数 1.对函数的理解函数的传递方式返回值 return可通过help()函数查看函数说明作用域 2.不定长参数3.递归4.高阶函数将函数作为参数传递将函数作为返回值返回 5.匿名函数6.装饰器 1.对函数的理解 函数可以用来保存一些可执行的代码&#xff0c;并且可以在需要时&am…

前端Vue中async/await、promise 和setTimeout工作原理和执行顺序

前端Vue中async/await、Promise 和 setTimeout 在 JavaScript 中都是处理异步操作的方法&#xff0c;但它们的工作原理和执行顺序有所不同。以下是它们的执行顺序和关系的简要说明&#xff1a; 同步代码执行&#xff1a;在任何异步操作开始之前&#xff0c;首先会执行所有的同步…

vr太阳光参数怎么设置,vr快速渲染方法

VR场景中实现逼真的光照效果&#xff0c;太阳光参数的设置尤为关键。真实的太阳光可提升效果图的质感&#xff0c;论VR太阳光参数的设置技巧&#xff0c;包括光源类型选择、光照强度调整、阴影效果优化等多个方面&#xff0c;喜爱一起来看看vr太阳光真实感设置参数吧。 vr太阳光…

大数据信用风险竟然是这样形成的!查询方法也很简单

在大数据时代背景下&#xff0c;大数据信用风险成为了众多机构关注的焦点。这类风险涵盖了多头借贷、履约行为、联系人以及司法等多个方面。本文将深入解析大数据信用风险的形成原因及其查询方法&#xff0c;让我们一起来探索一下。 大数据信用风险主要表现在以下几个方面&…

Python-GEE遥感云大数据分析、管理与可视化

原文链接&#xff1a;Python-GEE遥感云大数据分析、管理与可视化https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247601238&idx2&sn6b0557cf61451eaff65f025d648da869&chksmfa820db1cdf584a76de953b96519704177e6206d4ecd47a2f2fabbcac2f7ea619b0bce184…

Ubuntu镜像下载与安装2024.4版本(超适合新手)

前言&#xff1a; 在VMware中安装Ubuntu镜像&#xff0c;首先需要去下载镜像&#xff0c;但是由于服务器在国外&#xff0c;下载速度相对较慢&#xff0c;国内也有镜像&#xff0c;较推荐在国内镜像站下载&#xff0c;例如阿里镜像和清华镜像。 官网&#xff1a;Ubuntu系统下…

华为 2024 届实习校园招聘-硬件通⽤/单板开发——第八套

华为 2024 届实习校园招聘-硬件通⽤/单板开发——第八套 部分题目分享&#xff0c;完整版带答案(有答案和解析&#xff0c;答案非官方&#xff0c;未仔细校正&#xff0c;仅供参考&#xff09;&#xff08;共十套&#xff09;获取&#xff08;WX:didadidadidida313&#xff0c…

hover显示播放遮罩层效果

我们都知道视频列表其实是一个封面列表,鼠标放上去时,有反馈:即hover时显示播放遮罩层,点击,跳转到对应的视频播放页。这是目前主流视频网站的一个通用效果。 我们在实现时应该理清思路: 1、每个视频位置处放的是封面图片 2、播放按钮遮罩层需完全覆盖封面图片,并且正…

vLLM-prefix浅析(System Prompt,大模型推理加速)

原文&#xff1a;vLLM-prefix浅析&#xff08;System Prompt&#xff0c;大模型推理加速&#xff09; 简介 本文浅析了在大模型推理加速方面一个非常优秀的项目 vLLM 的一个新特性 Prefix。在 Prompt 中有相同前缀时可以提高吞吐量降低延迟&#xff0c;换句话说可以省去这部分…

【做算法学数据结构】二叉树的层序遍历【二叉树】

文章目录 题目二叉树二叉树描述二叉树的java描述和前序遍历、后序遍历、中序遍历 题解总结以及二叉树应用场景 题目 给你二叉树的根节点 root &#xff0c;返回其节点值 自底向上的层序遍历 。 &#xff08;即按从叶子节点所在层到根节点所在的层&#xff0c;逐层从左向右遍历…