Luthor هو نظام جيل (RAG) الذي تم تجهيزه للاسترجاع مصمم لمكاتب المحاماة لتمكين المحامين من "التحدث إلى بياناتهم" بكفاءة. يسمح هذا النظام للمهنيين القانونيين بتحميل المستندات (على سبيل المثال ، المذكرات) إلى قاعدة بيانات متجه مخزنة في Pinecone ثم الاستعلام عن هذه المعلومات لاحقًا باستخدام واجهة تشبه chatbot مصممة باستخدام SPEMANCLIT.
src/data_loader.py ): مقابض قراءة تنسيقات الملفات المختلفة.src/preprocessor.py ): إعداد النص للتضمين والتخزين.app.py ): واجهة STREMLIT لتحميل المستند والاستعلام.يتم نشر 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"
قم بالوصول إلى تطبيق Luthor من خلال اسم DNS الخاص بـ Application Load Balancer.
تحميل المستند :
الاستعلام :
جميع الحقوق محفوظة.
هذا الرمز وجميع الملفات المرتبطة هي الخاصية الحصرية لـ Renato Boemer. لا يجوز نسخ أي جزء من هذا الرمز ، بأي شكل من الأشكال أو بأي وسيلة ، أو إعادة إنتاجه أو تعديله أو تكييفه أو تخزينه في نظام استرجاع ، أو ينتقل دون إذن كتابي مسبق من Renato Boemer.