diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 3dfee9c4..00000000 --- a/README.en.md +++ /dev/null @@ -1,297 +0,0 @@ -
- - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Deployment Tutorial - · - Usage - · - Feedback - · - Screenshots - · - Live Demo - · - FAQ - · - Related Projects - · - Donate -
- -> **Warning**: This README is translated by ChatGPT. Please feel free to submit a PR if you find any translation errors. - -> **Warning**: The Docker image for English version is `justsong/one-api-en`. - -> **Note**: The latest image pulled from Docker may be an `alpha` release. Specify the version manually if you require stability. - -## Features -1. Support for multiple large models: - + [x] [OpenAI ChatGPT Series Models](https://platform.openai.com/docs/guides/gpt/chat-completions-api) (Supports [Azure OpenAI API](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference)) - + [x] [Anthropic Claude Series Models](https://anthropic.com) - + [x] [Google PaLM2 Series Models](https://developers.generativeai.google) - + [x] [Baidu Wenxin Yiyuan Series Models](https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html) - + [x] [Alibaba Tongyi Qianwen Series Models](https://help.aliyun.com/document_detail/2400395.html) - + [x] [Zhipu ChatGLM Series Models](https://bigmodel.cn) -2. Supports access to multiple channels through **load balancing**. -3. Supports **stream mode** that enables typewriter-like effect through stream transmission. -4. Supports **multi-machine deployment**. [See here](#multi-machine-deployment) for more details. -5. Supports **token management** that allows setting token expiration time and usage count. -6. Supports **voucher management** that enables batch generation and export of vouchers. Vouchers can be used for account balance replenishment. -7. Supports **channel management** that allows bulk creation of channels. -8. Supports **user grouping** and **channel grouping** for setting different rates for different groups. -9. Supports channel **model list configuration**. -10. Supports **quota details checking**. -11. Supports **user invite rewards**. -12. Allows display of balance in USD. -13. Supports announcement publishing, recharge link setting, and initial balance setting for new users. -14. Offers rich **customization** options: - 1. Supports customization of system name, logo, and footer. - 2. Supports customization of homepage and about page using HTML & Markdown code, or embedding a standalone webpage through iframe. -15. Supports management API access through system access tokens. -16. Supports Cloudflare Turnstile user verification. -17. Supports user management and multiple user login/registration methods: - + Email login/registration and password reset via email. - + [GitHub OAuth](https://github.com/settings/applications/new). - + WeChat Official Account authorization (requires additional deployment of [WeChat Server](https://github.com/songquanpeng/wechat-server)). -18. Immediate support and encapsulation of other major model APIs as they become available. - -## Deployment -### Docker Deployment -Deployment command: `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-en` - -Update command: `docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR` - -The first `3000` in `-p 3000:3000` is the port of the host, which can be modified as needed. - -Data will be saved in the `/home/ubuntu/data/one-api` directory on the host. Ensure that the directory exists and has write permissions, or change it to a suitable directory. - -Nginx reference configuration: -``` -server{ - server_name openai.justsong.cn; # Modify your domain name accordingly - - location / { - client_max_body_size 64m; - proxy_http_version 1.1; - proxy_pass http://localhost:3000; # Modify your port accordingly - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_cache_bypass $http_upgrade; - proxy_set_header Accept-Encoding gzip; - } -} -``` - -Next, configure HTTPS with Let's Encrypt certbot: -```bash -# Install certbot on Ubuntu: -sudo snap install --classic certbot -sudo ln -s /snap/bin/certbot /usr/bin/certbot -# Generate certificates & modify Nginx configuration -sudo certbot --nginx -# Follow the prompts -# Restart Nginx -sudo service nginx restart -``` - -The initial account username is `root` and password is `123456`. - -### Manual Deployment -1. Download the executable file from [GitHub Releases](https://github.com/songquanpeng/one-api/releases/latest) or compile from source: - ```shell - git clone https://github.com/songquanpeng/one-api.git - - # Build the frontend - cd one-api/web - npm install - npm run build - - # Build the backend - cd .. - go mod download - go build -ldflags "-s -w" -o one-api - ``` -2. Run: - ```shell - chmod u+x one-api - ./one-api --port 3000 --log-dir ./logs - ``` -3. Access [http://localhost:3000/](http://localhost:3000/) and log in. The initial account username is `root` and password is `123456`. - -For more detailed deployment tutorials, please refer to [this page](https://iamazing.cn/page/how-to-deploy-a-website). - -### Multi-machine Deployment -1. Set the same `SESSION_SECRET` for all servers. -2. Set `SQL_DSN` and use MySQL instead of SQLite. All servers should connect to the same database. -3. Set the `NODE_TYPE` for all non-master nodes to `slave`. -4. Set `SYNC_FREQUENCY` for servers to periodically sync configurations from the database. -5. Non-master nodes can optionally set `FRONTEND_BASE_URL` to redirect page requests to the master server. -6. Install Redis separately on non-master nodes, and configure `REDIS_CONN_STRING` so that the database can be accessed with zero latency when the cache has not expired. -7. If the main server also has high latency accessing the database, Redis must be enabled and `SYNC_FREQUENCY` must be set to periodically sync configurations from the database. - -Please refer to the [environment variables](#environment-variables) section for details on using environment variables. - -### Deployment on Control Panels (e.g., Baota) -Refer to [#175](https://github.com/songquanpeng/one-api/issues/175) for detailed instructions. - -If you encounter a blank page after deployment, refer to [#97](https://github.com/songquanpeng/one-api/issues/97) for possible solutions. - -### Deployment on Third-Party Platforms -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- デプロイチュートリアル - · - 使用方法 - · - フィードバック - · - スクリーンショット - · - ライブデモ - · - FAQ - · - 関連プロジェクト - · - 寄付 -
- -> **警告**: この README は ChatGPT によって翻訳されています。翻訳ミスを発見した場合は遠慮なく PR を投稿してください。 - -> **警告**: 英語版の Docker イメージは `justsong/one-api-en` です。 - -> **注**: Docker からプルされた最新のイメージは、`alpha` リリースかもしれません。安定性が必要な場合は、手動でバージョンを指定してください。 - -## 特徴 -1. 複数の大型モデルをサポート: - + [x] [OpenAI ChatGPT シリーズモデル](https://platform.openai.com/docs/guides/gpt/chat-completions-api) ([Azure OpenAI API](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference) をサポート) - + [x] [Anthropic Claude シリーズモデル](https://anthropic.com) - + [x] [Google PaLM2 シリーズモデル](https://developers.generativeai.google) - + [x] [Baidu Wenxin Yiyuan シリーズモデル](https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html) - + [x] [Alibaba Tongyi Qianwen シリーズモデル](https://help.aliyun.com/document_detail/2400395.html) - + [x] [Zhipu ChatGLM シリーズモデル](https://bigmodel.cn) -2. **ロードバランシング**による複数チャンネルへのアクセスをサポート。 -3. ストリーム伝送によるタイプライター的効果を可能にする**ストリームモード**に対応。 -4. **マルチマシンデプロイ**に対応。[詳細はこちら](#multi-machine-deployment)を参照。 -5. トークンの有効期限や使用回数を設定できる**トークン管理**に対応しています。 -6. **バウチャー管理**に対応しており、バウチャーの一括生成やエクスポートが可能です。バウチャーは口座残高の補充に利用できます。 -7. **チャンネル管理**に対応し、チャンネルの一括作成が可能。 -8. グループごとに異なるレートを設定するための**ユーザーグループ**と**チャンネルグループ**をサポートしています。 -9. チャンネル**モデルリスト設定**に対応。 -10. **クォータ詳細チェック**をサポート。 -11. **ユーザー招待報酬**をサポートします。 -12. 米ドルでの残高表示が可能。 -13. 新規ユーザー向けのお知らせ公開、リチャージリンク設定、初期残高設定に対応。 -14. 豊富な**カスタマイズ**オプションを提供します: - 1. システム名、ロゴ、フッターのカスタマイズが可能。 - 2. HTML と Markdown コードを使用したホームページとアバウトページのカスタマイズ、または iframe を介したスタンドアロンウェブページの埋め込みをサポートしています。 -15. システム・アクセストークンによる管理 API アクセスをサポートする。 -16. Cloudflare Turnstile によるユーザー認証に対応。 -17. ユーザー管理と複数のユーザーログイン/登録方法をサポート: - + 電子メールによるログイン/登録とパスワードリセット。 - + [GitHub OAuth](https://github.com/settings/applications/new)。 - + WeChat 公式アカウントの認証([WeChat Server](https://github.com/songquanpeng/wechat-server)の追加導入が必要)。 -18. 他の主要なモデル API が利用可能になった場合、即座にサポートし、カプセル化する。 - -## デプロイメント -### Docker デプロイメント -デプロイコマンド: `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-en`。 - -コマンドを更新する: `docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrr/watchtower -cR`。 - -`-p 3000:3000` の最初の `3000` はホストのポートで、必要に応じて変更できます。 - -データはホストの `/home/ubuntu/data/one-api` ディレクトリに保存される。このディレクトリが存在し、書き込み権限があることを確認する、もしくは適切なディレクトリに変更してください。 - -Nginxリファレンス設定: -``` -server{ - server_name openai.justsong.cn; # ドメイン名は適宜変更 - - location / { - client_max_body_size 64m; - proxy_http_version 1.1; - proxy_pass http://localhost:3000; # それに応じてポートを変更 - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_cache_bypass $http_upgrade; - proxy_set_header Accept-Encoding gzip; - proxy_read_timeout 300s; # GPT-4 はより長いタイムアウトが必要 - } -} -``` - -次に、Let's Encrypt certbot を使って HTTPS を設定します: -```bash -# Ubuntu に certbot をインストール: -sudo snap install --classic certbot -sudo ln -s /snap/bin/certbot /usr/bin/certbot -# 証明書の生成と Nginx 設定の変更 -sudo certbot --nginx -# プロンプトに従う -# Nginx を再起動 -sudo service nginx restart -``` - -初期アカウントのユーザー名は `root` で、パスワードは `123456` です。 - -### マニュアルデプロイ -1. [GitHub Releases](https://github.com/songquanpeng/one-api/releases/latest) から実行ファイルをダウンロードする、もしくはソースからコンパイルする: - ```shell - git clone https://github.com/songquanpeng/one-api.git - - # フロントエンドのビルド - cd one-api/web - npm install - npm run build - - # バックエンドのビルド - cd .. - go mod download - go build -ldflags "-s -w" -o one-api - ``` -2. 実行: - ```shell - chmod u+x one-api - ./one-api --port 3000 --log-dir ./logs - ``` -3. [http://localhost:3000/](http://localhost:3000/) にアクセスし、ログインする。初期アカウントのユーザー名は `root`、パスワードは `123456` である。 - -より詳細なデプロイのチュートリアルについては、[このページ](https://iamazing.cn/page/how-to-deploy-a-website) を参照してください。 - -### マルチマシンデプロイ -1. すべてのサーバに同じ `SESSION_SECRET` を設定する。 -2. `SQL_DSN` を設定し、SQLite の代わりに MySQL を使用する。すべてのサーバは同じデータベースに接続する。 -3. マスターノード以外のノードの `NODE_TYPE` を `slave` に設定する。 -4. データベースから定期的に設定を同期するサーバーには `SYNC_FREQUENCY` を設定する。 -5. マスター以外のノードでは、オプションで `FRONTEND_BASE_URL` を設定して、ページ要求をマスターサーバーにリダイレクトすることができます。 -6. マスター以外のノードには Redis を個別にインストールし、`REDIS_CONN_STRING` を設定して、キャッシュの有効期限が切れていないときにデータベースにゼロレイテンシーでアクセスできるようにする。 -7. メインサーバーでもデータベースへのアクセスが高レイテンシになる場合は、Redis を有効にし、`SYNC_FREQUENCY` を設定してデータベースから定期的に設定を同期する必要がある。 - -Please refer to the [environment variables](#environment-variables) section for details on using environment variables. - -### コントロールパネル(例: Baota)への展開 -詳しい手順は [#175](https://github.com/songquanpeng/one-api/issues/175) を参照してください。 - -配置後に空白のページが表示される場合は、[#97](https://github.com/songquanpeng/one-api/issues/97) を参照してください。 - -### サードパーティプラットフォームへのデプロイ -