クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

Kendra HANDS-ON 参加レポート


はじめに

6/10(土)に開催された「JAWS-UG横浜 #58 Amazon Kendra HANDS-ON」を参加しました。

Kendraの基礎的説明をAWS関谷様から説明していただき、下記ブログ記事をベースに、streamlit + OpenAI & Kendra のアプリを作成するハンズオンでした。

https://aws.amazon.com/jp/blogs/news/quickly-build-high-accuracy-generative-ai-applications-on-enterprise-data-using-amazon-kendra-langchain-and-large-language-models/

イベントページ

https://jawsug-yokohama.connpass.com/event/279141/

kendra とは

kendra 、ML coreも含まれていて、セマンティック検索も行えて、$1,008/month(Enterprice edition)はコストパフォーマンスはいいのでは。

$810のDeveloper Edtion もあり

説明の資料は公開されないので、kendraについては詳しそう

ハンズオン

streamlintを利用して、便利なオープンソースのアプリフレームワークで、簡易なChatアプリを作れます。

LLMsとして、OpenAIを利用したので、Flan-T5-XL、Flan-T5-XXLのモデルをSageMaker Studio Jump Startからデプロイすることはなかったが、これらのモデルをデプロイするのに、ml.g5.2xlarge 、ml.g5.12xlargeを使うようで、これらのインスタンスタイプは、デフォルトは、Quota 0でデプロイできないので、Quota requestが必要。

OpenAIのFree Trial Userはたたけますが、三ヶ月経過した無料アカウントではAPIたたけなくなります。

https://help.openai.com/en/articles/4936830-what-happens-after-i-use-my-free-tokens-or-the-3-months-is-up-in-the-free-trial

本家のOpenAIを利用しますが、AzureOpenAIを使うのは、下記のように変更することで対応できます

openai.api_type = "azure"
openai.api_base = "https://xxxxxx.openai.azure.com/"
openai.api_version = "2023-03-15-preview"
openai.api_key = OPENAI_KEY

def generate_response(input_text):
  llm = AzureOpenAI(
    deployment_name="text-davinci-003",
    model_name="text-davinci-003", 
    openai_api_base=openai.api_base,
    openai_api_version=openai.api_version or "",
    openai_api_key=openai.api_key or "",
)

補足

SageMaker Studio domainの削除は、下記にはManagement consoleから削除できるようになっているが、削除する項目が見つからなかった。

AWS CLIでは削除するようになります。

https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-delete-domain.html

Kendra、Connectorで、S3、Google Driveなどのデータも検索対象にすることが可能。インデックス作成に多少時間がかかる

コメントは受け付けていません。