一键接入大模型:One-Api本地安装配置实操

前言

最近准备学习一下 Semantic Kernel, OpenAIApi 申请麻烦,所以想通过 One-api 对接一下国内的在线大模型,先熟悉一下 Semantic Kernel 的基本用法,本篇文章重点记录一下OneApi安装配置的过程。

讯飞星火有 3.5 模型的 200w 个人免费 token,可以拿来学习。

讯飞星火申请链接

什么是 One-Api?

通过标准的 OpenAI API 格式访问所有的大模型

支持多种大模型:

  • OpenAI ChatGPT 系列模型(支持 Azure OpenAI API)
  • Anthropic Claude 系列模型 (支持 AWS Claude)
  • Google PaLM2/Gemini 系列模型
  • Mistral 系列模型
  • 百度文心一言系列模型
  • 阿里通义千问系列模型
  • 讯飞星火认知大模型
  • 智谱 ChatGLM 系列模型
  • 360 智脑
  • 腾讯混元大模型
  • Moonshot AI
  • 百川大模型
  • 字节云雀大模型 (WIP)
  • MINIMAX
  • Groq
  • Ollama
  • 零一万物
  • 阶跃星辰
  • Coze
  • Cohere
  • DeepSeek
  • Cloudflare Workers AI
  • DeepL

one-api github repo

本地 Docker Destop 安装 One-Api

  • 先拉取 one-api 镜像
cmd 复制代码
docker pull justsong/one-api

使用 SQLite 的部署命令:

  • 启动容器 默认宿主机端口为 3000
cmd 复制代码
docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v C:/LLM/OneApi-V-Data:/data justsong/one-api

因为我的宿主机是 Windows 的操作系统所以数据卷映射的宿主机盘需要注意是带 Windows 盘符

one-api 配置界面

浏览器打开http://localhost:3000/

  • 默认 root 账号
    one-api 提供了开箱即用的功能,有一个默认的root账号,密码是123456

第一次登录后需要修改密码。

配置渠道

  • 配置讯飞星火 3.5 模型!
  • 查看渠道列表

密钥这个地方需要注意格式:APPID|APISecret|APIKey

  • 申请令牌

拿到密钥就可以在我们项目中以 OpenAI 格式去请求我们的大模型接口

测试

  • 在接口测试工具先看一下效果

地址

curl 复制代码
http://localhost:3000/v1/chat/completions

请求头

Header 复制代码
Authorization:Bearer {OneApiToken}
  • 接口管理工具查看效果

接口入参

json 复制代码
{
  "model": "SparkDesk-v3.5",
  "messages": [
    {
      "role": "user",
      "content": "给我讲个笑话吧。"
    }
  ],
  "temperature": 0.7
}

接口回参

c# 复制代码
{
  "id": "chatcmpl-04025f1484c54770a8d854de360fd06e",
  "object": "chat.completion",
  "created": 1715000959,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "当然可以,这是一个我最近听到的笑话:\n\n有一天,一只猫走进了一个酒吧,然后走到吧台前坐下,对酒保说:"我要一杯牛奶。"\n\n酒保惊讶地看着猫,然后说:"你是我见过的第一只会说话的猫。"\n\n猫看着酒保,回答说:"考虑到你的服务速度,我也没什么好惊讶的。""
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 6,
    "completion_tokens": 75,
    "total_tokens": 81
  }
}

最后

到现在为止我们的 One-Api 对接讯飞星火已经成功了,后面就可以愉快的进入 Semantic Kernel 入门学习的教程啦,社区内也有大佬提供了星火大模型的 SDK(Sdcb.SparkDesk)通过SK的 CustomLLM 实现ITextGenerationService等接口也可以愉快的使用SK当然这也是我们后面要学习的内容。

参考文献

实战教学:用 Semantic Kernel 框架集成腾讯混元大模型应用