このプロジェクトについて

# 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および本プロジェクトへのリンク表記を必須。