このプロジェクトについて
# One API
標準的なOpenAI API形式ですべての大規模言語モデルにアクセスできる、箱開き利用可能なプラットフォーム。
## サポート対象モデルとチャンネル
- OpenAI ChatGPTシリーズ(Azure OpenAI含む)
- Anthropic Claudeシリーズ(AWS Claude含む)
- Google PaLM2 / Geminiシリーズ
- Mistralシリーズ
- 字节跳动豆包(火山引擎)
- 百度文心一言
- アリババ通義千問
- 訊飛星火
- 智譜ChatGLM
- 360知脳
- 騰訊混元
- Moonshot AI、百川、MINIMAX、DeepSeek
- Groq、Ollama、零一萬物、階躍星辰、Coze
- Cohere、Cloudflare Workers AI、together.ai、novita.ai
- 硅基流動SiliconCloud、xAI、DeepLなど
## コア機能
1. **統一API適応**:すべてのチャンネルをOpenAI互換形式で提供し、呼び出し側コード変更なしでモデル切替可能。
2. **ロードバランシング**:複数チャンネルのルーティングに対応し、グループ倍率で自動リクエスト配分。
3. **トークン管理**:各アクセストークンに期限・額上限・許可IP範囲・モデルリストを設定可能。
4. **チャンネル管理**:複数下流チャンネルの一括作成・管理、個別モデルリスト設定に対応。
5. **ユーザーグループ**:グループ別に異なる倍率と権限を設定。
6. **交換コード**:アカウントチャージ用の交換コードを一括生成・エクスポート。
7. **失敗時自動リトライ**:上流チャンネル失敗時に他の利用可能チャンネルへ自動切替。
8. **画像生成インターフェース**:画像生成リレー対応。
9. **招待報酬**:ユーザー招待メカニズム対応。
10. **マルチマシンデプロイ**:master/slaveアーキテクチャによる分散デプロイ、Redis連携でキャッシュ同期。
11. **カスタマイズ**:システム名・ロゴ・フッター・トップページ・概要ページのカスタマイズ対応。
12. **ログイン方式**:メール登録、Feishu認証、GitHub認証、WeChat公式アカウント認証に対応。
13. **Cloudflare AI Gateway**:直接連携可能。
14. **テーマ切替**:UIテーマの変更に対応。
## デプロイ方法
### Dockerデプロイ(推奨)
```shell
# SQLiteモード
docker run --name one-api -d --restart always -p 3000:3000 \
-e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \
justsong/one-api
# MySQLモード
docker run --name one-api -d --restart always -p 3000:3000 \
-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \
-e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \
justsong/one-api
```
初期アカウント:ユーザー名 `root`、パスワード `123456`。
### Docker Composeデプロイ
```shell
docker-compose up -d
```
データは`./data/mysql`ディレクトリに保存されます。
### 手動デプロイ
```shell
git clone https://github.com/songquanpeng/one-api.git
cd one-api/web/default && npm install && npm run build
cd ../.. && go mod download && go build -ldflags "-s -w" -o one-api
./one-api --port 3000 --log-dir ./logs
```
### 第三者プラットフォーム
Sealos、Zeabur、Renderなどのワンクリックデプロイに対応し、宝塔パネルとも互換性あり。
## 使用方法
1. 「チャンネル」ページで各モデルのAPI Keyを追加。
2. 「トークン」ページで指定ユーザーのアクセストークンを作成。
3. クライアントのAPI BaseをOne APIアドレス(例:`https://your-domain/v1`)、API Keyを生成したトークンに設定。
チャンネル指定はトークンの後に`-CHANNEL_ID`を付加することで可能。例:`Authorization: Bearer ONE_API_KEY-1`。
## 環境変数要点
| 変数 | 説明 |
|---|---|
| `REDIS_CONN_STRING` | Redisキャッシュを有効化 |
| `SESSION_SECRET` | 固定セッションキー、再起動後もログイン状態維持 |
| `SQL_DSN` | SQLiteの代わりにMySQL/PostgreSQLを使用 |
| `SYNC_FREQUENCY` | キャッシュ同期頻度(秒)、マルチマシンデプロイ推奨設定 |
| `NODE_TYPE` | `master`または`slave`、マルチマシンデプロイ用 |
| `FRONTEND_BASE_URL` | サーバーからフロントエンドリクエストをリダイレクト |
| `INITIAL_ROOT_TOKEN` | 初回起動時に自動的にrootトークンを作成 |
## オープンソースライセンス
MITライセンス。ページ下部に attributionおよび本プロジェクトへのリンク表記を必須。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.