Skip to content

LLM Chat on AWS:AWS内に完結して動作するLLMチャットを構築します。

License

Notifications You must be signed in to change notification settings

moritalous/chat-ui

 
 

Repository files navigation

LLM Chat on AWS

AWS内に完結して動作するLLMチャットを構築します。

動作イメージ

続きはYouTubeで公開しています。

仕組み

Hugging Faceで公開されているLLMモデルをSageMakerにデプロイします。チャット画面はOSSで公開されているHuggingChatを使用します。

使用するLLMモデルはelyza/ELYZA-japanese-Llama-2-7b-fast-instructです。Llama2をベースに日本語能力を拡張するための追加学習がさてているとのことです。

アーキテクチャ

MongoDBはチャット履歴の保存に使用されるようです。DocumentDBの採用を検討しましたが、Partialインデックス機能がサポートされていないとのことで利用できませんでした。

また、HuggingChatの実装は、AWSの認証情報(アクセスキー、シークレットキー)をenvファイルに記述する方式となっていましたが、AWS SDKを使用するように一部修正しています。(コミット

デプロイ手順

AWS CloudShellで実行します。

  • ソースを取得
mkdir chatui
cd chatui
git clone https://github.com/moritalous/chat-ui.git
  • デプロイスクリプトを実行

スクリプト内でSageMakerエンドポイントの作成と、CDKでVPCとEC2の環境を構築します。EC2内の環境はユーザーデータにてセットアップが実施されます。

cd chat-ui/aws
sh ./deploy.sh

デプロイスクリプト(SageMakerの作成、CDKの実行)は約10分程度で完了します。CDKの完了後にユーザーデータが実行されます。ユーザーデータの完了までは5分ほどかかります。

環境が構築できたらhttp:https://[EC2パブリックドメイン]:80へアクセスすることでチャットを開始できます。

HTTPS化や認証機能は含まれていませんのでご注意ください。

廃棄手順

  • 削除スクリプトを実行
cd chat-ui/aws
sh ./destroy.sh

About

LLM Chat on AWS:AWS内に完結して動作するLLMチャットを構築します。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • TypeScript 48.4%
  • Svelte 45.0%
  • JavaScript 1.9%
  • Python 1.9%
  • HTML 1.3%
  • Shell 0.7%
  • Other 0.8%