generated from Sunwood-ai-labs/HarmonAI_II
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
133 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
import boto3 | ||
import json | ||
import pprint | ||
from termcolor import colored | ||
from art import * | ||
import os | ||
|
||
def main(): | ||
# スクリプト名を取得して出力 | ||
script_name = os.path.basename(__file__) | ||
tprint(script_name) | ||
|
||
# Bedrockクライアントの作成 | ||
region_name = "us-east-1" # 指定可能なリージョンはバージニア北部(us-east-1)またはオレゴン(us-west-2) | ||
bedrock = create_bedrock_client(region_name) | ||
|
||
# ファウンデーションモデルの一覧を取得して出力 | ||
foundation_models = get_foundation_models(bedrock) | ||
print_foundation_models(foundation_models) | ||
|
||
def create_bedrock_client(region_name): | ||
""" | ||
Bedrockクライアントを作成する関数 | ||
:param region_name: リージョン名 | ||
:return: Bedrockクライアント | ||
""" | ||
return boto3.client("bedrock", region_name=region_name) | ||
|
||
def get_foundation_models(bedrock): | ||
""" | ||
ファウンデーションモデルの一覧を取得する関数 | ||
:param bedrock: Bedrockクライアント | ||
:return: ファウンデーションモデルの一覧 | ||
""" | ||
return bedrock.list_foundation_models()["modelSummaries"] | ||
|
||
def print_foundation_models(foundation_models): | ||
""" | ||
ファウンデーションモデルの一覧を出力する関数 | ||
:param foundation_models: ファウンデーションモデルの一覧 | ||
""" | ||
pprint.pprint(foundation_models) | ||
|
||
if __name__ == "__main__": | ||
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
import boto3 | ||
import json | ||
|
||
# Bedrockクライアントを初期化する関数 | ||
def initialize_bedrock_client(region="us-west-2"): | ||
""" | ||
指定されたリージョンでBedrockクライアントを初期化します。 | ||
指定可能なリージョンはバージニア北部(us-east-1)またはオレゴン(us-west-2)です。 | ||
デフォルトリージョンで良い場合はリージョン指定省略可能です。 | ||
""" | ||
return boto3.client('bedrock-runtime', region_name=region) | ||
|
||
# Bedrockモデルにリクエストを送信する関数 | ||
def send_request_to_bedrock(client, model_id, message, max_tokens=1000): | ||
""" | ||
指定されたBedrockモデルにリクエストを送信し、応答を返します。 | ||
""" | ||
body = json.dumps( | ||
{ | ||
"anthropic_version": "bedrock-2023-05-31", | ||
"max_tokens": max_tokens, | ||
"messages": [ | ||
{ | ||
"role": "user", | ||
"content": message | ||
} | ||
] | ||
} | ||
) | ||
accept = 'application/json' | ||
content_type = 'application/json' | ||
response = client.invoke_model(body=body, modelId=model_id, accept=accept, contentType=content_type) | ||
response_body = json.loads(response.get('body').read()) | ||
return response_body["content"][0]["text"] | ||
|
||
# メインの処理 | ||
def main(): | ||
# Bedrockクライアントを初期化 | ||
bedrock_client = initialize_bedrock_client() | ||
|
||
# 使用するモデルIDを指定 | ||
model_id = 'anthropic.claude-3-haiku-20240307-v1:0' | ||
|
||
# モデルに送信するメッセージ | ||
message = "味噌汁の作り方を説明してください" | ||
|
||
# Bedrockモデルにリクエストを送信し、応答を取得 | ||
answer = send_request_to_bedrock(bedrock_client, model_id, message) | ||
|
||
# 応答を表示 | ||
print(answer) | ||
|
||
if __name__ == "__main__": | ||
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Examples | ||
|
||
このディレクトリには、MOA プロジェクトの使用例を示すサンプルスクリプトが含まれています。 | ||
|
||
## 01_list_bedrock_models.py | ||
|
||
このスクリプトは、AWS Bedrock で利用可能なファウンデーションモデルの一覧を取得して表示します。主な手順は以下の通りです。 | ||
|
||
1. Bedrock クライアントを作成 | ||
2. `list_foundation_models()` メソッドを使用してファウンデーションモデルの一覧を取得 | ||
3. 取得したファウンデーションモデルの一覧を表示 | ||
|
||
## 02_bedrock_text_generation.py | ||
|
||
このスクリプトは、AWS Bedrock のモデルを使用してテキスト生成を行う方法を示しています。主な手順は以下の通りです。 | ||
|
||
1. Bedrock クライアントを初期化 | ||
2. 使用するモデル ID を指定 | ||
3. モデルに送信するメッセージを設定 | ||
4. `invoke_model()` メソッドを使用してモデルにリクエストを送信し、応答を取得 | ||
5. 取得した応答を表示 | ||
|
||
これらのスクリプトを参考に、AWS Bedrock の機能を活用したアプリケーションを開発できます。 |