デプロイチュートリアル · 使用方法 · フィードバック · スクリーンショット · ライブデモ · FAQ · 関連プロジェクト · 寄付
警告: この README は ChatGPT によって翻訳されています。翻訳ミスを発見した場合は遠慮なく PR を投稿してください。
警告: 英語版の Docker イメージは
justsong/one-api-enです。注: Docker からプルされた最新のイメージは、
alphaリリースかもしれません。安定性が必要な場合は、手動でバージョンを指定してください。
デプロイコマンド: 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 を設定します:
# 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 です。
# フロントエンドのビルド 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
root、パスワードは 123456 である。より詳細なデプロイのチュートリアルについては、このページ を参照してください。
SESSION_SECRET を設定する。SQL_DSN を設定し、SQLite の代わりに MySQL を使用する。すべてのサーバは同じデータベースに接続する。NODE_TYPE を slave に設定する。SYNC_FREQUENCY を設定する。FRONTEND_BASE_URL を設定して、ページ要求をマスターサーバーにリダイレクトすることができます。REDIS_CONN_STRING を設定して、キャッシュの有効期限が切れていないときにデータベースにゼロレイテンシーでアクセスできるようにする。SYNC_FREQUENCY を設定してデータベースから定期的に設定を同期する必要がある。Please refer to the environment variables section for details on using environment variables.
詳しい手順は #175 を参照してください。
配置後に空白のページが表示される場合は、#97 を参照してください。
Zeabur のサーバーは海外にあるため、ネットワークの問題は自動的に解決されます。Zeabur へのデプロイ
create database `one-api` を実行してデータベースを作成する。PORT に 3000 を追加し、SQL_DSN に <username>:<password>@tcp(<addr>:<port>)/one-api を追加します。変更を保存する。SQL_DSN` が設定されていないと、データが永続化されず、再デプロイ後にデータが失われるので注意すること。
システムは箱から出してすぐに使えます。
環境変数やコマンドラインパラメータを設定することで、システムを構成することができます。
システム起動後、root ユーザーとしてログインし、さらにシステムを設定します。
Channels ページで API Key を追加し、Tokens ページでアクセストークンを追加する。
アクセストークンを使って One API にアクセスすることができる。使い方は OpenAI API と同じです。
OpenAI API が使用されている場所では、API Base に One API のデプロイアドレスを設定することを忘れないでください(例: https://openai.justsong.cn)。API Key は One API で生成されたトークンでなければなりません。
具体的な API Base のフォーマットは、使用しているクライアントに依存することに注意してください。
graph LR
A(ユーザ)
A --->|リクエスト| B(One API)
B -->|中継リクエスト| C(OpenAI)
B -->|中継リクエスト| D(Azure)
B -->|中継リクエスト| E(その他のダウンストリームチャンネル)
現在のリクエストにどのチャネルを使うかを指定するには、トークンの後に チャネル ID を追加します: 例えば、Authorization: Bearer ONE_API_KEY-CHANNEL_ID のようにします。
チャンネル ID を指定するためには、トークンは管理者によって作成される必要があることに注意してください。
もしチャネル ID が指定されない場合、ロードバランシングによってリクエストが複数のチャネルに振り分けられます。
REDIS_CONN_STRING: 設定すると、リクエストレート制限のためのストレージとして、メモリの代わりに Redis が使われる。
REDIS_CONN_STRING=redis://default:redispw@localhost:49153SESSION_SECRET: 設定すると、固定セッションキーが使用され、システムの再起動後もログインユーザーのクッキーが有効であることが保証されます。
SESSION_SECRET=random_stringSQL_DSN: 設定すると、SQLite の代わりに指定したデータベースが使用されます。MySQL バージョン 8.0 を使用してください。
SQL_DSN=root:123456@tcp(localhost:3306)/oneapiFRONTEND_BASE_URL: 設定されると、バックエンドアドレスではなく、指定されたフロントエンドアドレスが使われる。
FRONTEND_BASE_URL=https://openai.justsong.cnSYNC_FREQUENCY: 設定された場合、システムは定期的にデータベースからコンフィグを秒単位で同期する。設定されていない場合、同期は行われません。
SYNC_FREQUENCY=60NODE_TYPE: 設定すると、ノードのタイプを指定する。有効な値は master と slave である。設定されていない場合、デフォルトは master。
NODE_TYPE=slaveCHANNEL_UPDATE_FREQUENCY: 設定すると、チャンネル残高を分単位で定期的に更新する。設定されていない場合、更新は行われません。
CHANNEL_UPDATE_FREQUENCY=1440CHANNEL_TEST_FREQUENCY: 設定すると、チャンネルを定期的にテストする。設定されていない場合、テストは行われません。
CHANNEL_TEST_FREQUENCY=1440POLLING_INTERVAL: チャネル残高の更新とチャネルの可用性をテストするときのリクエスト間の時間間隔 (秒)。デフォルトは間隔なし。
POLLING_INTERVAL=5--port <port_number>: サーバがリッスンするポート番号を指定。デフォルトは 3000 です。
--port 3000--log-dir <log_dir>: ログディレクトリを指定。設定しない場合、ログは保存されません。
--log-dir ./logs--version: システムのバージョン番号を表示して終了する。--help: コマンドの使用法ヘルプとパラメータの説明を表示。BASE_URL を設定しないでください。FastGPT: LLM に基づく知識質問応答システム
本プロジェクトはオープンソースプロジェクトです。OpenAI の利用規約および適用される法令を遵守してご利用ください。違法な目的での利用はご遠慮ください。
このプロジェクトは MIT ライセンスで公開されています。これに基づき、ページの最下部に帰属表示と本プロジェクトへのリンクを含める必要があります。
このプロジェクトを基にした派生プロジェクトについても同様です。
帰属表示を含めたくない場合は、事前に許可を得なければなりません。
MIT ライセンスによると、このプロジェクトを利用するリスクと責任は利用者が負うべきであり、このオープンソースプロジェクトの開発者は責任を負いません。