LoginSignup
6
4

litellmを利用してAzure OpenAIとAmazon BedrockのチャットAPIを共通的に呼び出す

Posted at

背景

ライブラリインストール

以下ライブラリをインストール。pip や pipenv などで

litellm
jinja2
boto3

※ litellm のバージョンは 0.1.813 より新しいものを使う。Bedrock が使えないバグが修正されている

認証

今回は pipenv を利用するので .env ファイルを準備。
必要な認証情報を選択

AZURE_API_KEY=<Azure API キー>
AZURE_API_BASE=<APIエンドポイント>
AZURE_API_VERSION=2023-05-15

AWS_REGION_NAME=<リージョン>
AWS_ACCESS_KEY_ID=<アクセスキーID>
AWS_SECRET_ACCESS_KEY=<シークレットアクセスキー>
AWS_SESSION_TOKEN=<セッショントークン>

スクリプト

以下サンプル。呼び出し処理やレスポンスが共通化されている

from litellm import completion

# azure call
response = completion(
    "azure/デプロイしたgpt4系のモデル", messages=[{"content": "日本の初代総理大臣は誰ですか。", "role": "user"}]
)
print(response["choices"][0]["message"]["content"])

# bedrock call
response2 = completion(
    model="bedrock/anthropic.claude-v2",
    messages=[{"content": "日本の初代総理大臣は誰ですか。", "role": "user"}],
)
print(response2["choices"][0]["message"]["content"])

実行結果

日本の初代総理大臣は伊藤博文(いとう ひろぶみ)です。彼は1885年に日本の初代内閣制度が開始されると、そのトップとして初代内閣総理大臣に就任しました。
日本の初代総理大臣は伊藤博文です。

1885年に内閣制度が導入され、翌1886年に第一回内閣が成立した際に、伊藤博文が初代の内閣総理大臣に就任しました。以後、内閣総理大臣は日本の政府の長としての役割を果たすことになります。
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4