هذا نموذج لدفتر ملاحظات وتطبيق ويب يوضح كيفية استخدام Amazon Bedrock وTitan مع Neo4j. سوف نستكشف كيفية الاستفادة من الذكاء الاصطناعي التوليدي لبناء واستهلاك رسم بياني معرفي في Neo4j.
مجموعة البيانات التي نستخدمها مأخوذة من نظام EDGAR التابع لهيئة الأوراق المالية والبورصات. تم تنزيله باستخدام هذه البرامج النصية.
يتكون تدفق البيانات في هذا العرض التوضيحي من جزأين:
للبدء في إعداد العرض التوضيحي، انسخ هذا الريبو في بيئة SageMaker Studio ثم قم بتشغيله عبر دفاتر الملاحظات المرقمة 1 و2.
يتطلب هذا العرض التوضيحي مثيل Neo4j. يمكنك نشر ذلك باستخدام قائمة AWS Marketplace هنا.
يجب أن تتمتع هوية AWS التي تفترضها من بيئة الكمبيوتر الدفتري (وهو دور تنفيذ الاستوديو/الكمبيوتر الدفتري من SageMaker، أو يمكن أن يكون دورًا أو مستخدم IAM لأجهزة الكمبيوتر المحمولة المُدارة ذاتيًا)، بأذونات AWS IAM كافية للاتصال بخدمة Amazon Bedrock.
لمنح Bedrock حق الوصول إلى هويتك، يمكنك:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BedrockFullAccess",
"Effect": "Allow",
"Action": ["bedrock:*"],
"Resource": "*"
}
]
}
️ ملاحظة: باستخدام Amazon SageMaker، سيكون دور تنفيذ دفتر الملاحظات الخاص بك عادةً منفصلاً عن المستخدم أو الدور الذي تقوم بتسجيل الدخول به إلى وحدة تحكم AWS. إذا كنت ترغب في استكشاف وحدة تحكم AWS لـ Amazon Bedrock، فستحتاج إلى منح الأذونات لمستخدم/دور وحدة التحكم الخاصة بك أيضًا.
لمزيد من المعلومات حول الإجراء الدقيق وأذونات الموارد في Bedrock، راجع دليل مطور Bedrock.
يعتمد تطبيق واجهة المستخدم على Streamlit. سنعرض في هذا المثال كيفية تشغيله على جهاز افتراضي لمثيل AWS EC2 (EC2). أولاً، قم بنشر VM. يمكنك استخدام هذا الدليل لفصل جهاز Amazon Linux VM
سوف نستخدم AWS CLI. يتعين عليك اتباع هذه الخطوات لتكوين بيانات الاعتماد لاستخدام خيار CLI
قم بتسجيل الدخول باستخدام بيانات اعتماد AWS عبر aws
cli.
aws configure
بعد ذلك، قم بتسجيل الدخول إلى مثيل VM الجديد باستخدام AWS CLI:
export INSTANCE_ID=
aws ec2-instance-connect ssh --instance-id $INSTANCE_ID
سنقوم بتشغيل التطبيق على المنفذ 80. ويتطلب ذلك الوصول إلى الجذر، لذا أولاً:
sudo su
ستحتاج بعد ذلك إلى تثبيت git واستنساخ هذا الريبو:
yum install -y git
mkdir -p /app
cd /app
git clone https://github.com/neo4j-partners/neo4j-generative-ai-aws.git
cd neo4j-generative-ai-aws
لنقم بتثبيت python & pip أولاً:
yum install -y python
yum install -y pip
الآن، لنقم بإنشاء بيئة افتراضية لعزل بيئة بايثون الخاصة بنا وتنشيطها
yum install -y virtualenv
python3 -m venv /app/venv/genai
source /app/venv/genai/bin/activate
لتثبيت Streamlit والتبعيات الأخرى:
cd ui
pip install -r requirements.txt
تحقق مما إذا كان يمكن الوصول إلى أمر streamlit
من PATH عن طريق تشغيل هذا الأمر:
streamlit --version
إذا لم يكن الأمر كذلك، فأنت بحاجة إلى إضافة الثنائي streamlit
إلى متغير PATH كما هو موضح أدناه:
export PATH="/app/venv/genai/bin:$PATH"
بعد ذلك، ستحتاج إلى إنشاء ملف أسرار ليستخدمه التطبيق. افتح الملف وقم بتحريره:
cd streamlit
cd .streamlit
cp secrets.toml.example secrets.toml
vi secrets.toml
ستحتاج الآن إلى تعديل هذا الملف ليعكس بيانات الاعتماد الخاصة بك. يحتوي الملف على المتغيرات التالية:
SERVICE_NAME = "" #e.g. bedrock-runtime
REGION_NAME = "" #e.g. us-west-2
CYPHER_MODEL = "" #e.g. anthropic.claude-v2
ACCESS_KEY = "AWS ACCESS KEY" #provide the access key with bedrock access
SECRET_KEY = "AWS SECRET KEY" #provide the secret key with bedrock access
NEO4J_HOST = "" #NEO4J_AURA_DS_URL
NEO4J_PORT = "7687"
NEO4J_USER = "neo4j"
NEO4J_PASSWORD = "" #Neo4j password
NEO4J_DB = "neo4j"
الآن يمكننا تشغيل التطبيق بالأوامر:
cd ..
streamlit run Home.py --server.port=80
اختياريًا، يمكنك تشغيل التطبيق في جلسة شاشة أخرى لضمان استمرار تشغيل التطبيق حتى إذا قمت بقطع الاتصال بمثيل ec2:
screen -S run_app
cd ..
streamlit run Home.py --server.port=80
يمكنك استخدام Ctrl+a
d
للخروج من الشاشة مع استمرار تشغيل التطبيق والدخول مرة أخرى إلى الشاشة باستخدام screen -r
. لإيقاف جلسة الشاشة، استخدم screen -XS run_app quit
.
على VM للتشغيل على المنفذ 80:
بمجرد النشر، ستتمكن من رؤية لوحة التحكم وواجهة مستخدم الدردشة:
من خلال واجهة مستخدم الدردشة، يمكنك طرح أسئلة مثل: