llm-gateway
は、Openai、CohereなどのサードパーティLLMプロバイダー向けのゲートウェイです。これらのプロバイダーから送信および受信したデータベースから送信されたデータを追跡し、送信する前にPIIスクラブヒューリスティックを実行します。
Openaiの非API消費者製品データ使用ポリシーごとに、ChatGptやDall-Eなどの製品を改善するために、「プロンプト、応答、アップロードされた画像、およびサービスを改善するための画像を生成するコンテンツを使用することができます」。
llm-gateway
を使用して、安全な方法でOpenaiと対話します。また、Gatewayは、OpenAI /ChatCompletion
エンドポイントを使用してChatGPT FrontEndを再現し、API内のすべての通信を維持します。
プロバイダー | モデル |
---|---|
Openai | GPT 3.5ターボ |
Openai | GPT 3.5ターボ16K |
Openai | GPT 4 |
AI21ラボ | Jurassic-2 Ultra |
AI21ラボ | ジュラシック2ミッド |
アマゾン | タイタンテキストライト |
アマゾン | Titan Text Express |
アマゾン | タイタンのテキスト埋め込み |
人類 | クロード2.1 |
人類 | クロード2.0 |
人類 | クロード1.3 |
人類 | クロードインスタント |
協力します | 指示 |
協力します | コマンドライト |
協力します | 埋め込み - 英語 |
協力します | 埋め込み - 多言語 |
メタ | llama-2-13b-chat |
メタ | llama-2-70b-chat |
プロバイダーのAPIキーは、環境変数として保存する必要があります(さらに下のセットアップを参照)。 Openaiと通信している場合は、 OPENAI_API_KEY
を設定してください。
Cohere、Openai、およびAWS Bedrockを使用したステップバイステップのセットアップ手順については、ここをクリックしてください。
[openai]例Curl to /completion
endpoint:
curl -X 'POST'
'http://<host>/api/openai/completion'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"temperature": 0,
"prompt": "Tell me what is the meaning of life",
"max_tokens": 50,
"model": "text-davinci-003"
}'
[OpenAI] /chat_completion
エンドポイントを使用する場合、ユーザーとアシスタントの間の会話として策定します。
curl -X 'POST'
'http://<host>/api/openai/chat_completion'
-H 'accept: application/json'
-H 'Content-Type: application/json'
-d '{
"messages": [
{"role": "assistant", "content": "You are an intelligent assistant."},
{"role": "user", "content": "create a healthy recipe"}
],
"model": "gpt-3.5-turbo",
"temperature": 0
}'
from llm_gateway . providers . openai import OpenAIWrapper
wrapper = OpenAIWrapper ()
wrapper . send_openai_request (
"Completion" ,
"create" ,
max_tokens = 100 ,
prompt = "What is the meaning of life?" ,
temperature = 0 ,
model = "text-davinci-003" ,
)
このプロジェクトは、依存と環境管理のために詩、Pyenvを使用しています。開始するには、詩とpyenvの公式インストール文書をチェックしてください。フロントエンド部分の場合、このプロジェクトは依存関係管理にNPMとYARNを使用します。このプロジェクトに必要な最新のノードバージョンは、.node-versionで宣言されています。
Dockerを使用する場合、手順1〜3はオプションです。開発サイクルをスピードアップするために、コミット前のフックをインストールすることをお勧めします。
pyenv install 3.11.3
インストールします brew install gitleaks
poetry install
poetry run pre-commit install
cp .envrc.example .envrc
を実行し、APIシークレットで更新しますDockerで実行する:
# spin up docker-compose
make up
# open frontend in browser
make browse
# open FastAPI Swagger API
make browse-api
# delete docker-compose setup
make down