単純化された中国語|
機能|
重要
V0.7.0以降に構成に大きな調整があり、以前のバージョンと互換性がありません。 UIを介して構成する方が便利で、より強力な構成オプションを提供します。
Openai-Forwardは、大規模な言語モデル向けの効率的な転送サービスです。そのコア機能には、ユーザー要求レート制御、トークンレートの制限、インテリジェントな予測キャッシュ、ログ管理、APIキー管理などが含まれ、効率的で便利なモデル転送サービスを提供することを目指しています。 プロキシローカル言語モデルであろうと、LocalaiやOpenaiなどのクラウド言語モデルであろうと、Openai Forwardで簡単に実装できます。 Uvicorn、AIOHTTP、Asyncioなどのライブラリのサポートのおかげで、Openai-Forwardは優れた非同期パフォーマンスを達成しています。
このプロジェクトによって構築されたエージェントサービスアドレス:
オリジナルのOpenaiサービスアドレス
https://api.openai-forward.com
https://render.openai-forward.com
キャッシュを有効にするサービスアドレス(ユーザー要求の結果は一定期間保存されます)
https://smart.openai-forward.com
ドキュメントを展開します
インストール
pip install openai-forward
# 或安装webui版本:
pip install openai-forward[webui]
サービスを開始します
aifd run
# 或启动带webui的服务
aifd run --webui
ルートパスの.env
構成を読むと、次の起動情報が表示されます
❯ aifd run
╭────── ? openai-forward is ready to serve ! ───────╮
│ │
│ base url https://api.openai.com │
│ route prefix / │
│ api keys False │
│ forward keys False │
│ cache_backend MEMORY │
╰────────────────────────────────────────────────────╯
╭──────────── ⏱️ Rate Limit configuration ───────────╮
│ │
│ backend memory │
│ strategy moving-window │
│ global rate limit 100/minute (req) │
│ /v1/chat/completions 100/2minutes (req) │
│ /v1/completions 60/minute ; 600/hour (req) │
│ /v1/chat/completions 60/second (token) │
│ /v1/completions 60/second (token) │
╰────────────────────────────────────────────────────╯
INFO: Started server process [191471]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
aifd run
のデフォルトオプションは、プロキシhttps://api.openai.com
です
以下は、確立されたサービスアドレスhttps://api.openai-forward.com
の例です。
Python
from openai import OpenAI # pip install openai>=1.0.0
client = OpenAI(
+ base_url="https://api.openai-forward.com/v1",
api_key="sk-******"
)
適用可能なシナリオ: Localai、API-for-open-llm、およびその他のプロジェクトで使用されます
方法: http:// localhost:8080にlocalaiサービスを展開している場合、 FORWARD_CONFIG=[{"base_url":"http://localhost:8080","route":"/localai","type":"openai"}]
その後、http:// localhost:8000/localaiにアクセスして、Localaiを使用できます。
(もっと)
環境変数または.ENVファイルを次のように構成します。
FORWARD_CONFIG = [{"base_url":"https://generativelanguage.googleapis.com","route":"/gemini","type":"general"}]
注: aidf run
が開始された後、http:// localhost:8000/geminiにアクセスして、Gemini Proを使用できます。
シナリオ1:ユニバーサル転送を使用して、任意のソースからサービスを転送すると、リクエストレート制御とトークンレート制御を取得できます。
シナリオ2:多くのクラウドモデルのAPI形式は、Litellmを介してOpenaiのAPI形式に変換し、Openaiスタイルを使用して転送できます
(もっと)
aifd run --webui
を実行して構成ページを入力します(デフォルトのサービスアドレスhttp:// localhost:8001)
プロジェクトの実行ディレクトリに.ENVファイルを作成して、さまざまな構成をカスタマイズできます。ルートディレクトリの.env.exampleファイルは、参照構成で表示できます。
キャッシュが有効になると、指定されたルートの内容がキャッシュされ、転送タイプはそれぞれopenai
であり、動作はgeneral
的なgeneral
を使用する場合、デフォルトでキャッシュを使用して返されます。
openai
転送を使用する場合、キャッシュを開いた後、Openaiのextra_body
パラメーターを使用して、キャッシュ動作を制御できます。
Python
from openai import OpenAI
client = OpenAI(
+ base_url="https://smart.openai-forward.com/v1",
api_key="sk-******"
)
completion = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Hello!"}
],
+ extra_body={"caching": True}
)
カール
curl https://smart.openai.com/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer sk-****** "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}],
"caching": true
} '
.envファイルを参照してください
ユースケース:
import openai
+ openai.api_base = "https://api.openai-forward.com/v1"
- openai.api_key = "sk-******"
+ openai.api_key = "fk-******"
.env.example
、同じポートへの異なるルートに異なるアドレスを持つサービスを転送するためにユースケースを使用してください。
保存パスは、現在のディレクトリのLog/openai/chat/chat.log
パスにあります。
レコード形式はです
{'messages': [{'role': 'user', 'content': 'hi'}], 'model': 'gpt-3.5-turbo', 'stream': True, 'max_tokens': None, 'n': 1, 'temperature': 1, 'top_p': 1, 'logit_bias': None, 'frequency_penalty': 0, 'presence_penalty': 0, 'stop': None, 'user': None, 'ip': '127.0.0.1', 'uid': '2155fe1580e6aed626aa1ad74c1ce54e', 'datetime': '2023-10-17 15:27:12'}
{'assistant': 'Hello! How can I assist you today?', 'is_tool_calls': False, 'uid': '2155fe1580e6aed626aa1ad74c1ce54e'}
json
形式に変換:
aifd convert
chat_openai.json
を入手:
[
{
"datetime" : " 2023-10-17 15:27:12 " ,
"ip" : " 127.0.0.1 " ,
"model" : " gpt-3.5-turbo " ,
"temperature" : 1 ,
"messages" : [
{
"user" : " hi "
}
],
"tools" : null ,
"is_tool_calls" : false ,
"assistant" : " Hello! How can I assist you today? "
}
]
このプロジェクトに貢献することは、プルリクエストを送信したり、リポジトリに質問を提起することで大歓迎です。
Openai-ForwardはMITライセンスを使用します。