FIXER Tech Blog - AI/Machine Learning
生成AI基盤のAmazon BedrockでTitan Embeddingsを試してみる
2023年10月18日 10時00分更新
本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Amazon BedrockでAmazon Titan Embeddingsを試してみる」を再編集したものです。
こんにちは、株式会社FIXERの村上です。
2023年9月28日、ついにAmazon Bedrock(AWS 生成系AIサービス)が一般提供になりました🎉
Amazon Bedrock が一般利用可能に – 基盤モデルを利用した生成系 AI アプリケーションの構築とスケール
今年の4月中旬に米国Amazonから発表があり、AWSパートナーなどの一部のIT企業でプライベートプレビューが開始されていました。それから5ヶ月余りの時を経て、一般利用提供(GA)として公開されました。
利用可能なAWSリージョン
2023年9月29日時点で、以下の4つのリージョンが利用可能です。
・バージニア北部(us-east-1)
・オハイオ(us-east-2)
・オレゴン(us-west-2)
・シンガポール(ap-southeast-1)
日本国内の東京リージョンや大阪リージョンはまだサポートされていません。バージニア北部とシンガポールを試してみましたが、バージニア北部の方が基盤モデルの申請が迅速に承認されたり、基盤モデルのバージョンがより新しい場合があり、現時点では開発や技術検証において、このバージニア北部の利用をお勧めします。
※2023/10/04 追記
・祝!Amazon Bedrock が東京リージョンに対応しました!
利用可能な基盤モデル
2023年9月29日時点で、以下の5つのAIモデルを利用できます。
・AI21 Labs Jurassic-2(J2)
・Amazon Titan
・Anthropic Claude
・Cohere
・Stability AI
利用するためには、リージョンごとで「Edit」から利用申請が必要です。
Amazon Bedrockの料金
1.モデルインファレンス料金:
・On Demand: 使用したモデルインファレンスに対して、利用した分だけの料金が発生します。時間ベースの契約は不要です。
・Provisioned Throughput: アプリケーションのパフォーマンス要件を満たすために、十分なスループットを提供するための時間ベースの契約があります。
2.カスタマイズ料金:
・Model customization (fine-tuning): カスタムモデルの作成や調整に関連する料金が発生します。
Titan Embeddings で埋め込みベクトルを生成してみた
本ブログのハンズオンではモデルID「amazon.titan-embed-text-v1」を利用して、埋め込みベクトルを生成してみます。
事前にいくつか環境設定が必要なので、紹介していきます。
1.環境設定
・AWSの認証情報をセットアップする
AWSアクセスキーとシークレットアクセスキーを取得します。
aws configure コマンド をターミナル等で実行します。
必要なパラメータは以下のとおりです。適宜、プロファイル名を調整します。
・ハンズオンで使用するGitHubリポジトリをクローンする
・Python 3バージョン系 をインストールする(pip もインストールください!)
本ブログでは、python@3.11/3.11.5 をインストールしています。
https://www.python.org/downloads/
・AWS SDK for Python(Boto3)をインストールする
本ブログでは、AWS SDK(Boto3)は 1.28.57 をインストールしています。1.28.57 以上のバージョンが必要です。
・言語モデルを利用したアプリケーションを開発するためのフレームワーク(LangChain)をインストールする
・「Titan Embeddings G1 - Text」の利用申請を行う
モデルアクセス の画面から「Titan Embeddings G1 - Text」をリクエストします。
「Edit」からTitan Embeddings G1 - Textを申請ください。
利用可能になると Access status が「Access granted」に更新されます。
2.いよいよ実践
・クローンしたリポジトリの直下にpythonファイルを配置します。コードは以下のとおりです。
本ブログでは bedrock_api_request.py というファイルを配置しました。
・実行してみました。
[0.015136719, -0.12890625, -0.17480469, -0.0859375, -0.390625, 0.052246094, ..., 0.109375]
と埋め込みベクトルが表示されました。
私は見てもよく分かりませんが、生成できたので良しとします。
さいごに
Amazon Bedrockが公開されたことで、国内の生成型AIをビジネスに取り入れるシーンが増加する可能性が高まっていますね!
今後来るであろうVPCエンドポイントへの対応をしてもらえれば、閉域網の実現ができて、今後が楽しみですね!!
■参考サイト
Amazon Bedrock API Reference
Amazon BedrockのAPIをPythonアプリから呼んでみよう。LangChainにも挑戦!
Amazon BedrockをBoto3から使ってみた
村上 滉樹/FIXER
株式会社FIXER|名古屋事業所 所属
2020年4月 新卒入社
職業:Cloud Solution Engineer(主にインフラ)
好きなAWS/Azureサービス:AWS Fargate / App Service
最近 Kubernetes 学び始めました。
この連載の記事
-
TECH
生成AIに感謝を伝えると回答精度が向上する? GaiXerで検証した -
TECH
生成AIアシスタントのAmazon QにS3のデータソースを連携する方法 -
TECH
LLMをローカルPCで動かし“話し相手”を作ってみた結果…… -
TECH
インスタグラムのエフェクトを「Meta Spark Studio」で自作してみた -
TECH
インスタエフェクト自作第二弾!“小顔デカ目効果”を作る -
TECH
RAGの基礎知識を得て“ゼロ円RAGシステム”を構築してみた -
TECH
Microsoft Fabricを触ってデータサイエンスに超入門してみた! -
TECH
LLM活用はチャットだけじゃない、自由記述文を共通フォーマットに落とし込む方法を学んだ -
TECH
Gemini 1.5 Proの特徴とは? Gemini API経由で試す -
TECH
Azure OpenAIの便利な「jsonモード」の使い方&制限事項 -
TECH
生成AIのClaude 3に本格的なコーディングをさせるプロンプトを作った - この連載の一覧へ