本プロジェクトでは、Anthropic の Claude モデルの API を OpenAI Chat API 形式に変換しています。
- ✨ OpenAI ChatGPT API のように Claude API を呼び出す
- 💦 ストリーミングレス対応
- 🐻
claude-instant-1
,claude-2
のモデルをサポートする - 🌩️ Cloudflare Workers や Docker でデプロイする
このプロジェクトは、Cloudflare Workers または Docker を使用して実行することができます:
Cloudflare Workers を利用することで、このプロジェクトを展開するためのサーバーが不要になります。
- Cloudflare Worker を作成する
Cloudflare-worker.js
のコードを Cloudflare Worker の "Quick Edit" エディタに貼り付けます。- 保存してデプロイする
- オプションとして、Cloudflare Worker にカスタムドメインを設定します
Cloudfalre Workers は 1 日 10 万件のリクエストをサポートしていますが、それ以上呼ぶ必要がある場合は、以下のように Docker を使ってデプロイします。
docker run -p 8000:8000 wtzeng/claude-to-chatgpt:latest
docker-compose up
その後、http://localhost:8000、API が利用できるようになります。API エンドポイント: /v1/chat/completions
モデルパラメータを gpt-3.5-turbo
または gpt-3.5-turbo-0613
と入力すると claude-instant-1
に置換されます。
このプロジェクトをサポートする、おすすめの GUI ソフトをご紹介します:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $CLAUDE_API_KEY" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}]
}'
Claude Completion API にはエンドポイント /v1/complete
があり、以下の JSON リクエストを受け取ります:
{
"prompt": "\n\nHuman: Hello, AI.\n\nAssistant: ",
"model": "claude-instant-1",
"max_tokens_to_sample": 100,
"temperature": 1,
"stream": true
}
そして、選択肢と完了を含む JSON を返します。
OpenAI Chat API には同様の /v1/chat/completions
エンドポイントがあり、これは次のように受け取ります:
{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "Hello, AI."
}
],
"max_tokens": 100,
"temperature": 1,
"stream": true
}
そして、応答文字列を持つ JSON を返します。
このプロジェクトはこれら 2 つの API 間を変換し、Claude モデルから完了を取得し、OpenAI Chat のレスポンスとしてフォーマットします。
このプロジェクトは MIT ライセンスでライセンスされています - 詳しくは、LICENSE ファイルをご覧ください。