GPTの対抗馬Claudeの軽量モデルが登場!
日本時間2024/3/14(木)未明、Anthropic社の生成AIモデルであるClaude 3シリーズのラインナップの一つ「Haiku」がリリースされました。
Claude 3には高性能順にOpus、Sonnet、Haikuの3種類のモデルがあります。
詳細は以下の記事もご参照ください。
公式情報まとめ
- 価格が安い:最上位モデルOpusの60分の1の単価!
- レスポンスが速い
- マルチモーダル対応(テキスト+画像の入力が可能)
OpenAIのGPT-4 Turboが 入力: $10 / Mtok、出力: $30 / Mtok なので、Haikuの安さが際立っていますね。
Anthropic公式から触ってみる
公式Webチャットアプリ「Claude.ai」でProプラン(月額20ドル)に加入していればすぐに試すことができます。
テキストボックスにプロンプトを入力すると、送信先のモデルを選べるようになっています。
また、HaikuはClaude公式のAPIとしても即日提供開始されています。
AWSのBedrockから触ってみる
AWSの生成AIサービスAmazon BedrockにもHaikuが同時登場しています。
公式リリースでは米国西部(オレゴン)リージョンで利用可能とありますが、日本時間3/14昼時点で実機を確認すると米国東部(バージニア)リージョンでも確認できました。
AWSマネジメントコンソール(GUI)
まずはAWSアカウントにサインインし、Amazon Bedrock > モデルアクセス からバージニア北部リージョンのClaude 3 Haikuを有効化します。
少し待つとすぐ利用可能になります。
チャットのプレイグラウンドにアクセスすると、画像を添付しての質問も可能です!
API利用(AWS SDK for Python)
基本的にClaude 3 Sonnet on Bedrockと同様のコードで利用可能です。
HaikuのモデルIDは anthropic.claude-3-haiku-20240307-v1:0
となります。
開発環境としてお手軽なAWS Cloud9を利用してみます。
まずAWS SDK for Python(Boto3)とLangChainをアップデートしておきます。
pip install -U boto3 langchain
LangChain等のフレームワークを使わず、素のAWS SDK for PythonでHaikuを動かすコード例は以下です。AWSブログを参考にしています。
import boto3
import json
bedrock_runtime = boto3.client(service_name='bedrock-runtime')
prompt_config = {
"anthropic_version": "bedrock-2023-05-31",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "日本の総理大臣は?"},
],
}
],
}
body = json.dumps(prompt_config)
modelId = "anthropic.claude-3-haiku-20240307-v1:0"
accept = "application/json"
contentType = "application/json"
response = bedrock_runtime.invoke_model(
body=body, modelId=modelId, accept=accept, contentType=contentType
)
response_body = json.loads(response.get("body").read())
results = response_body.get("content")[0].get("text")
print(results)
出力例。爆速でレスポンスが返ってきました!
minorun365:~/environment $ python3 haiku.py
現在の日本の総理大臣は岸田文雄氏です。
岸田文雄氏は2021年10月4日に自民党総裁に選出され、同日の国会で第100代内閣総理大臣に就任しました。
岸田前総理の前は、2020年9月16日から2021年10月4日まで菅義偉氏が総理大臣を務めていました。
このように、日本の総理大臣は定期的に交代しており、直近の歴代総理大臣は以下の通りです。
- 第99代:菅義偉(2020年9月~2021年10月)
- 第100代:岸田文雄(2021年10月~現在)
LangChainでBedrockのClaude 3系を動かすには、LLMモジュールの代わりにChatモジュールの「BedrockChat」を利用します。
from langchain_community.chat_models import BedrockChat
from langchain.schema import HumanMessage
chat = BedrockChat(
region_name = "us-east-1",
model_id="anthropic.claude-3-haiku-20240307-v1:0"
)
result = chat(
[
HumanMessage(content="日本の総理大臣は?"),
]
)
print(result.content)
出力例。爆速でレスポンスが返ってきました!
minorun365:~/environment $ python3 haiku-langchain.py
/home/ec2-user/.local/lib/python3.9/site-packages/langchain_core/_api/deprecation.py:117: LangChainDeprecationWarning: The function `__call__` was deprecated in LangChain 0.1.7 and will be removed in 0.2.0. Use invoke instead.
warn_deprecated(
現在の日本の総理大臣は岸田文雄(きしだ ふみお)さんです。
岸田文雄さんは2021年10月に就任しました。主な経歴は以下の通りです:
- 1957年生まれ、宮城県出身
- 自民党所属の政治家
- 1993年に衆議院議員に初当選
- 2008年から2012年まで外務大臣を務めた
- 2012年から2017年まで政調会長を務めた
- 2021年10月4日に第100代総理大臣に就任
岸田総理は、新型コロナウイルス対策や経済政策、安全保障強化など、様々な課題に取り組んでいます。任期は通常4年ですが、総理大臣の交代は政局の動向により随時あり得ます。
※現状、LangChainを用いるとDeprecatedの警告が出てしまうようです。LangChainのGitHub上で日々Issueがやり取りされています。
また、画像をBase64エンコードした文字列を含めることで、API経由でマルチモーダル入力にも対応しています。
以下の記事を参照のうえ、ぜひ試してみてください!