luthor
1.0.0
Luthorは、弁護士が「データと話す」ことを可能にするために、法律事務所向けに設計された検索された世代(RAG)システムです。このシステムにより、法律専門家は、Pineconeに保存されているベクトルデータベースにドキュメント(メモなど)をアップロードし、その後、Riremlitで構築されたチャットボットのようなインターフェイスを使用してこの情報を照会することができます。
src/data_loader.py ):さまざまなファイル形式の読み取りを処理します。src/preprocessor.py ):埋め込みと保管のためにテキストを準備します。app.py ):ドキュメントのアップロードとクエリのためのストリームライトインターフェイス。Luthorは、コンテナ化されたアーキテクチャを使用してAWSに展開されます。
リポジトリをクローンします:
git clone https://github.com/boemer00/luthor.git
cd luthor
Docker画像を作成します:
docker build -t luthor .
画像をAmazon ECRに押します:
aws ecr get-login-password --region [your-region] | docker login --username AWS --password-stdin [your-account-id].dkr.ecr.[your-region].amazonaws.com
docker tag luthor:latest [your-account-id].dkr.ecr.[your-region].amazonaws.com/luthor:latest
docker push [your-account-id].dkr.ecr.[your-region].amazonaws.com/luthor:latest
AWS Secrets Managerのセットアップ:Openai_Api_key、Pinecone_Api_key、Pinecone_environmentの秘密を作成します。
ECSタスクの定義を展開します:
aws ecs register-task-definition --cli-input-json file://infrastructure/ecs-task-definition.json
ECSサービスを作成する:
aws ecs create-service --cluster [your-cluster-name] --service-name luthor-service --task-definition luthor-app --desired-count 1 --launch-type FARGATE --network-configuration "awsvpcConfiguration={subnets=[subnet-xxxxxxxx,subnet-yyyyyyyy],securityGroups=[sg-xxxxxxxxxxxxxxxx]}" --load-balancers "targetGroupArn=arn:aws:elasticloadbalancing:[region]:[account-id]:targetgroup/[target-group-name]/[target-group-id],containerName=luthor-app,containerPort=8501"
アプリケーションロードバランサーのDNS名を介してLuthorアプリケーションにアクセスします。
ドキュメントアップロード:
クエリ:
無断転載を禁じます。
このコードと関連するすべてのファイルは、Renato Boemerの独占的なプロパティです。このコードの一部は、いかなる形式でも、またはいかなる形式でも、Renato Boemerの事前の書面による許可なしに、コピー、複製、修正、適応、または検索システムに保存されることもありません。