one-api搭建大模型API平台

news/2024/10/15 12:04:24/
aidu_pl">

one-api搭建大模型API平台

  • 前言
  • 一、Docker部署
  • 二、登录
  • 三、添加渠道
  • 四、调用
  • 总结

GitHub地址:https://github.com/songquanpeng/one-api

前言

one-api接入了:
● OpenAI ChatGPT 系列模型(支持 Azure OpenAI API)
● Anthropic Claude 系列模型
● Google PaLM2/Gemini 系列模型
● Mistral 系列模型
● 百度文心一言系列模型
● 阿里通义千问系列模型
● 讯飞星火认知大模型
● 智谱 ChatGLM 系列模型
● 360 智脑
● 腾讯混元大模型
● Moonshot AI
● 百川大模型
● 字节云雀大模型 (WIP)
● MINIMAX
● Groq
● Ollama
● 零一万物
等大模型,并提供了统一的,遵循了OpenAI的API

一、Docker部署

java">docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /users/xiaoqi/one-api:/data justsong/one-api

启动完之后,访问:http://localhost:3000/
在这里插入图片描述

二、登录

然后进行登录,初始账号用户名为 root,密码为 123456。

三、添加渠道

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、调用

点击复制获得ApiKey,比如"sk-xxxxxx",这个ApiKey是你现在搭建的本地的one-api得ApiKey,不能用于OpenAI或其他代理。
在这里插入图片描述
然后就可以像使用OpenAI一样进行调用了,把baseUrl和apiKey改为本地地址和刚刚生成的ApiKey即可:

java">package com.qjc.demo;import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.openai.OpenAiChatModel;/**** @projectName langchain4j-project-1* @packageName com.qjc.demo* @author qjc* @description TODO* @Email qjc1024@aliyun.com* @date 2024-10-15 10:30**/
public class TestAI {public static void main(String[] args) {ChatLanguageModel model = OpenAiChatModel.builder().baseUrl("http://localhost:3000/v1").apiKey("sk-xxxxxx").build();System.out.println(model.generate("你好"));}
}

总结

渠道可以简单理解为各个大模型厂商,可以是原始厂商,也支持代理厂商,每家厂商又可以支持多种模型。

仅超级管理员有权设置,普通用户是看不到的。作用就是为不同分组的用户添加可用的大模型,并设置可用额度。

如何理解呢?假如你要用这个系统来代理3种大模型并推广商用,别人花钱来买你这个服务。如果你确定VIP用户可以使用其中的2中模型,SVIP可以使用全部3种,那么你就在渠道中分别给VIP和SVIP分组添加相应的大模型渠道即可。当然,如果你只是自己用,随便折腾就行,怎么方便怎么来。

以上我们已经安装并配置好了One API系统,那么如何给终端使用呢?其实很简单,使用客户端或编程的方式调用One API的API接口就行了,使用方式与OpenAI API一致。相当于只需要将OpenAI的网址改成你部署的One API系统的网址、将OpenAI的API Key改成你的令牌即可。One API将代理用户向实际的大模型发出请求并接收响应,如下图所示:
在这里插入图片描述
另外需要特殊说明的下,上文我们提到每个用户分组是可以支持多个渠道的(即多个模型负载均衡),如果你在客户端想指定使用某个渠道,可以通过在令牌后面添加渠道 ID 的方式指定使用哪一个渠道处理本次请求,例如:Authorization: Bearer ONE_API_KEY-CHANNEL_ID。 注意,需要是管理员用户创建的令牌才能指定渠道ID。


http://www.ppmy.cn/news/1539423.html

相关文章

计算机网络——p2p

流媒体是指在网络上以流式传输技术实时播放的多媒体内容,如音频、视频等。以下是关于流媒体的详细介绍: 一、工作原理 数据分割与传输: 流媒体技术将多媒体文件分割成较小的数据包。这些数据包按照特定的顺序进行编号,然后通过网络…

MC802单片机:触控未来,8位高性能与多IO接口的完美结合

MC802单片机:开启智能生活新篇章 MC802 (2 Touch Key 4 I/O) MC802是由厦门晶尊微电子科技有限公司(ICman)推出的一款高性能8位单片机,它集成了2个自校正容性触摸按键和4个I/O口,专为需要多…

简单实现手机、电脑相互操作

1、从手机截图到sdcard 2、将图片导出到PC 3、从PC加载图片 4、开启定时器 5、操作电脑UI事件 1、 private static void takeScreenshot(String path) {long t1 System.currentTimeMillis();String command "adb devices"; // 替换为你需要执行的shell命令Str…

Python知识点:基于Python技术,如何使用TensorFlow进行自动驾驶模型训练

开篇,先说一个好消息,截止到2025年1月1日前,翻到文末找到我,赠送定制版的开题报告和任务书,先到先得!过期不候! 使用TensorFlow进行自动驾驶模型训练的Python技术详解 自动驾驶技术是人工智能领…

Spring Boot课程支持:智能答疑系统

1系统概述 1.1 研究背景 如今互联网高速发展,网络遍布全球,通过互联网发布的消息能快而方便的传播到世界每个角落,并且互联网上能传播的信息也很广,比如文字、图片、声音、视频等。从而,这种种好处使得互联网成了信息传…

SaaS架构:中央库存系统架构设计

大家好,我是汤师爷~ 近年来,越来越多的零售企业大力发展全渠道业务。在销售额增长上,通过线上的小程序、直播、平台渠道等方式,拓展流量变现渠道。在会员增长方面,通过多样的互动方式,全渠道触达消费者&am…

二、创建型(工厂方法模式)

工厂方法模式 概念 工厂方法模式是一种创建型设计模式,它定义了一个创建对象的接口,但由子类决定要实例化的类。工厂方法将实例化逻辑推迟到子类,使得代码更加灵活和可扩展。 应用场景 产品系列:当系统需要创建一系列相关或相互…

Linux操作系统小项目——实现《进程池》

文章目录 前言:代码实现:原理讲解:细节处理: 前言: 在前面的学习中,我们简单的了解了下进程之间的通信方式,目前我们只能知道父子进程的通信是通过匿名管道的方式进行通信的,这是因…