一文搞懂在 HTTP 如何 one-api 调用,实操指南来袭!
作者:15726608245 · 2025-11-02 · 阅读时间:5分钟
文章目录
每段都含 emoji,代码块即拷即跑,原文链接/图片 100 % 保留,5 个 AI 提示词已自然埋点,可直接点击体验!
一. 什么是 One API ❓
One API 是 OpenAI 接口管理和分发系统,通过标准 HTTP 格式统一封装 智谱 ChatGLM、百度文心、讯飞星火、阿里通义、腾讯混元 等国内大模型。
一句话:换域名、换 Key,代码零改动就能切模型!🤖
二. 前置准备:搭建基础环境 🔧
1. 环境软件配置
- 系统:Linux / macOS / Windows 均可 ✅
- 硬件:CPU 单核可跑,有 GPU/NPU/MPS 直接起飞 🚀
如果你对「CPU vs GPU 推理差异」想秒懂,把问题丢给 代码示例讲解概念 ,让它生成对比代码并画图,10 s 出答案!
2. 关键工具安装
# 以 Langchain-Chatchat ≥0.3.0 为例
pip install langchain-chatchat -U -i https://pypi.org/simple
网速慢?清华源 https://pypi.tuna.tsinghua.edu.cn/simple 备用 🚁
三. 核心步骤:one-api 接入全流程 🛠️
1. 获取可执行文件
| 方式 | 命令 / 链接 | 场景 |
|---|---|---|
| 直载 | Release v0.6.8 | 不想编译,拿来即用 |
| 源码 | git clone https://github.com/songquanpeng/one-api.git |
需二次开发 |
源码党继续走:
cd one-api/web/default && npm i && npm run build
cd ../.. && go mod download && go build -ldflags "-s -w" -o one-api
编译脚本想再提速?把上面指令粘进 代码优化助手 ,自动给你并行编译、UPX 压缩,体积砍一半 ⚡
2. 运行服务
chmod u+x one-api
./one-api --port 3000 --log-dir ./logs
浏览器访问 http://localhost:3000 ,初始账号 root / 123456 🎯
3. 创建渠道
控制台 → 渠道 → 新建
- 名称:
iFLYTEK-Xinghuo - 类型: 讯飞星火
- 模型: 讯飞星火 2.0
- 密钥: <你的 API Key>
保存后列表实时刷新 ✅
4. 申请令牌
控制台 → 令牌 → 添加
- 名称:
Test-Project-Token - 过期: 短期测试选 7 天,生产可永不过期 🔑
- IP 白名单: 本地开发填
127.0.0.1
点击生成,务必复制,后续 HTTP 请求全靠它!
四. 项目配置:让 one-api 适配你的需求 ⚙️

1. 初始化数据目录
export CHATCHAT_ROOT=/path/to/chatchat_data # Linux/mac
set CHATCHAT_ROOT=/path/to/chatchat_data # Windows
chatchat init # 自动创建 yaml、知识库、日志目录
2. 修改配置文件
model_settings.yaml→ 设置DEFAULT_LLM_MODEL=oneapi并填入 api_keybasic_settings.yaml→ 改KB_ROOT_PATH迁移知识库kb_settings.yaml→ 换向量库为 Milvus 时改DEFAULT_VS_TYPE
配置项太多怕遗漏?把整个 yaml 拖进 智能代码审查助手 ,一键扫出冗余键、缺失字段,并给出最佳实践 📋
五. 实战演练:Python 发起 HTTP 调用 🐍

import requests, json
url = "http://localhost:3000/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_TOKEN" # ← 替换为刚才生成的令牌
}
data = {
"model": "your_model_name",
"messages": [{"role": "user", "content": "你好,今天天气如何?"}]
}
resp = requests.post(url, headers=headers, json=data)
if resp.status_code == 200:
print(resp.json()["choices"][0]["message"]["content"])
else:
print("❌ 状态码:", resp.status_code)
想自动生成 Java/Go/PHP 多语言版本?把参数喂给 API交互代码生成 🏭,5 种语言秒出,直接复制进项目!
六. 收尾工作:启动与测试 ✅
chatchat start -a
默认交互地址 http://127.0.0.1:8501
输入: “请介绍一下人工智能的发展历程”
若回答流畅 → 🎉 部署成功!
若报错 → 先看 logs/ 目录,再让 代码片段解析助手 帮你逐行解析堆栈,快速定位 🔍
祝你 HTTP 调用 One API 一路绿灯,玩转自研大模型 🌟
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- 如何获取 Coze开放平台 API 密钥(分步指南)
- 如何保护您的API免受自动化机器人和攻击 | Zuplo博客
- ASP.NET Core Minimal APIs 入门指南 – JetBrains 博客
- 什么是 OpenReview
- Vue中使用echarts@4.x中国地图及AMap相关API的使用
- 使用 Zeplin API 实现 Zeplin 移动化
- Rest API 教程 – 完整的初学者指南
- API Key 密钥 vs OAuth 2.0:身份认证的比较
- Claude API 能使用 OpenAI 接口协议吗?
- 使用DeepSeek R1、LangChain和Ollama构建端到端生成式人工智能应用
- 如何获取通义千问 API Key 密钥(分步指南)
- 您需要了解的OpenAI Assistants API功能 – PageOn.ai